Tiny Bunny
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’กLanguage64

[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ async ์™€ await (ft. ๋น„๋™๊ธฐ์ฒ˜๋ฆฌ) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ async์™€ await ; ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ๋” ์‰ฝ๊ฒŒ ! ๋น„๋™๊ธฐ ์ž‘์—…์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. promise ๊ฐœ๋…๊ณผ ๋”๋ถˆ์–ด async์™€ await ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋น„๋™๊ธฐ ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ณ  ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. 1. async ํ‚ค์›Œ๋“œ๋ž€?async๋Š” ํ•จ์ˆ˜๋ฅผ ๋น„๋™๊ธฐ ํ•จ์ˆ˜๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค.async๋ฅผ ํ•จ์ˆ˜ ์•ž์— ๋ถ™์ด๋ฉด, ํ•ด๋‹น ํ•จ์ˆ˜๋Š” ํ•ญ์ƒ Promise๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.๋ฐ˜ํ™˜๊ฐ’์ด Promise๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ์ž๋™์œผ๋กœ Promise๋กœ ๊ฐ์‹ธ์„œ ๋ฐ˜ํ™˜๋œ๋‹ค.async function getData() { return { name: "David", id: "d0228", };}console.log(getData()); ์œ„ ์ฝ”๋“œ์˜getDa.. 2025. 4. 29.
[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ์™€ Promise ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ์™€ Promise ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์™€ Promise์— ๋Œ€ํ•ด ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•ด๋ณด์ž!1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ; ์ฝœ๋ฐฑ ํ•จ์ˆ˜(Callback)์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ๋กœ ์ž‘๋™ํ•œ๋‹ค.๊ทธ๋ž˜์„œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…(์˜ˆ: ์„œ๋ฒ„ ์š”์ฒญ, ํŒŒ์ผ ์ฝ๊ธฐ ๋“ฑ)์„ ๊ทธ๋ƒฅ ์‹คํ–‰ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉˆ์ถฐ๋ฒ„๋ฆด ์ˆ˜ ์žˆ๋‹ค.์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ๋“ฑ์žฅํ–ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ ์ฝœ๋ฐฑ ํ•จ์ˆ˜// ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ, ๋น„๋™๊ธฐํ•จ์ˆ˜ ์•ˆ์—์„œ ์ฝœ๋ฐฑ์„ ํ˜ธ์ถœfunction add(a, b, callback) { setTimeout(() => { const sum = a + b; callback(sum); }, 3000);}add(1, 2, (value) .. 2025. 4. 26.
[JS] ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€(LocalStorage) / JSON - Object ํƒ€์ž… ๋ณ€ํ™˜ ๋ชฉ์ฐจ1. localStorage2. localStorage์™€ JSON    1. ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€ ๊ฐœ๋…  localStorage๋ž€ ํฌ๋กฌ๊ณผ ๊ฐ™์€ ์›น ๋ธŒ๋ผ์šฐ์ €์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.์ฆ‰ ์›น ์ƒ์— ์šฐ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๐Ÿ’ก  ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ์•„๋„ ์ €์žฅ๋˜์—ˆ๋˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ„์†ํ•ด์„œ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ณดํ†ต์€ ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ์ •๋ณด๋‚˜ ์„ค์ • ๋“ฑ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š”๋ฐ,Key- Value ๊ฐ’์˜ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.localStorage.setItem("ํ‚ค", "๊ฐ’"); ํ‚ค์—๋Š” ๋‚ด๊ฐ€ ์ €์žฅํ•˜๊ณ  ์‹ถ์€ DB ๋คํƒฑ์ด์— ์ด๋ฆ„์„ ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๊ณ , ๊ฐ ๊ฐ’์€ ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ์˜๋ฏธํ•œ๋‹ค.   ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ local Storage ๊ฐ’ ํ™•์ธํ•˜๊ธฐํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ localStorage๋ฅผ ํ™•์ธํ•˜.. 2025. 3. 7.
[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด Jsonํƒ€์ž… ๋ณ€ํ™˜, ajax๋ฅผ ํ†ตํ•ด controller์— ๋„˜๊ธฐ๊ธฐ ์‡ผํ•‘๋ชฐ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉฐ,๊ฐ๊ฐ ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ์ œํ’ˆ์„ ํ™”๋ฉด์— ๋„์›Œ์ฃผ๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด ๋ฐฐ์—ด์— ๋‹ด์•˜๋‹ค. ์ด ๋ฐฐ์—ด์„ Jsonํƒ€์ž…์œผ๋กœ ๋ฐ”๊ฟ”์„œ ajax๋ฅผ ์ด์šฉํ•ด ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. โ˜บ๏ธ  1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด์— ๋‹ด๊ธฐ ๋จผ์ € ์ƒํ’ˆ๋ช…, ์ˆ˜๋Ÿ‰, ๊ฐ€๊ฒฉ / ์กฐ๋ฆฝ์—ฌ๋ถ€, ์กฐ๋ฆฝ๊ฐ€๊ฒฉ, ์ˆ˜๋Ÿ‰/ ๊ฒฌ์  ์ด๋ฆ„ ์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด์— ๋‹ด์•„์•ผํ–ˆ๋‹ค.๋‹ด๊ธฐ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด addToCart()๋ฅผ ํ†ตํ•ด productName๊ณผ productPrice๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  active๋œ component์˜ ์ด๋ฆ„์„ ๋ฐฐ์—ด Name์œผ๋กœ ์ง€์ •ํ•œ ํ›„,  currentCart[componentName] = {             name: productName,             price: parseInt(productPric.. 2025. 1. 5.
[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ์ž์—ด ๊ณต๋ฐฑ ์ œ๊ฑฐํ•˜๊ธฐ - trim() , replace() ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฌธ์ž์—ด ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์€ ๋‘ ๊ฐ€์ง€ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ œ๊ฑฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.  1. replace()var a = "๊ฐ€ ๋‚˜ ๋‹ค ๋ผ ๋งˆ ๋ฐ” ์‚ฌ "a.replace(" ","")//"๊ฐ€๋‚˜ ๋‹ค ๋ผ ๋งˆ ๋ฐ” ์‚ฌ "a.replace(/ /g,"")//"๊ฐ€๋‚˜๋‹ค๋ผ๋งˆ๋ฐ”์‚ฌ" replace๋Š” ๋ฌธ์ž๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์ด๊ธฐ์— ์‚ฌ์‹ค ๊ณต๋ฐฑ์ด ์•„๋‹ˆ์–ด๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.   2. trim()var a = " ์•ˆ ๋…• ํ•˜ ์„ธ ์š” "a.trim()//"์•ˆ๋…•ํ•˜์„ธ์š”" trim์€ ์œ„์™€๊ฐ™์ด ์•ž๊ณผ ๋’ค์ชฝ์˜ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•˜์—ฌ ์ค€๋‹ค. 2025. 1. 4.
[c++] replace() ํ•จ์ˆ˜, find() ํ•จ์ˆ˜ / ๋ฌธ์ž์—ด ์ฐพ๊ธฐ 1. size_tint ํ˜•: -21e8 ~ 21e8 ์ •์ˆ˜  size_t ํ˜• : unsigned int  ๋Š” '0์„ ํฌํ•จํ•œ ์–‘์˜ ์ •์ˆ˜'๋‹ค.: ์ปดํ“จํ„ฐ ์‚ฌ์–‘์— ๋”ฐ๋ผ uint32_t๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๊ณ , uint64_t๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๋‹ค. ex)uint32_t u32t;  ๋Š” 32๋น„ํŠธ์˜ 0์„ ํฌํ•จํ•œ ์–‘์˜ ์ •์ˆ˜unit64_t u64t; ๋Š” 64๋น„ํŠธ์˜ 0์„ ํฌํ•จํ•œ ์–‘์˜ ์ •์ˆ˜  string::npos: size_t์˜ underflow ๊ฐ’ -> ์“ฐ๋ ˆ๊ธฐ๊ฐ’   2. find() ํ•จ์ˆ˜C++ string ๋ณ€์ˆ˜์—์„œ ํŠน์ • ๋ฌธ์ž์—ด์„ ์ฐพ์„ ๋•Œ, std::string์˜ find() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.  #include #include using namespace std;int main(){ string s = "Enter ui1234 .. 2024. 11. 27.
[JAVA] ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ - indexOf() , substring(), split() 1. indexOf()String finds = "abc-def"int idx = finds.indexOf("-"); // ์ธ๋ฑ์Šค๊ฐ’ 3 2. substring()String finds = "abc-def";String ans = finds.substring(0,3); //abcString ans2 = finds.substring(4); //def3. split() : ์ง€์ •ํ•œ ๋ฌธ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.String finds = "2021/4/13"; // '/'๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ž๋ฅธ๋‹ค. String date[] = birthday.split("/"); for(int i=0 ; i 2024. 10. 21.
[JAVA] Char ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ char๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•String.valueOf(charrArr)-> java.lang.String ํด๋ž˜์Šค์˜ valueOf() ๋ฉ”์„œ๋“œ๋Š” char ๋ฐฐ์—ด์„ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›์•„์„œ String์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฆฌํ„ดํ•จ.char a = '์•ˆ';char b = '๋…•';String test = String.valueOf(a) + String.valueOf(b);System.out.println(test); // ์•ˆ๋…• Character ํด๋ž˜์Šค์˜ toString()-> Character ํด๋ž˜์Šค์˜ toString() ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด์„œ Char๋ฅผ String์œผ๋กœ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Œ.char a = '์•ˆ';char b = '๋…•';String test = Character.toString(a) + Character.toString.. 2024. 10. 17.
[JAVA] ๋ฌธ์ž์—ด ๊ธธ์ด ์ •๋ ฌ Comparator ์„ ์‚ฌ์šฉํ•œ๋‹ค.์ด๋Š” ์ธํ„ฐํŽ˜์ด์Šค(interface)๋กœ, ์ธํ„ฐํŽ˜์ด์Šค ๋‚ด์— ๋ฐ˜๋“œ์‹œ ์„ ์–ธ๋œ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•ด์•ผํ•œ๋‹ค! @Override   //์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ Arrays.sort(str, new Comparator() { @Override public int compare(String s1, String s2) { return s1.length()-s2.length(); } }); for(int i=0;i() { @Override public int compare(String s1, String s2) { return s2.length()-s1.length(); } }); for(int i=0;i 2024. 10. 16.
[JAVA] ๋ฒกํ„ฐ(vector) · ๋ฉ”์„œ๋“œ ์ •๋ฆฌ ๋ชฉ์ฐจ1. Vector2. Vector ์‚ฌ์šฉํ•˜๊ธฐadd()offer()remove()clear()removeAllElements()size()capacity() 1. VectorArrayList์™€ ๊ฐ™์ด List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ.์‚ฌ์šฉ๋ฒ•์€ ArrayList์™€ ์œ ์‚ฌํ•˜๋‹ค.   2. Vector ์‚ฌ์šฉํ•˜๊ธฐ ์„ ์–ธ  Vector ๋ณ€์ˆ˜๋ช… = new Vector();  ใ„ด ์œ„ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ž๋ฃŒํ˜•์— ๋„ฃ์€ ์ž๋ฃŒํ˜•๋งŒ ์‚ฝ์ž…, ์‚ญ์ œ ๊ฐ€๋Šฅ Vector ๋ณ€์ˆ˜๋ช… = new Vector(10);ใ„ด ์ดˆ๊ธฐ ํฌ๊ธฐ ์ง€์ • '10' ์‚ฌ์ด์ฆˆ๋กœ!  Vector v1  = new Vector(Arrays.asList(1,2,3));ใ„ด ์ดˆ๊ธฐ ๊ฐ’ ์ง€์ •      ๋ฉ”์†Œ๋“œ ์ •๋ฆฌ add( ) - ์š”์†Œ ์ถ”๊ฐ€c++์˜ insert Vector vec.. 2024. 10. 14.
[JAVA] ํ(Queue) · ๋ฉ”์„œ๋“œ ์ •๋ฆฌ ๋ชฉ์ฐจ1. Queue2. Queue ์‚ฌ์šฉํ•˜๊ธฐadd()offer()remove()poll()element()peek()clear()contains()isEmpty()   1. Queue (ํ)- ํ(Queue)๋Š”  ๊ฐ€์žฅ ๋จผ์ € ๋„ฃ์€ ์š”์†Œ๊ฐ€ ๊ฐ€์žฅ ์ฒ˜์Œ ๋‚˜์˜ค๋Š” ๊ตฌ์กฐ๋‹ค. ( ์„ ์ž…์„ ์ถœ , FIFO )    2. Queue ์‚ฌ์šฉํ•˜๊ธฐ ๋จผ์ € ์ž๋ฐ”์—์„œQueue๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„ ,import java.util.Queue;import java.util.LinkedList;์„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์„ ์–ธ  Queue ๋ณ€์ˆ˜๋ช… = new LinkedList();  ใ„ด ์œ„ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ž๋ฃŒํ˜•์— ๋„ฃ์€ ์ž๋ฃŒํ˜•๋งŒ ์‚ฝ์ž…, ์‚ญ์ œ ๊ฐ€๋ŠฅQueue ๋ณ€์ˆ˜๋ช… = new LinkedList();  ใ„ด ์œ„ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์–ด๋–ค ์ž๋ฃŒํ˜•์ด๋“  ์‚ฝ์ž…, ์‚ญ์ œ ๊ฐ€๋Šฅ(์ด์ „์— .. 2024. 10. 14.
[JAVA] ์Šคํƒ (Stack) · ๋ฉ”์„œ๋“œ ์ •๋ฆฌ ๋ชฉ์ฐจ1. Stack2. Stack ์‚ฌ์šฉํ•˜๊ธฐpush()pop()remove()peek()isEmpty()empty()search()size()set()elementAtclear()        1. Stack (์Šคํƒ)  - ์Šคํƒ์€ ๋งˆ์ง€๋ง‰์— ๋„ฃ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ๊บผ๋‚ธ๋‹ค. (ํ›„์ž…์„ ์ถœ. LIFO)* ์ฐธ๊ณ ๋กœ Queue(ํ)๋Š” ์„ ์ž…์„ ์ถœ(FIFO) - ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ (JVM)์€ ์Šค์Šค๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ•˜๋Š”๋ฐ, ์ด๋•Œ Stack์€ ๋งˆ์ง€๋ง‰์œผ๋กœ ์‚ฌ์šฉ์ด ๋๋‚œ ์ง€์—ญ๋ณ€์ˆ˜๋ฅผ ๋ฐ”๋กœ ์ณ๋‚ด๋ฒ„๋ฆฌ๋ฏ€๋กœ, ๋งค์šฐ ํšจ์œจ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.๋˜, ์ž๋ฐ”์˜ Stack ํด๋ž˜์Šค๋Š” Vector ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค! ๋”ฐ๋ผ์„œ Thread-safe ํŠน์ง•์„ ๊ฐ–๋Š”๋‹ค๊ณ  ํ•œ๋‹ค.     2. Stack ์‚ฌ์šฉํ•˜๊ธฐ ๋จผ์ € ์ž๋ฐ”์—์„œ Stack์„ ์‚ฌ์šฉํ•˜๊ธฐ.. 2024. 10. 14.

TOP

Designed by ํ‹ฐ์Šคํ† ๋ฆฌ