A ship in harbor is safe, but that is not what ships are built for.

전체 글 158

2023.01.06 TIL(네트워크 CS Q&A 정리)

💭 HTTPS HTTP는 클라이언트 (웹 브라우저) ↔ 서버 사이의 요청/응답 프로토콜 HTTPS는 하이퍼 텍스트 전송 프로토콜 보안, HTTP 프로토콜의 보안 버전 SSL을 사용하면 암호화를 할 수 있고, 통신하려는 상대를 보증할 수 있다. HTTPS는 SSL(Secure Socket Layer)을 이용한 HTTP 통신 방식 SSL 통신과정 CA(Certificate authority)란? Client Server 통신에 앞서 Server는 CA에서 인증서를 받는다. 공인된 기관에서 Server가 믿을 수 있는 서버인지 보증하는 SSL 보증서를 발급한다. 자체 CA (사설 CA)로도 SSL 인증서를 발급할 수 있다. 사설 CA도 HTTPS 통신이지만 브라우저 입장에서는 안전하지 않다고 판단한다. 통신과..

2023.01.05 TIL(Django Q&A 정리)

16. Django의 기본 기능을 사용하는 것과 JWT를 사용하여 로그인 기능을 구현하는 것에는 어떤 차이점이 있습니까? 1. Django의 기본 기능을 이용한 로그인 세션 방식 기본 세팅을 통해 내장함수를 이용한 간단한 로그인 구현 논쟁의 여지가 있지만 세션로그인은 쿠키라는 접근 가능한 곳에 저장한다는 점에서 안정성이 떨어짐 이에 대한 대안으로 세션 쿠키에 접근을 차단 2. JWT를 이용한 로그인 JWT(JSON Web Token)를 이용한 토큰 방식 로컬스토리지에 저장 settings.py에 jwt 토큰을 이용한 인증을 하겠다는 설정 필요 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_simplejwt.authentica..

2023.01.03 TIL(알고리즘 CS Q&A 정리)

1. 시간복잡도와 공간복잡도가 무엇인지 설명해주실 수 있을까요? 어떤 알고리즘이 있을 때, 우리는 해당 알고리즘의 성능을 평가할 필요가 있다. 우리는 이러한 알고리즘의 성능을 '복잡도(Complexity)'의 척도를 사용해 평가한다.(당연히 복잡도가 낮으면 good, 높으면 bad) 이러한 복잡도의 종류에는 아래와 같이 2가지가 있다. 시간 복잡도 : 특정 알고리즘이 어떤 문제를 해결하는데 걸리는 시간 공간 복잡도 : 작성한 프로그램이 얼마나 많은 공간(메모리)을 차지하는지를 분석 각각에 대해서 조금 더 자세히 살펴보자. 1) 시간 복잡도 시간 복잡도란 특정 알고리즘이 어떤 문제를 해결하는데 걸리는 시간이다. 이것은 실제로 프로그램을 실행해보아야 알 수 있지만 많은 사람들은 프로그램을 짜기 전이나 짜는 ..

2023.01.02 TIL(데이터베이스 CS Q&A 정리)

💭 인덱스(Index)란? https://mangkyu.tistory.com/96 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조 책에서 원하는 내용을 찾는다고 하면, 책의 모든 페이지를 찾아 보는것은 오랜 시간이 걸린다. 그렇기 때문에 책의 저자들은 책의 맨 앞 또는 맨 뒤에 색인을 추가하는데, 데이터베이스의 index는 책의 색인과 같다. 데이터베이스에서 테이블의 모든 데이터를 검색하면 시간이 오래 걸리기 때문에 데이터와 데이터의 위치를 포함한 자료구조를 생성하여 빠르게 조회할 수 있도록 돕는다. 인덱스를 활용하면, 데이터를 조회하는 SELECT 외에도 UPDATE나 DELETE의 성능이 함께 향상된다. 만약 index를 사용하지 않은 컬럼을 조회..

내일배움캠프 AI - 85일차 TIL, 2022.12.29

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.12.29. 85일차 - TIL 축제어때 🌈 https://www.introvertcamp.shop/ back repo 👉 https://github.com/Naerumii/BestChoice front repo 👉 https://github.com/Naerumii/BestChoice_front ⭐ 프로젝트 목표 전국 축제 추천 및 커뮤니티 서비스 ⭐ 역할 추천서비스 : 이승연, 이효정 프론트엔드 : 정태희 백엔드 회원기능 : 정유준 마이페이지 : 이승연,정유준 축제게시글 : 이승연, 이효정 축제게시글 북마크 : 이승연 축제 모집게시글 : 정태희, 이승연, 이효정, 송창주 축제 모집게시글 댓글 : 정태희 축제 모집게시글 신청기능 : 이승..

