์ „์ฒด ๊ธ€

๐Ÿ‘ฉ‍๐Ÿ’ป java, mysql, android, php, javascript๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค
ํƒ€์ž…๋ณ„์นญ ํƒ€์ž… ๋ณ„์นญ์„ ์ด์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋“ฏ ํƒ€์ž…์„ ๋ณ„๋„๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. type ํƒ€์ž…_์ด๋ฆ„ = ํƒ€์ž… ํ˜•ํƒœ๋กœ ํƒ€์ž…์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. //ํƒ€์ž…๋ณ„์นญ type User = { id: number; name: string; nickname: string; birth: string; }; // ๊ฐ™์€ ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ๋Š” ์ค‘๋ณต์ •์˜ X function func(){ type User = { // ์ด ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ๋Š” User๋ฅผ ์ด๋Ÿฐ์‹์œผ๋กœ ์ •์˜, ๋ฐ–์—์„œ๋Š” ์ €๋Ÿฐ์‹์œผ๋กœ ์ •์˜ } } let user: User ={ id: 1, name: "์ •์ง€์‘", nickname:"Becky", birth: "1999.06.30", } let user2: User ={ id:2, name:"์ด๋™์›…", nickname: "์ด๋™๊ณฐ..
ํƒ€์ž… ์Šคํฌ๋ฆฝํŠธ๋Š” ์–ด๋–ป๊ฒŒ ์‹คํ–‰๋ ๊นŒ? ์ •๋ฆฌํ•˜์ž๋ฉด ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์ปดํŒŒ์ผ ๊ฒฐ๊ณผ ํƒ€์ž…๊ฒ€์‚ฌ๋ฅผ ๊ฑฐ์ณ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜๋˜๋Š”๋ฐ, ์ด๋•Œ ๋งŒ์•ฝ ์ฝ”๋“œ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ์ปดํŒŒ์ผ ๋„์ค‘ ์‹คํŒจํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ณด๋‹ค ๋” ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฏธ๋ฆฌ ํ•œ๋ฒˆ ์ฝ”๋“œ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค~ ๊ธฐ๋ณธํƒ€์ž… ๊ธฐ๋ณธํƒ€์ž…์ด๋ž€ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ž์ฒด์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ํƒ€์ž…๋“ค์„ ๋งํ•ฉ๋‹ˆ๋‹ค. (๋‚ด์žฅํƒ€์ž…) ๋‹ค์Œ ๊ทธ๋ฆผ์€ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ํƒ€์ž…๋“ค์„ ๊ณ„์ธต์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ํ•œ "ํƒ€์ž…๊ณ„์ธต๋„" ๊ทธ๋ฆผ์ž…๋‹ˆ๋‹ค ๊ทธ๋ฆผ์„ ์ž์„ธํžˆ ๋ณด๋ฉด null, undefined,number,string ์ฒ˜๋Ÿผ ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์•Œ๊ณ  ์žˆ๋Š” ํƒ€์ž…๋“ค๋„ ์กด์žฌํ•˜๊ณ  ๊ทธ ์™ธ์˜ any,void,never ๊ฐ™์€ ์ฒ˜์Œ๋ณด๋Š” ํƒ€์ž…๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฐ ํƒ€์ž…๋“ค์€ ์„œ๋กœ ๋ถ€๋ชจ, ์ž์‹ ๊ด€๊ณ„๋ฅผ ์ด๋ฃจ๋ฉด์„œ..
ํƒ€์ž…์‹œ์Šคํ…œ์ด๋ž€? ์–ธ์–ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์•„์ฃผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ฐ’๋“ค์„ ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ๋ฌถ์–ด์„œ ํƒ€์ž…์œผ๋กœ ์ •ํ• ์ง€ ๊ฒฐ์ •ํ•˜๊ณ ,๋˜ ์ฝ”๋“œ์˜ ํƒ€์ž…์„ ์–ธ์ œ ๊ฒ€์‚ฌํ• ์ง€ ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ป๊ฒŒ ๊ฒ€์‚ฌํ• ์ง€ ๋“ฑ ์šฐ๋ฆฌ๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํƒ€์ž…๊ณผ ๊ด€๋ จํ•˜์—ฌ ์ง€์ผœ์•ผ ํ•˜๋Š” ๊ทœ์น™๋“ค์„ ๋ชจ์•„๋‘” ์ฒด๊ณ„์ž…๋‹ˆ๋‹ค. ์ด ํƒ€์ž…์‹œ์Šคํ…œ์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ฒซ๋ฒˆ์งธ๋Š” ๋ชจ๋“  ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ๊ณ ์ •์ ์œผ๋กœ ๊ฒฐ์ •ํ•˜๋Š” ์ •์  ํƒ€์ž… ์‹œ์Šคํ…œ์ด์žˆ๊ณ , ๋‚˜๋จธ์ง€ ํ•˜๋‚˜๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์—๋Š” ํƒ€์ž…์„ ๊ฒฐ์ •ํ•˜์ง€ ์•Š๊ณ , ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋‚˜์„œ ๊ทธ๋•Œ๊ทธ๋•Œ ๋งˆ๋‹ค ์œ ๋™์ ์œผ๋กœ ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ๊ฒฐ์ •ํ•˜๋Š” ๋™์  ํƒ€์ž… ์‹œ์Šคํ…œ์ด ์žˆ์Šต๋‹ˆ๋‹ค ๋ณดํ†ต C ๋‚˜ Java ๊ฐ™์€ ์—„๊ฒฉํ•œ ๋ฌธ๋ฒ•์„ ๊ฐ€์ง„ ์–ธ์–ด๋“ค์€ ๋‹น์—ฐํžˆ ์—„๊ฒฉํ•œ ์ •์  ํƒ€์ž… ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ณ , ํŒŒ์ด์ฌ์ด๋‚˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ™์€ ์œ ์—ฐํ•œ ๋ฌธ๋ฒ•์„ ๊ฐ€์ง„ ์–ธ์–ด๋“ค์€ ๋™์  ํƒ€..
// ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น function solution(dot) { const [num,num2] = dot; const check = num * num2 > 0; return num > 0 ? (check ? 1 : 4) : (check ? 3 : 2); } function solution(num_list) { const [a, b] = [...num_list].reverse(); return [...num_list, a > b ? (a-b):a*2]; } //const [a, b]๋Š” [...num_list] ์˜ ์›์†Œ ์ค‘ ์ˆœ์„œ๋Œ€๋กœ a์™€ b์— ํ• ๋‹นํ•˜๋Š”๊ตฌ๋‚˜ // ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ• ๋•Œ {()=>{return A}} or (() => a) // {}๋ฅผ ์“ฐ๋ฉด ๋ฐ˜๋“œ์‹œ return ์„ ์จ์ค˜์•ผ ํ•˜๊ณ , ๋งŒ์•ฝ {}๋ฅผ ์“ฐ์ง€์•Š์œผ๋ฉด..
์ฝ”๋“œ์Šคํ…Œ์ด์ธ ์—์„œ ์†”๋กœํ”„๋กœ์ ํŠธ๋กœ ์‡ผํ•‘๋ชฐ์„ ๋งŒ๋“ค์—ˆ๋‹ค 8์ผ๋™์•ˆ ์ •๋ง ๊ณ ์ƒ์„ ๋งŽ์ด ํ–ˆ๋‹ค.. ์ฒ˜์Œ์— react-router๋ฅผ ์„ค์น˜ํ• ๋•Œ๋ถ€ํ„ฐ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ์œผ๋‹ˆ,,, ํ•œ๋งˆ๋””๋กœ ์ฒซ ํ”„๋กœ์ ํŠธ๋Š” ์˜ค๋ฅ˜ ๋ฒ”๋ฒ…์ด์—ˆ๋‹ค ๊ฐœ๋ฐœ์†๋„๋„ ๋Š๋ ธ์„ ๋ฟ๋”๋Ÿฌ, ๋ณด๊ธฐ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ๊ฒƒ๋„ ์•„๋‹ˆ์—ˆ๋‹ค. ๋ถ๋งˆํฌ state๋ฅผ ์ •์˜ํ•  ์ตœ์ƒ์œ„์ปดํฌ๋„ŒํŠธ๋ฅผ ์ž˜๋ชป์žก์•„์„œ, ์ค‘๊ฐ„์— ์•„์˜ˆ ์ปดํฌ๋„ŒํŠธ props ์—ฐ๊ฒฐ์„ ๊ฐˆ์•„์—Ž๊ธฐ๋„ ํ–ˆ๋‹ค.. (์•ž์œผ๋กœ ๊ผญ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋„๋ฅผ ์ž‘์„ฑํ•ด์•ผ์ง€!) ์šฐ์—ฌ๊ณก์ ˆ์ด ๋งŽ์•˜์ง€๋งŒ ์–ด์ฐŒ์ €์ฐŒ ๊ทธ๋ž˜๋„ ํ”„๋กœ์ ํŠธ๋ฅผ ์™„์„ฑํ–ˆ๋‹ค. ์ •๋ง ์น˜์—ดํ–ˆ๋˜, ๊ทธ๋ฆฌ๊ณ  ์–ด๋ ค์› ๋˜ 8์ผ์ด์—ˆ์ง€๋งŒ ๊ทธ๋งŒํผ ๋ฐฐ์šด๊ฒŒ ์ฐธ ๋งŽ๋‹ค. ๋ฌด์—‡์„ ๋ฐฐ์šฐ๊ณ  ๊นจ๋‹ฌ์•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์•ž์œผ๋กœ์˜ ๊ณต๋ถ€๋ฐฉํ–ฅ์€ ์–ด๋–ป๊ฒŒ ์žก๋Š”๊ฒŒ ์ข‹์„์ง€ ์ ์–ด๋ณด๊ฒ ๋‹ค ใ…Žใ…Ž ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ• 1. ์š”๊ตฌ์‚ฌํ•ญ๋“ค์„ ๋ฉ”๋ชจ์žฅ์— ์ ์€๋’ค, ํ•˜๋ฃจ๋™์•ˆ ๊ฐœ๋ฐœํ•  ๊ธฐ๋Šฅ์„ ์ ๋Š”๋‹ค 2...
ยท React
์ด๋ฒˆ๊ณผ์ œ๋Š”? ์ด๋ฒˆ ๊ณผ์ œ์—์„œ๋Š” Figma์—์„œ ๋””์ž์ธ๋œ ์ปดํฌ๋„ŒํŠธ๋ฅผ React ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด, Figma์—์„œ ์ถ”์ถœํ•œ ๋””์ž์ธ ํ† ํฐ๊ณผ Styled Components์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๊ด€๋œ ๋””์ž์ธ์„ ์œ ์ง€ํ•˜๊ณ , Storybook์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ๊ฐ์˜ ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•œ ๋ฌธ์„œํ™”๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ ํ†ตํ•ด ๋””์ž์ธ ์‹œ์Šคํ…œ ๊ตฌ์ถ• ๋ฐ ์ฝ”๋“œ๋กœ ๋””์ž์ธ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝํ—˜์„ ์Œ“์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์—…๋‚ด์šฉ์ด ๊ฑฐ์˜ ๋ฌธ์„œ๋กœ ์ง„ํ–‰๋˜์„œ ์ง„์งœ ์ดํ•ด๊ฐ€ ์•ˆ๋˜์—ˆ๋‹ค ใ…œ ํŽ˜์–ด๋ถ„์ด ์„ค๋ช…์„ ๋“ค์€ ๋’ค, ๋‚˜๋งŒ์˜ ์–ธ์–ด๋กœ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค! ํ”ผ๊ทธ๋งˆ์—์„œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ณด๊ณ , ๋‹ฌ๋ผ์ง€๋Š” ์š”์†Œ์— ๋Œ€ํ•œ ํ‚ค์™€ ๊ฐ’์„ ๊ณ ๋ฏผํ•œ๋‹ค ์ด๋•Œ hover ๊ธฐ๋Šฅ์ธ์ง€, active ๊ธฐ๋Šฅ์ธ์ง€์— ๋”ฐ๋ผ ์™ธํ˜•์  ๊ธฐ์ค€์ด ๋‹ฌ๋ผ์ง„๋‹ค (์ž˜ ๋ชจ๋ฅด๊ฒ ์œผ๋ฉด input.js ์™€ inputsories.js ๋ฅผ ..
ยท React
Custom Hooks ๊ฐœ๋ฐœ์ž๊ฐ€ ์Šค์Šค๋กœ ์ปค์Šคํ…€ํ•œ ํ›…์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค Custom Hooks์€ ์ฝ”๋“œ ์ƒ์— ๋ฐ˜๋ณต๋˜๋Š” ๋กœ์ง์„ ๋ฝ‘์•„๋‚ด์–ด ์žฌ์‚ฌ์šฉ ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค ์—ฌ๋Ÿฌ url์„ fetch ํ• ๋•Œ, ์—ฌ๋Ÿฌ input์— ์˜ํ•œ ์ƒํƒœ๋ณ€๊ฒฝ ๋“ฑ ๋ฐ˜๋ณต๋˜๋Š” ๋กœ์ง์„ ๋™์ผํ•œ ํ•จ์ˆ˜์—์„œ ์ž‘๋™ํ•˜๊ณ  ์‹ถ์„๋•Œ ์ปค์Šคํ…€ ํ›…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค (์ปค์Šคํ…€ ํ›…๋„ ์ผ์ข…์˜ ํ•จ์ˆ˜, ๋‹ค๋งŒ ์ผ๋ฐ˜ ํ•จ์ˆ˜์™€ ๋‹ค๋ฅธ ์ ์€ ์ปค์Šคํ…€ ํ›… ๋‚ด๋ถ€์—์„œ ๋‚ด์žฅ hook์„ ๋ถˆ๋Ÿฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ) ์•„๋ž˜์˜ ๋‘ ์ปดํฌ๋„ŒํŠธ๋Š” ๋™์ผํ•œ ๋กœ์ง์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค //FriendStatus : ์นœ๊ตฌ๊ฐ€ online์ธ์ง€ offline์ธ์ง€ returnํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ function FriendStatus(props) { // ๋™์ผ๋กœ์ง const [isOnline, setIsOnline] = useState(nul..
ยท React
React.lazy() ์™€ Suspense๋Š” ์ฝ”๋“œ๋ถ„ํ• ๊ณผ ์ง€์—ฐ๋œ ์ปดํฌ๋„ŒํŠธ ๋กœ๋”ฉ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ถ„ํ• ๊ณผ ์ง€์—ฐ๋œ ์ปดํฌ๋„ŒํŠธ ๋กœ๋”ฉ์€ ์ดˆ๊ธฐ์‹œ๊ฐ„์ด ๊ฐ์†Œ, ์„ฑ๋Šฅํ–ฅ์ƒ ๋“ฑ์˜ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ถ„ํ• ์€ ๋ฌด์—‡์ผ๊นŒ? React์—์„œ ์ฝ”๋“œ ๋ถ„ํ• ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ dynamic import(๋™์  ๋ถˆ๋Ÿฌ์˜ค๊ธฐ)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. React ์—์„œ์˜ ์ฝ”๋“œ๋ถ„ํ•  form.addEventListener("submit", e => { e.preventDefault(); /* ๋™์  ๋ถˆ๋Ÿฌ์˜ค๊ธฐ๋Š” ์ด๋Ÿฐ ์‹์œผ๋กœ ์ฝ”๋“œ์˜ ์ค‘๊ฐ„์— ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. */ import('library.moduleA') .then(module => module.default) .then(someFunction()) .catch(handleError()); }..
becky(์ง€์€)
Know yourself, follow your passion