일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- SQL
- docker
- 자료구조
- django
- 아티클 스터디
- ERD
- CS
- NoSQL
- 파이썬
- JWT
- github
- 세션(Session)
- 쿠키(cookie)
- flask
- web
- 도커
- 장고
- nginx
- 오블완
- viewsets
- git
- 개발공부
- 연습
- 티스토리챌린지
- Doker
- Til
- 코딩테스트
- redis
- Python
- Wil
- Today
- Total
목록전체 글 (135)
SteadyDrills

241112SQLite란?SQLite는 SQL(Structured Query Language)을 사용하여 데이터베이스를 관리하며, 경량의 파일 기반 데이터베이스 관리 시스템(DBMS)이다. 단일 파일에 모든 데이터를 저장하며, 서버가 필요 없어 간편하게 사용할 수 있다. SQLite의 특징 서버리스: SQLite는 별도의 서버 프로세스 없이 작동한다. 애플리케이션이 직접 데이터베이스 파일에 접근하여 데이터를 읽고 쓸 수 있다.경량: SQLite는 매우 가벼운 라이브러리로, 설치가 간편하고 시스템 자원을 적게 소모한다.트랜잭션 지원: ACID(Atomicity, Consistency, Isolation, Durability) 속성을 지원하여 데이터의 무결성을 보장한다.크로스 플랫폼: 다양한 운영 체제..

241111 오늘 공부한 것은 문제를 풀다 알게 된 약수를 구하는 방법이다. 처음에는 단순하게 내가 생각한 방식으로 코드를 구현했는데....시간 초과가 나왔다. 시간 복잡도는 O(n) 이여서 그렇게 느리다고는 생각 안 했지만 수가 커지고 양이 많은 테스트 문제에는 효율이 많이 안 좋았던 거 같다.def find_divisors_basic(n): divisors = [] for i in range(1, n + 1): if n % i == 0: divisors.append(i) return divisors# 예시n = 12print(find_divisors_basic(n)) # 출력: [1, 2, 3, 4, 6, 12] 그 후에 찾아보고 알게 된 것은..

레디스(Redis)오픈 소스 인메모리 데이터 구조 저장소로, 키-값 저장소의 형태를 가지고 있다. 데이터는 메모리에 저장되며, 다양한 데이터 구조(문자열, 리스트, 세트, 해시 등)를 지원한다. 장점빠른 성능: 메모리 기반 저장소이기 때문에, 데이터 읽기 및 쓰기 속도가 매우 빠르다.다양한 데이터 구조: 문자열, 리스트, 세트, 해시, 정렬된 세트 등 여러 데이터 구조를 지원하여 유연하게 사용할 수 있다.퍼시스턴스 옵션: 메모리 내 데이터를 디스크에 저장할 수 있는 옵션이 있어 데이터 손실을 방지할 수 있다.고가용성: 복제 및 클러스터링 기능을 통해 고가용성을 제공하며, 장애 발생 시에도 데이터 접근이 가능하다.간편한 사용: 직관적인 명령어와 API로 사용이 간편하다. 단점메모리 제한: 모든 데이터가..

241107GunicornPython WSGI(Web Server Gateway Interface) HTTP 서버로, 웹 애플리케이션을 배포할 때 주로 사용된다. Gunicorn은 다중 프로세스 구조를 기반으로 하여, 여러 개의 워커 프로세스를 통해 요청을 처리한다. 이를 통해 높은 성능과 안정성을 제공할 수 있다. * WSGI(Web Server Gateway Interface) HTTP 서버란?Python 웹 애플리케이션과 웹 서버 간의 인터페이스를 정의하는 표준입니다. WSGI는 Python 웹 프레임워크와 웹 서버 간의 통신을 가능하게 한다. 장점성능: 다중 프로세스 아키텍처 덕분에 여러 요청을 동시에 처리할 수 있어 성능이 좋다.단순성: 설정이 간단하고 사용하기 쉬워 개발자들이 빠르게 배포할 수..

2401106 NGINX란?NGINX는 고성능의 오픈소스 웹 서버이자 리버스 프록시 서버로, 효율적인 트래픽 관리와 높은 성능을 제공하는 도구이다. 기능웹 서버 배포: 정적 파일(HTML, CSS, JavaScript 등)을 빠르게 서빙.리버스 프록시: 클라이언트의 요청을 다른 서버로 전달하고 응답을 다시 클라이언트에게 전달.로드 밸런서: 여러 서버에 트래픽을 분산시켜 성능과 안정성을 향상.SSL 종료: HTTPS 요청을 처리하여 보안을 강화.캐시 서버: 자주 요청되는 콘텐츠를 캐싱하여 응답 속도를 높이고 서버 부하 감소.장점높은 성능: 비동기 이벤트 기반 아키텍처로 많은 동시 접속을 처리가능.효율적인 리소스 사용: 메모리와 CPU 자원을 적게 사용하여 비용 효율적이다.유연성: 다양한 설정과 모듈을 통해..

241105 한 달이 금방 가버렸다....블로그에 글 쓰기가 어려워서 노션에 짧게 짧게라도 쓰고 주말에 정리해서 다시 써야지 했지만....그마저도 쉽지 않아서 이렇게 프로젝트가 끝나고 나서야 쓰게 되었다. 많은 트러블 슈팅 끝에 최종프로젝트를 마쳤다... 팀원들과 합심해서 많은 의사결정을 하고, 그 기획에 따라 진행할 수 있었던 좋은 경험이 였다.새로운 기술 스택을 사용하며 다른 스택과 차이를 배우고 왜 이걸 선택하는게 좋은지에 대해 고민도 해볼 수 있었다.아쉬운 점도 많았지만 그걸 채우기 위해 더 많은 공부가 필요 하다고 느꼈다.예를들어 기간이 짧아 테스트 코드나 코드 리팩토링을 진행하지 못한점과 구현하고 싶었던 기능에서 소셜 로그인은 주류 관련 컨텐츠는 승인 시간이 오래 걸릴 수 있다는 점을 생각 ..

2401104 HTTPS(HyperText Transfer Protocol Secure) 통신HTTPS는 HTTP(하이퍼텍스트 전송 프로토콜)에 보안 기능을 추가한 프로토콜이다.기본적으로 HTTP는 클라이언트와 서버 간의 데이터 전송을 담당하지만, 이 과정에서 데이터가 암호화되지 않아 해커나 제삼자가 쉽게 가로챌 수 있어서 SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security)라는 암호화 기술을 사용하게 되었다. HTTPS는 HTTP통신 부분을 직접 TCP와 통신하지 않고 SSL과 통신을 한다.➡️전송 계층과 응용 계층 사이에서 데이터의 보안을 제공하는 프로토콜로, OSI 모델에서 독립적인 계층으로 존재하지 않지만, 두 계층의 기능을 결합하여 안전한 통신..
241006오늘 진행상황 백엔드는 배포 완료, 프론드와 현재 연결이 안되는중( 처음 해보는 프론트, 백엔드 배포는 너무 어려웠다.... setting.py의 설정이나 nginx 설정 등 처음 사용한 기술 스택이 많아 오래 걸리고 오류가 더 많았던거 같다 ) 프론튼 엔드를 리액트를 사용하기로 변경 (기존 바닐라 js보다 학습할 수 있는자료가 더 많고 코드를 직관적으로 구성 할 수 있기 때문에) 다음 계획 1. 프론트 엔드 배포 후 백엔드와 연동 2.CI/CD