\
Client & Server
·
📚 STUDY/Django
Django를 배우기 전에 기초를 다지자! 오늘날 우리가 사용하는 대부분의 웹 서비스는 Client-Server 구조를 기반으로 동작한다. Client Server - 웹 사용자의 인터넷에 연결된 장치 - Chrome 또는 Firefox와 같은 웹 브라우저 - 서비스를 요청하는 주체 - 웹 페이지, 사이트 또는 앱을 저장하는 컴퓨터 - Cilent가 웹 페이지에 접근하려고 할 때 서버에서 클라이언트 컴퓨터로 웹 페이지 데이터를 응답해 사용자의 웹 브라우저에 표시됨 - 요청에 대해 서비스를 응답하는 주체 너무 어려우니 쉽게 예시를 들어보자 비유! - 고깃집 절대 먹고싶어서 예시로 든겁니다 ㅎ 1. 가게에 들어서면 점원이 주문을 받기 위해 우리에게 온다. 2. 먹고 싶은 고기를 선택해서 주문을 한다. 3. ..
Python 백엔드? 프론트엔드? Django!
·
📚 STUDY/Django
Python 을 접해본 사람이라면 Django에 대해 들어본 적 있을 것이다. 하지만 Framework는 Flask도 있고 다른 언어로도 많이 쓰이는데 왜 우리는 Django를 써야할까? 왜 하필 Django? Python으로 작성된 프레임워크! 그래서? 라고 말할 수 있겠지만, 다른 FrameWork 중에는 언어를 새로 배워야하는 경우도 있다. 하지만 원래 Python을 하던 사람이라면 새로운 언어를 배우지 않아도 되는 이점을 얻을 수 있다. 수많은 유용한 기능 너무 많으니까 공식문서를 둘러보자! https://docs.djangoproject.com/ko/4.1/ 검증된 웹 프레임워크 화해, Toss, 두나무, 당근 마켓, 요기요 등 이미 여러 중견이상 기업들에서 사용하는 만큼 안정적으로 서비스를 할..
Framework? 라이브러리?
·
📚 STUDY/Django
Framework란? 서비스 개발에 필요한 기능들을 미리 구현해서 모아 놓은 것, 혹은 복잡한 문제를 해결하거나 서술하는데 사용되는 기본 개념 구조 장점 단점 - 개발 속도 UP! - 반복성 DOWN! - 협업에 용이 - 사용법에 의한 선택의 폭이 좁아짐 - Learing Curve(학습시간) 존재 라이브러리란? 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임 출처: 위키백과 장점 단점 - 이식성 Good! - 안정적 - 수정하기 어려움 - 실행 파일의 크기 커짐 - 사용하지 않는 함수들까지 전부 프로그램에 포함 그럼 둘의 차이는 뭘까? 차이는 바로 흐름! 라이브러리 흐름(코드의 방향성)을 개발자가 지정 프레임워크 흐름(코드의 방향성)이 정해져 있음 간단하게 생각하면, 라이브러리는..
13994. 새로운 버스 노선
·
📚 STUDY/자료구조 & 알고리즘
D2 Problem SW Expert Academy 새로운 버스 노선 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solution 1. 1번부터 1000번까지 버스정류장이 정해져 있으므로 버스정류장 리스트를 만들어 운용하자 2. 일반, 급행, 광역 버스 별 조건이 나눠져있지만, 결과적으로 지나가는 곳을 체크한 후 최댓값을 구하면 된다. 3. 조건을 확인하자. - 일반버스: 모두 지나감 - 급행버스: 시작이 짝수/홀수 에 따라 짝수/홀수 번만 지나간다. - 광역버스: - 홀수: 3의 배수이면서 10배수가 아닌 곳 - 짝수: 4의 배수인 곳 - 단, 시작점과 끝점은 반드시 포함된다! 따라서 시작과 끝점 조건을 ..
4613. 러시아 국기 같은 깃발
·
📚 STUDY/자료구조 & 알고리즘
D4 problem SW Expert Academy 러시아 국기 같은 깃발 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solution 1. 흰색, 파란색, 빨간색의 범위를 반드시 나눠야하며, 이 중 변경할 곳의 최솟값을 찾는다. 2. 범위를 완전탐색을 통해 하나씩 수정할 곳을 확인하여 이 중 최솟값을 찾는다. Code def color(i,j,N): # White 범위 = 0 ~ i # Blue 범위 = i+1 ~ j # Red 범위 = j+1 ~ N-1 white = blue = red = 0# 각각의 개수(하나로 묶어도 됌) # white for k in range(i+1): for l in range..
1210. [S/W 문제해결 기본] 2일차 - Ladder1
·
📚 STUDY/자료구조 & 알고리즘
D4 Problem SW Expert Academy Ladder1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solution 시작은 여러 곳일 수 있지만, 끝은 하나인 경우 끝부터 시작하면 편하다. 1. 시작 위치를 아래에서 찾는다. 2. 시작 위치를 기준으로 1을 따라서 간다. 3. 우선순위가 위보다 좌, 우에 있으므로 좌, 우부터 탐색한다. 4. 지나온 곳을 탐색할 수 없도록, 지나온 곳을 표시한다.(지워도 된다.) Code for test_case in range(1, 11): T = int(input()) # 인덱싱을 편하게 하기위한 0 패딩 ladder = [[0] + list(map(int, i..