본문 바로가기

전체 글27

자바스크립트 알고리즘 - 가장 작은 숫자 구하기 const solution = (...numbers) => { let theSmallestNumber; //아래 포문이 돌면서 가장 작은 수를 갱신함. numbers.forEach((number) => { if (!theSmallestNumber) theSmallestNumber = number; //theSmallestNumber의 값이 없다면 첫번째 들어오는 숫자 할당. //할당 이후로는 펄시하지 않으므로 동작하지 않음 if (theSmallestNumber > number) theSmallestNumber = number; //순회중인 number가 현재 theSmallestNumber에 할당되어있는 값보다 작다면 //순회중인 number로 할당. }); return theSmallestNumber.. 2021. 12. 14.
알고리즘을 하자. 오늘 서류 합격한 곳으로부터 코딩테스트 요청이 왔다. css 문제와 js 기본 개념(스코프, 호이스팅, 비동기 처리 콘솔 순서, 함수가 함수를 리턴) 등과 알고리즘적인 부분의 문제가 2문제가 있었다. (랜덤 정렬 구현, 오브텍트 열거 등) 알고리즘 문제에서 유독 약한 모습을 보였고, 이부분에 대해서 정리가 필요하다고 강력하게 느끼는 계기가 되었다. 스스로에게 실망한 부분도 있었다. 소위 말하는 알고리즘 기본기가 없는 것이 문제였고, 언어의 구현부만 치중했던 스스로를 돌아보게 되었다. 물론 내 입장에서 틀린 선택은 아니었다고 보지만, 이제는 명확하게 해야할 때 임을 인정할 수 밖에 없었기 때문이다. 따라서 알고리즘 관련 도서를 구입했고, 앞으로 빡세게 공부해볼려고 한다. 해야할 것이 많고 부족한 것도 참 .. 2021. 12. 14.
멱등성 idempotent http 메소드 공부를 하다보면, 멱등성, idempotent에 대한 키워드가 등장한다. 멱등성이란 무엇일까? 여러번 실행시켜도 그 결과가 동일한 것을 의미한다. 연산을 여러 번 적용해도 결과가 달라지지 않는 성질을 멱등성이라고 한다. 예를 들면 아래와 같은 함수는 멱등하다. const sum = (a,b) => a+b 동일한 인자를 넣고 몇번을 실행시켜도 같은 값을 반환하기 때문이다. get 메소드의 경우 멱등하다. 아래와 같이 get 메소드로 서버에 요청한다고 생각해보자. get / user/1 10번 요청한다고 해도 반환값은 항상 동일하다. post 메소드의 경우 멱등하지 않다. 아래와 같이 post 메소드로 서버에 요청한다고 생각해보자. POST /user { "name" : "츠키", "age".. 2021. 12. 12.
http Method put, patch 차이점 지난번 회사에서 면접에 갔을 때였다. http 메소드에 대한 질문이 나왔고, 그에 대한 대답을 했다. 각 메소드에 대해서 설명해달라는 질문이었던 것으로 기억한다. 그와중에 잠깐 절었던 것이 patch와 put이었다. 공부가 덜 된 탓이었는지, CRUD 읽기, 쓰기, 수정, 삭제의 개념으로 하나씩 대응하면서 이야기하는데 뭔가 하나가 빠진듯한 느낌이 든 것이다. 아마 대답은 다 했던거 같다. PUT 빼고..;; 그래서 http메소드에 대해서 다시금 공부하고 있는데 역시나 또 햇갈리거나 혼란스러울 수 있을거 같아서 기록으로 남긴다. put과 patch는 리소스의 업데이트를 한다는 것에서 동일한 기능이다. 다만 세부 기능이 다르다. put 리소스의 모든 것을 업데이트한다. patch 리소스 중 일부를 업데이트 .. 2021. 12. 12.