내일배움캠프 AI - 84일차 TIL, 2022.12.28

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.12.28. 84일차 - TIL 최종발표 전 발표자료 작성과 시연영상 촬영, 깃허브 정리 및 README.md 작성을 했다. 계획했던 테스트코드 작성은 시간이 애매해서 수료 후에 팀원들과 취업준비를 하면서 짜보기로 했다. 오늘 공부한 것 python에서 DB 행 삭제 최종발표 전 서비스 점검을 하다 한개의 축제게시글이 3개씩 나오는것을 발견했다. 도커를 이용해서 백엔드 서버를 구동하는 과정에서 festival_article 모델에 축제 정보를 저장시켜주는 festival_loader.py이 중복으로 실행되어 같은 축제가 3개씩 저장된것.. 방법을 고민해봤는데 우리가 필요한 축제는 828개인데 이후 829번부터는 중복된 행이기 때문에 이것..

내일배움캠프 AI - 83일차 TIL, 2022.12.27

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.12.27. 83일차 - TIL 1. 테스트 코드 작성하기 지금까지 API 테스트는 Postman을 통해 진행했는데 물론 Postman도 좋은 툴이지만 하나하나 send 버튼을 누르며 테스트를 해야하는 불편함이 있다.(실제로 매번 로그인 후 access 토큰 변경 후 헤더에 붙여서 보내고 이런 작업들이 상당히 번거로웠다.) 하지만 테스트 코드를 작성하면 한줄의 명령으로 모든 테스트 케이스를 한번에 처리할 수 있다는 장점이 있다. 개발에서 테스트의 종류는 크게 3가지로 분류한다. 1) Unit test : 독립적인 class와 function 단위의 테스트 2) Regression test : 발생했던 버그에 대한 수정 테스트 3) Int..

내일배움캠프 AI - 82일차 TIL, 2022.12.26

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.12.26. 82일차 - TIL 1. 발표자료 정리 아키텍쳐 아키텍쳐 그리기 전 텍스트로 흐름을 정리해보았다. 장고 서버는 아래와 같은 순서로 동작한다. postgreSQL(DB) - django(프레임워크) - gunicorn(컨테이너) - nginx - ec2 - load balancer - route53 - 클라이언트 프론트엔드는 상대적으로 단순한 구조로 되어있다. S3 - cloudfront - route53 - 클라이언트 이를 토대로 아키텍쳐 초안을 작성해보았다. 조금 추가하고 싶은 내용들이 있지만 흐름을 알아볼 수 있었고 팀원들과 아키텍쳐를 보면서 배포 과정을 한번 더 이해하고 넘어갈 수 있었다. 모집 게시글 삭제 시 마이 페..

내일배움캠프 AI - 17주차 WIL

기간 : 2022.12.19 ~ 2022.12.23(5일간 진행) 지난주에 작성한 WIL을 보면서 이번주를 회상하는데 신기하게도 개선했으면 싶은 기능들을 모두 개선해서 매우 뿌듯했다. 사용자들의 피드백도 잘 받았고, 그 중 개선할 사항들도 금요일에 빠르게 개선하면서 점점 기능성이 좋아지고 있다. 이제 정말 다음주면 내일배움캠프도 끝난다. 처음에는 막막하고 성공적인 포트폴리오를 만들어야 한다는 압박도 심해서 굉장히 불안했는데 다행히도 결과가 아주 만족스럽게 나와서 내심 기뻤다. 다음주에 있을 발표를 아주아주 잘 준비해둘 것!! 시간이 될지는 모르겠지만(발표도 아주 열심히 준비해야 하기 때문에...) 다음주에 하고자 하는 바를 정리한다면, 첫번째, Github와 TIL 잘 정리하기 -> 그동안 미루었던 것,..

내일배움캠프 AI - 81일차 TIL, 2022.12.23

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.12.23. 81일차 - TIL 1. 프로젝트 기능 개선 1) 모집게시글 리스트에서 축제명 항목 크기 조절해 넘치지 않게 하기 피드백으로 지적받은 문제 중 하나가 바로 모집게시글 리스트에서 축제명이 일정 길이보다 긴 경우, 줄바꿈이 일어나면서 게시글 형식이 깨진다는 것이다. 이것은 프론트의 문제이지만 글자수를 제한하면 될 것이라고 생각해 바로 수정했다 전체적인 style을 다 변경할까 하다가 길이 제한이 필요한 것이 축제 제목 뿐이라 그냥 해당 태그에 style을 적용해주기로 했다.(style로 뺄까 하다가 일단 수정되는지만 확인하기 위해 그냥 태그에 style 속성을 추가했다.) 찾아보니 css 말줄임 속성(text-overflow:e..