๐ฉ๐ปProgramming70 [๋คํธ์ํฌ] RESTful API RESTful API (Representational State Transfer API) : ์น ์๋น์ค๋ฅผ ์ํ ์ํคํ ์ฒ ์คํ์ผ. HTTP ์์ฒญ์ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค์ ์ก์ธ์คํ๊ณ ์กฐ์ํ๋ ๋ฐฉ๋ฒ์ ์ ์ํจ API (Application Programming Interface) : ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ์ ์ง์ ๋ ํ์์ผ๋ก ์์ฒญ๊ณผ ์๋ต์ ํ ์ ์๋๋ก ์ฐ๊ฒฐํ๋ ๊ฒ Interface : ์ฌ๋๊ณผ ์ฌ๋, ์ฌ๋๊ณผ ์ฌ๋ฌผ ๋๋ ๊ธฐ๊ธฐ๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฒ URI (Uniform Resource Identifier) - URI๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค๋ฅผ ์๋ณ. HTTP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ .Json์ ์ฃผ๋ก ์ฌ์ฉํจ. HTTP ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ Create, Read, Update, Delete๋ฅผ ์ ์ฉ GET ๋ฉ์๋๋ ๋ฆฌ์์ค๋ฅผ ์กฐํ. POST ๋ฉ์๋๋ ๋ฆฌ์์ค.. ๐ฉ๐ปProgramming 2023. 7. 18. [์ํํธ์จ์ด ์ค๊ณ] ๋ชจ๋ํ Modularity ๋ชจ๋ : ์ ์ฒด ํ๋ก๊ทธ๋จ์์ ์ด๋ ํ ๊ธฐ๋ฅ์ ์ํํ ์ ์๋ ์คํ ์ฝ๋ ๋ชจ๋์ฑ : ์์คํ ์ ๊ณ์ธต์ ๋๋๊ณ ๊ธฐ๋ฅ๋ณ๋ก ๋ถํดํ์ฌ ์ํํธ์จ์ด์ ์ฑ๋ฅ, ์ ์ง๋ณด์์ฑ, ์ฌ์ฌ์ฉ์ฑ ๋ฑ์ ํฅ์ ์ํด ๋ชจ๋๊ฐ์ ๊ฒฐํฉ๋๋ ์ฝํ๊ฒ, ์์ง๋๋ ๋๊ฒ ์ค๊ณํด์ผํจ ์ถ์ํ - ๋ณต์กํ ๊ฐ๋ ์ ๋จ์ํ๊ฒ ํํ ๋ถํ ๊ณผ ์ง๋ฐฐ - ๋ชจ๋์ ๊ธฐ๋ฅ์ ๋จ์ํ๊ฒ ๋ถ๋ฆฌํ๊ณ ๊ฐ ๊ธฐ๋ฅ์ด ๋ค๋ฅธ ๋ชจ๋์ ์์กดํ์ง ์๋๋ก ํจ ์ ๋ณด ์ํ - ๋ชจ๋ ๋ด๋ถ ๊ตฌํ์ ์ธ๋ถ์์ ๋ณด์ด์ง ์๊ฒ ํจ. ๋ชจ๋์ ๋ณ๊ฒฝ์ด ๋ค๋ฅธ ๋ชจ๋์ ๋ฏธ์น๋ ์ํฅ์ ์ค์ ๐ฉ๐ปProgramming 2023. 7. 18. JavaScript vs C#: ๊ฐ์ฒด ์งํฅ ์ธ์ด ๋น๊ต JavaScript vs C#: ๊ฐ์ฒด ์งํฅ ์ธ์ด ๋น๊ต JavaScript์ C#์ ๋ชจ๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ฉฐ, ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ์ ํจ์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ ์ธ์ด๋ ๋ช ๊ฐ์ง ์ค์ํ ์ฐจ์ด์ ์ด ์์ต๋๋ค. ๋์ ์ธ์ด vs ์ ์ ์ธ์ด JavaScript๋ ๋์ ์ธ์ด์ด๊ณ C#์ ์ ์ ์ธ์ด์ ๋๋ค. ์ฆ, JavaScript๋ ๋ณ์์ ๊ฐ์ ์คํ ์ค์ ๋์ ์ผ๋ก ๊ฒฐ์ ํ ์ ์์ง๋ง C#์ ๋ณ์์ ๊ฐ์ ์ปดํ์ผ ํ์์ ๊ฒฐ์ ํด์ผํฉ๋๋ค. ์ด๋ก ์ธํด JavaScript๋ C#๋ณด๋ค ๋ ์ ์ฐํ๊ณ ์ฌ์ฉํ๊ธฐ ์ฝ์ง๋ง, C#์ JavaScript๋ณด๋ค ์๋๊ฐ ๋ ๋น ๋ฆ ๋๋ค. ๊ฐ์ฒด ์งํฅ ๊ธฐ๋ฅ JavaScript๋ C#๋ณด๋ค ๋ ๋ง์ ๊ฐ์ฒด ์งํฅ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด, JavaScript๋ ํด๋์ค, ์์, ๋ค์ค ์์์ ์ง์ํ์ง.. ๐ฉ๐ปProgramming 2023. 5. 29. A* ๊ธธ์ฐพ๊ธฐ ์๊ณ ๋ฆฌ์ฆ ์ดํดํ๊ธฐ A* ๊ธธ์ฐพ๊ธฐ ์๊ณ ๋ฆฌ์ฆ ์ดํดํ๊ธฐ ์ด ๊ธ์์๋ A* ๊ธธ์ฐพ๊ธฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์์๋ณด๊ณ , ์ด ์๊ณ ๋ฆฌ์ฆ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง์ ๋ํ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ค๋ช ํ๋ ค๊ณ ํฉ๋๋ค. A* ์๊ณ ๋ฆฌ์ฆ A* ์๊ณ ๋ฆฌ์ฆ์ ๊ทธ๋ํ ํ์ ์๊ณ ๋ฆฌ์ฆ์ ํ ์ข ๋ฅ๋ก, ์์ ์ง์ ๋ถํฐ ๋ชฉ์ ์ง๊น์ง ๊ฐ๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ํจ์จ์ ์ธ ๊ฒฝ๋ก ํ์์ ์ํด ํด๋ฆฌ์คํฑ ์ถ์ ์ ์ฌ์ฉํ๋ฉฐ, ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๋ณด์ฅํฉ๋๋ค. ์๋ ์๋ฆฌ A* ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ์ ๋จ๊ณ๋ก ์๋ํฉ๋๋ค: ์์ ๋ ธ๋๋ฅผ ์ ํํ๊ณ , ์์ ๋ ธ๋๋ก๋ถํฐ์ ์์ ๋น์ฉ๊ณผ ์ค์ ๋น์ฉ์ ๊ณ์ฐํฉ๋๋ค. ์์ ๋ ธ๋๋ฅผ ์คํ ๋ฆฌ์คํธ์ ์ถ๊ฐํฉ๋๋ค. ์คํ ๋ฆฌ์คํธ์์ ๋น์ฉ์ด ๊ฐ์ฅ ์์ ๋ ธ๋๋ฅผ ์ ํํฉ๋๋ค. ์ ํ๋ ๋ ธ๋๋ฅผ ๋ซํ ๋ฆฌ์คํธ๋ก ์ด๋ํฉ๋๋ค. ์ ํ๋ ๋ ธ๋์ ์ธ์ ํ ๋ ธ๋๋ค์ ๋ํด ์์ ๋น์ฉ๊ณผ ์ค์ ๋น์ฉ์ ๊ณ.. ๐ฉ๐ปProgramming 2023. 5. 22. [js] ๋ณ์์ ๋์ฐ๋ณ์ด ๋ณ์ ์ ์ธ: var, let, const - ์๋ฐ์คํฌ๋ฆฝํธ์์์ ๊ธฐ๋ณธ ๊ฐ๋ ๋ณ์ ์ ์ธ์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ์ค ํ๋์ ๋๋ค. ์ด ๊ธ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ณ์๋ฅผ ์ ์ธํ๋ ๋ฐ ์ฌ์ฉ๋๋ var, let, const ์ธ ๊ฐ์ง ํค์๋์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๊ฐ ํค์๋์ ์๋ ๋ฐฉ์, ์ฅ๋จ์ , ๊ทธ๋ฆฌ๊ณ ๋ณ์ ์ ์ธ ์ ์ฃผ์์ฌํญ์ ๋ํด ์์ธํ ์์๋ณด์ธ์. var ํค์๋ var ํค์๋๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๊ฐ์ฅ ์ค๋๋ ๋ณ์ ์ ์ธ ํค์๋์ ๋๋ค. var ํค์๋๋ ํจ์ ๋ฒ์๋ฅผ ๊ฐ์ง๋ฉฐ, ์ด๋์์๋ ์ ์ธํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ var ํค์๋๋ ๋ช ๊ฐ์ง ๋จ์ ์ด ์์ต๋๋ค. ๋ณ์๊ฐ ์ ์ธ๋๊ธฐ ์ ์ ์ฐธ์กฐํด๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์์ผ๋ฉฐ, ๋ธ๋ก ๋ฒ์๊ฐ ์๊ณ ํจ์ ๋ด์์ ์ฌ๋ฌ ๋ฒ ์ ์ธํ ์ ์์ต๋๋ค. let ํค์๋ let ํค์๋๋ ES6์.. ๐ฉ๐ปProgramming/JavaScript 2023. 5. 22. [JS] ์ฝ๋ ์์ฑ tips https://yozm.wishket.com/magazine/detail/1836/ ๋์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ฑ ์ต๊ด๊ณผ ์๋ณํ๊ธฐ | ์์ฆIT ๋ฉ์ง ํ๋ก๊ทธ๋๋ฐ์ ์ธ๊ณ๋ก ์ฒซ๊ฑธ์์ ๋ด๋๋ ๋, ์ฐ๋ฆฌ๊ฐ ํ๋ ์ผ์ด ์๋ฐฑ๋ง ๋ช ์ ์ฌ๋๋ค์๊ฒ ์ด๋ค ์ํฅ์ ์ฃผ๋์ง ์ง์ ํ์ธํ๊ฒ ๋ฉ๋๋ค. ํ๋ก๊ทธ๋๋ฐ ๋๋ถ์ ๋ง์ ์ฌ๋๋ค์ ์ผ์ด ๋จ์ง ๋ช ๊ฐ์ ํค yozm.wishket.com 1. var ๋์ let, const๋ฅผ ์ฌ์ฉํ ๊ฒ * ๋ฒ์๊ฐ ๋ถ๋ช ํด์ง * ์ ์ญ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์์ * ๋์ผ ๋ณ์๋ช ์ ๋ค์ ์ ์ธํ ๋ ์ค๋ฅ๋ฅผ ํ์ํจ 2. ์ฃผ์์ ๋งฅ๋ฝ์ ์ค๋ช ํด์ผ ํ๋ค * ์๊ฒฌ ์ค๋ณตํ์ง ์๊ธฐ. ๋ฌด์จ ์ผ์ ํ๋์ง๊ฐ ์๋ ์ ํ๋์ง ์์ฑํ๋ผ * ํจ์ / ๋ณ์ / ํด๋์ค ์ด๋ฆ์ผ๋ก ์ค๋ช ํ๋ ๊ฒ์ด ์ฅํฉํ ์ฃผ์๋ณด๋ค ๋ซ๋ค * ์ต๋ํ ๋ง์ด ์์ฝํ๊ณ ๋ฌธ๋จ ๋จ์.. ๐ฉ๐ปProgramming/JavaScript 2023. 2. 4. [C#][Programmers] ์ธ๋ฑ์ค ๋ฐ๊พธ๊ธฐ using System; using System.Linq; public class Solution { public string solution(string my_string, int num1, int num2) { string answer = String.Concat(my_string.Where((_,x) => x != num1 && x != num2)); answer =answer.Insert(num1, my_string[num2].ToString()); answer =answer.Insert(num2, my_string[num1].ToString()); return answer; } } ์ด๊ฑฐ ๋จธ์ง using System; using System.Linq; public class Solution { p.. ๐ฉ๐ปProgramming/Coding Test 2022. 12. 25. [C#]Linq - Distinct https://learn.microsoft.com/ko-kr/dotnet/api/system.linq.enumerable.distinct?view=net-7.0 Enumerable.Distinct ๋ฉ์๋ (System.Linq) ์ํ์ค์ ๊ณ ์ ์์๋ฅผ ๋ฐํํฉ๋๋ค. learn.microsoft.com ๊ธฐ๋ณธ ๊ฐ์ ๋น๊ต์๋ก ๊ฐ์ ๋น๊ตํ์ฌ ์ํ์ค์์ ๊ณ ์ ์์๋ฅผ ๋ฐํํฉ๋๋ค. ์์ List ages = new List { 21, 46, 46, 55, 17, 21, 55, 55 }; IEnumerable distinctAges = ages.Distinct(); Console.WriteLine("Distinct ages:"); foreach (int age in distinctAges) { Console.WriteLi.. ๐ฉ๐ปProgramming/C# 2022. 12. 25. [C#] LINQ LINQ (Language-Integrated Query) ์ปฌ๋ ์ ํํ์ ๋ฐ์ดํฐ์ ํํฐ๋ง, ์ ๋ ฌ์ ๊ฐ๋ฅํ๊ฒ ํจ from : ์ด๋ค ๋ฐ์ดํฐ์์ ์ฐพ์ ๊ฒ์ธ๊ฐ where : ์ด๋ค ์กฐ๊ฑด์ผ๋ก ์ฐพ์ ๊ฒ์ธ๊ฐ OrderBy : ์ด๋ค ํญ๋ชฉ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ๊ฒ์ธ๊ฐ (๊ธฐ๋ณธ ์ค๋ฆ์ฐจ์) //๋ฌธ์์ด ์๋ฌธ์๋ก ๋ฐ๊พธ๊ณ ์ค๋ฆ์ฐจ์ return new String(my_string.ToLower().ToCharArray().OrderBy(x=>x).ToArray()); //๋ฌธ์์ด ์๋ฌธ์๋ก ๋ฐ๊พธ๊ณ ๋ด๋ฆผ์ฐจ์ return new String(my_string.ToLower().ToCharArray().OrderByDescending(x=>x).ToArray()); select : ์ด๋ค ํญ๋ชฉ์ ์ถ์ถํ ๊ฒ์ธ๊ฐ answer = answer.Wher.. ๐ฉ๐ปProgramming/C# 2022. 12. 21. [C#] Array ์์ฃผ ์ฌ์ฉํ๋ ๋ฉ์๋ Linq Min / Max / Sum / Average int temp = array.Min/Max/Sum/Average(); Index Array.IndexOf() : ๋ฐฐ์ด์์ ํน์ ๊ฐ์ ๋ง์กฑํ๋ ์ฒซ ๋ฒ์งธ ์์น ๋ฐํ Array.LastIndexOf() : ๋ฐฐ์ด์์ ํน์ ๊ฐ์ ๋ง์กฑํ๋ ๋ง์ง๋ง ์์น ๋ฐํ Array.FindIndex() : ํน์ ๊ฐ ๋๋ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ฒซ ๋ฒ์งธ ์์น ๋ฐํ Array.FindIndex() : ํน์ ๊ฐ ๋๋ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ง์ง๋ง ์์น ๋ฐํ Copy https://learn.microsoft.com/ko-kr/dotnet/api/system.array.copy?view=net-7.0 Array.Copy ๋ฉ์๋ (System) ํ Array์ ์์ ๋ฒ์๋ฅผ ๋ค๋ฅธ Arr.. ๐ฉ๐ปProgramming/C# 2022. 12. 19. [C#][Programmers] ์ฝ์ ๊ตฌํ๊ธฐ ์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, n์ ์ฝ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ๋ด๊ฐ ํผ ๋ฐฉ๋ฒ using System; using System.Collections.Generic; public class Solution { public int[] solution(int n) { List list = new List(); for(int i = 1; i n % x == 0).ToArray(); return answer; } } Enumerable.Range https://learn.microsoft.com/ko-kr/dotnet/api/system.linq.enumerable.range?view=net-7.0 Enumerable.Range(Int32, Int32.. ๐ฉ๐ปProgramming/Coding Test 2022. 12. 19. [C#][Programmers] ๋๋ฌธ์์ ์๋ฌธ์ ๋ฌธ์์ด my_string์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋๋ฌธ์๋ ์๋ฌธ์๋ก ์๋ฌธ์๋ ๋๋ฌธ์๋ก ๋ณํํ ๋ฌธ์์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. using System; public class Solution { public string solution(string my_string) { string answer = ""; //๋์๋ฌธ์ ํ๋ณํ์ฌ //๋์๋ฌธ์ ๋ณํ foreach(char item in my_string) { if(Char.IsUpper(item) == true) { answer += Char.ToLower(item); } else { answer += Char.ToUpper(item); } } return answer; } } Char.IsUpper() / Char.IsLowe.. ๐ฉ๐ปProgramming/Coding Test 2022. 12. 12. ์ด์ 1 2 3 4 ยทยทยท 6 ๋ค์