분류 전체보기
-
항상 사용하고 있는 웹에 대해 알아보자, [웹 개발자를 위한 웹을 지탱하는 기술]책을 읽자 2022. 10. 29. 19:13
웹 없이는 살아갈 수 없는 세상이 되었다. 우리는 하루에도 수십 번 이상 검색을 하고, 영상을 보면서 웹을 사용한다. 웹은 웹 사이트, 유저 인터페이스, 웹 API 등 다양한 용도로 사용된다. 공기처럼 어디에나 존재하는 웹에 대해 알아보자. 기본적으로 웹은 HTTP, URI, HTML 등의 기술로 구성되어 있다. HTTP는 웹 상의 정보를 가져오거나 내보낼 때 사용하는 프로토콜이고, URI는 웹 상의 정보를 가리킬 수 있는 식별자이고, HTML은 웹 상의 정보를 표현하는 문서 형식이다. 어떤 웹 페이지 주소를 웹 브라우저 주소창에 치면 웹 브라우저는 HTML로 기술된 문서를 URI로 지정해서 HTTP로 통신해서 받아와서 보여준다. 웹은 분산시스템이면서 하이퍼미디어 시스템이다. 복수의 컴퓨터를 조합해 처리..
-
20221029 TIL ???????TIL 2022. 10. 29. 14:07
자바스크립트에서는 ?를 잘 쓰면 매우 좋다. ? 사용법이 매우 다양하기 때문에 한 번 정리를 해두면 좋을 것 같아서 정리를 해보았다. 먼저, 삼항 연산자에서 ?를 사용한다. 조건 ? 조건이 참일 때 실행할 코드 : 조건이 거짓일 때 실행할 코드; 와 같이 실행한다. 그 다음은 nullish ??이다. 보통 default value를 잡아주고 싶을 때 logical OR연산자 ||를 많이 사용한다. 그런데 logical OR연산자는 연산자 왼쪽 값이 falsy할 때 오른쪽 값을 쓰게 되는데, 왼쪽 값이 falsy이지만 의미가 있는 값일 수 있다. 예를 들어 할인율 변수에 0이 들어갈 수 있는데, 할인율에 기본 할인율을 정해주기 위해 할인율 = 할인율 || 0.1; 처럼 코드를 짠다면 할인을 안 하고 싶어서..
-
메가테라 10주차 주간회고회고 2022. 10. 29. 00:36
이번 주는 jpa를 이용해서 REST API를 만들고 배포까지 해보았다! 배포를 하는 중에 docker에 대한 내용이 나와서 예전부터 정리하고 싶었던 도커의 개념도 정리를 하는 시간을 가졌다. 그리고 코딩테스트를 풀면서 반복적으로 사용되는 메서드들을 정리할 방법이 필요하기도 했고, 문제를 풀수록 비슷한 패턴이 반복되는 경우도 있는 것 같아서 이번 주부터는 홀맨님께서 추천해주신 방법대로 코딩테스트를 풀기 전에 어떻게 풀지 미리 계획을 세우고, 풀고 나서 더 나은 방법이 없는지 성찰하는 루틴을 추가했다. 이번 주에는 책을 주어진 시간 내에 다 읽어서 저번 주보다는 훨씬 퀴즈를 많이 풀 수 있어서 좋았던 것 같다. 이번 주에 가장 뿌듯했던 점 중 하나는 퀴즈 문제가 잘못된 것 같아서 질문을 했고, 열띤 토론 ..
-
20221028 TIL 제가 한 번 도커를 쉽게 설명해보겠습니다TIL 2022. 10. 28. 23:20
개발을 하면 도커를 쓸 일이 종종 생기고, 도커는 거의 git 만큼 많이 쓰이는 도구이다. 도커가 뭔지 설명하기 전에 도커를 사용하지 않을 때의 상황을 알아보자. 개발자라면 자기가 만든 프로그램이 자신의 컴퓨터에서 작동하는 것처럼 어느 환경에서나 동작하기를 바랄것이다. 하지만 개발자가 개발한 어플리케이션은 개발자가 직접 작성한 코드만으로 돌아가는 것이 아니다. 여러가지 디펜던시와 프로그램 구동 환경 등이 다 완벽히 갖춰졌을 때가 돼서야 개발자가 의도한대로 프로그램이 잘 돌아가게 된다. 하지만, 사용자마다 다른 운영 체제를 사용하고 있고, 모두 다 설치되어 있는 프로그램이 제각기 다를 것이다. 이 때 어플리케이션을 구동하는데 필요한 디펜던시 중 일부가 설치되어 있을 수도 있고 없을 수도 있고, 어떤 경우 ..
-
20221027 TIL 다양한 리액트 조건문 사용법TIL 2022. 10. 27. 12:00
회사를 다닐 때 동료분께서 이럴 때는 &&를 쓰면 돼요 라고 알려주신 적이 있었는데, 리액트에서 '조건 && 요소' 형태로 작성을 하셨는데, &&가 and연산자인 것은 알고 있었지만 &&가 true나 false를 반환하는 것으로 오해를 하고 있었어서 '조건 && 요소' 형태 코드를 해석할 수 없었다. 그런데 이제야 그 말씀을 이해할 수 있게 되었다. &&는 true / false를 반환하는 연산자가 아니고, 왼쪽부터 falsy한 값을 찾아서 찾으면 그 falsy한 값을 반환하고, 만약 마지막까지 모두 truthy면 마지막에 위치한 값을 반환한다. 즉, &&연산자는 A && B라고 작성했다면 if (A) { return B; } return A; 와 동일한 코드이다. '조건 && 요소' 형태는 조건이 tr..
-
20221026 TIL 점점 발전 중인 프로그래머스로 TDD하기TIL 2022. 10. 26. 10:04
ide없이 프로그래머스 사이트에서 TDD를 하고 있는데, 조금씩 팁이 생기고 있다. TDD를 하면 문제를 잘게 쪼개고, 쪼갠 걸 구현하다가 반복이 보여서 리팩토링하고 하면서 자연스럽게 좋은 구조의 코드가 생성된다. 일단은 test메서드를 만들어서 solution에서 이용하는 방법보다 나은 방법은 아직 찾지 못했고, 하다가 찾으면 바로 더 나은 방식으로 바꾸려고 한다. 실제로 제출할 때는 test메서드를 호출하는 부분을 막아야 처리되는 시간을 줄일 수 있다. I/O는 시간이 오래걸리기 때문에 호출하지 않는 것이 좋다. 구조는 아직 그대로이지만 테스트를 작성하는 방식이 발전하고 있다. 기존에는 메서드: 값 구조로 출력을 했었고, 심지어 배열인 경우에 효율적으로 출력할 방법을 고민하고 있었고, 값 하나만 확인..
-
20221025 TIL 신기한 JS thisTIL 2022. 10. 25. 15:51
자바스크립트에서는 this가 조금 특이하다. this는 함수를 실행/호출하는 객체가 된다. 따라서 누가 함수를 실행하냐에 따라 this가 달라진다. 또한 this는 변수가 아니고 keyword이기 때문에 값을 대입할 수도 없다! 객체.메소드(); 꼴을 이용하는 경우에는 메소드에서 사용한 this는 객체가 된다. 하지만 그냥 함수(); 꼴을 이용하는 경우에는 함수 내부에서 사용한 this는 global object나 undefined(strict mode)가 된다. 그리고 이벤트 안의 this는 이벤트를 받은 요소를 가리킨다. 만약 this를 원하는 대로 지정하고 싶다면 call, apply, bind 메서드를 사용하면 this를 원하는 객체로 바인딩(설정)할 수 있다. 또한 화살표 함수에서 this는 상..
-
20221024 TIL 적응TIL 2022. 10. 24. 09:56
오늘 코딩테스트를 오로지 프로그래머스 ide만으로 풀어 보았다. 오늘 문제가 쉬워서일 수 있지만 벌써 적응을 해버린 것 같다! 물론 너무 처음부터 실전 연습을 하면 오히려 해가 될 수 있다고 생각하지만, 어느 정도 실력이 쌓인 상태라면 실전과 같은 환경으로 연습을 해야한다고 생각한다. 실전처럼 연습하지 않는다면 실전에 갔을 때 당황할 가능성이 높다. 저번 주말에 처음 실전처럼 연습을 해보면서 매우 당혹스러움을 느꼈다. 정말 이렇게 해야되나 궁금해서 개발자 친구에게 물어보니 코딩테스트는 보통 프로그래머스같은 사이트에서 시험을 보고, 인텔리제이 같은 ide를 못 쓰고, 어떤 것을 import를 해야하는지 정도는 외워야 한다고 명확한 답변을 받아서 ide에 대한 아쉬움을 버리고 현실을 받아들이기로 했다. 복병..