전체 글
-
20230110 TIL CSS 코드는 위에서 아래로 실행된다.TIL 2023. 1. 10. 20:20
포트폴리오의 회원 목록 페이지를 작업하면서 이 페이지는 반응형으로 작업을 하는 것이 좋을 것 같은 기분이 들었다. 반응형을 적용하기 딱 좋은 grid이고, 반응형을 적용하지 않으면 너무 휑하거나 너무 좁아지는 등의 문제가 있었기 때문이다. 그리고 반응형을 모든 부분에 적용을 해보지는 못하더라도 적용을 해보고 싶었기 때문에 반응형을 적용해보았다. 그런데 이상하게 일정 크기 이상 줄여도 적용이 되지 않는 것이었다. display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1em; margin: 1em; @media (max-width: 640px) { grid-template-columns: repeat(1, minmax(0, 1fr)); ..
-
ofCORS 포트폴리오 4주차 주간회고회고 2023. 1. 9. 22:17
이번 스프린트는 저번 스프린트보다는 컨디션 관리를 잘 해서 목표의 약 65%를 달성할 수 있었다. 비록 댓글 등록하기와 답변 수정하기라는 두 가지의 기능을 완료하지는 못했지만, 오늘 답변 수정하기 기능을 거의 완료하였다. 그리고 댓글 등록하기 기능은 이번 주에 진행할 기능들 중에서도 우선순위가 낮은 것 같아서 가장 마지막에 진행하려고 한다. 이번 스프린트를 왜 달성하지 못하였고, 어떻게 하면 달성할 수 있을지 고민을 해보았다. 먼저, 스프린트 달성 실패 원인에는 스프린트를 내가 할 수 있는 수준보다 높은 목표치를 잡았기 때문일 수 있다. 그리고 또 다른 이유로는 내가 시간을 효율적으로 쓰지 못하거나 몰입을 하지 못하였기 때문일 수 있다. 객관적으로 보기에는 두 가지 모두 해당하는 것 같은데, 지금 속도보..
-
20230109 TIL 삭제를 어떻게 하면 좋을까?TIL 2023. 1. 9. 21:38
나도 드디어 삭제 기능을 추가하게 되었다. 일단은 정말로 디비에서 없애는 방식으로 구현을 해두긴 하였는데, 보통은 소프트 딜리트, 즉 디비에서 없애지 않고, 삭제되었다는 표시만 해두는 방식으로 진행한다고 한다. 이 방식을 사용하면 기존 기능들도 수정을 해줘야해서 일단 실제로 삭제가 되는 방식으로 작업을 했지만, 프로젝트 기능 완성 후에는 소프트 딜리트 방식으로 수정하려고 한다. 소프트 딜리트를 할 때 그렇다면 실제로 언제 디비에서 삭제를 하는지 궁금했다. 사용자가 삭제한 데이터를 무한정 들고 있는다면 물리적인 공간도 부족할 것이고, 사용자가 원치 않을 수 있기 때문에 언젠가는 삭제해야한다고 생각하기 때문이다. 일반적으로는 주기적으로 소프트 딜리트된 정보들 중 오래된 정보들을 지운다고 한다. 예를 들면 소..
-
20230108 TIL 리액트 에디터 라이브러리 비교하기TIL 2023. 1. 8. 22:33
아직은 그냥 input태그로 작성해두었지만, 질문 글 작성과 답변 글 작성 시 input혹은 textarea 태그만으로는 원하는 내용을 충분히 표현하기 힘들 것 같아서 에디터로 교체하려는 계획을 세웠다. 그런데 리액트에서 사용할 수 있는 에디터가 꽤 많고, 여러 툴 중에 장단점을 비교해서 적절한 도구를 찾아내는 것이 개발자의 덕목 중 하나이기 때문에 리액트 에디터 라이브러리의 장단점을 비교해서 나의 프로젝트에 적합한 라이브러리를 찾아보고자 한다. 리액트 에디터 라이브러리에는 CKEditor, Quill, TinyMCE등이 있다. 앞 기수 선배분 중 CKEditor를 사용하신 분이 계시고, 짝꿍님께서는 Quill을 사용하신다고 하셔서 그 둘을 먼저 검토해보았다. CKEditor가 Quill보다는 더 많은 ..
-
20230107 TIL 테스트 코드의 중요성TIL 2023. 1. 7. 21:48
프로그램을 만들수록 만들었던 모든 부분이 제대로 돌아간다는 것을 보장하기가 쉽지 않다. 왜냐하면 프로그램을 만들면서 기존 코드들을 수정하기도 하는데, 그러면 기존 기능이 제대로 동작한다는 것을 보장하기가 어렵다. 그렇다고 코드를 수정할 때마다 모든 기능을 다 테스트하려면 엄청난 시간과 에너지가 소모된다. 그래서 처음에는 테스트 코드와 구현을 함께 하는 것이 부담스러울 때도 있었지만, 프론트 테스트 코드만 150개 정도, 백 테스트 코드는 약 100개인 스케일이 되니 테스트 코드 덕분에 든든한 느낌을 느끼고 있다. 그리고 테스트 코드 덕분에 돌아가지 않는 기능을 쉽게 확인해서 고친 경우도 제법 있었다. 지금까지 한 작업이 프로젝트의 약 20% 정도밖에 되지 않았는데도 벌써 모든 기능을 스스로 확인해보기가 ..
-
20230106 TIL PUT인가 PATCH인가 그것이 고민이로다TIL 2023. 1. 6. 20:15
리소스의 일부만 수정할 때 PATCH를 사용하고, 전체를 수정할 때 PUT을 쓴다라는 것은 알고 있었다. 그런데 이 사실만으로는 PUT을 쓸지 PATCH를 쓸지 결정을 하기가 어려웠다. 왜냐하면 나머지 정보도 같이 주면 결국 PATCH도 PUT과 다른 것이 없다고 생각했기 때문이다. PUT과 PATCH를 구분하는 또 한 가지 기준점은 멱등성이다. 멱등성은 몇 번을 반복해서 동일한 과정을 반복해도 같은 결과가 나오는 특성이다. PUT은 리소스를 완전히 교체해버리는 경우에 사용되고, 항상 멱등하다. PATCH는 멱등하거나 멱등하지 않게 설계할 수 있다. 질문 추천하기 기능을 만들면서 하게 된 고민이었다. 질문을 추천하면 추천한 사람의 token을 전송하게 되고, 이를 바탕으로 id를 찾아서 질문을 추천한 사..
-
20230105 TIL 동작 방식이 내 맘 같지 않을 때 공식 문서를 꼭 확인하자TIL 2023. 1. 5. 18:24
오늘 코딩테스트 문제를 풀 때 정렬을 해야했다. 보통 .sort()를 하면 대부분 오름차순으로 정렬을 해주고, 자바스크립트도 당연히 숫자를 오름차순으로 정렬을 할 것을 기대하고 문제를 풀었다. 그런데 어제 이미 풀었기 때문에 로직도 동일한 문제가 통과가 되지 않는 것이었다. 아무리 해도 통과가 되지 않아서 내림차순으로 정렬을 하고 로직을 수정해보았다. 내림차순으로 정렬을 하려면 비교함수를 작성해주어야 했는데, 그렇게 하니 잘 작동을 하는 것이었다. 그래서 기존 오름차순 방식에도 비교함수를 적어주었는데, 그제서야 통과를 하였다. 오름차순 방식은 비교함수를 적어주지 않아도 되는줄 알고 있었는데, 그렇지 않았던 것이다. 그래서 공식문서를 찾아보았다. 그랬더니 위 사진처럼 정렬이.... 나의 예상과 다르게 되는..
-
20230104 TIL 요구사항을 제대로 파악하자TIL 2023. 1. 4. 18:10
오늘 코딩도장 문제를 매우 몰입하여 풀고 있었는데, 아무리 풀어도 잘 풀리지가 않았다. 홀맨님께서 항상 코딩테스트 문제는 시간을 정해두고 일정 시간이 지나면 해답을 보고 내 것으로 만들라는 조언을 해주셨기 때문에 다른 사람의 풀이를 찾아보았는데, 풀이가 문제 요구사항과 다른 느낌을 받았다. 그래서 문제가 수정이 된 것인지 짝꿍님께 여쭤봤는데, 내가 놓치고 있었던 제한사항이 있었다. 풀이가 문제가 있는 것이 아니고, 내가 놓친 조건이 있었던 것이다. 나는 1시간이 넘는 시간동안 다른 문제를 풀고 있었다. 요구사항은 중요하다. 요구사항을 제대로 파악하지 않으면 아예 다른 산출물이 나올 수 있다. 요즘 코딩테스트를 조금이라도 빨리 풀고자 문제를 제대로 읽지 않고 풀기 시작했던 것 같다. 코딩테스트도 그렇고, ..