파이썬 장고 실무 기초 1주차 파이썬 웹 프레임워크 웹 프레임워크? 프레임워크는 개발을 도와주는 하나의 틀 👉 결과물을 일정한 형태로 만들 수 있도록 도와줌 👉 때문에 우리가 비슷한 방법과 방식으로 완성 된 형태를 만들 수 있음 파이썬 웹 프레임워크의 종류 - 최소한의 기능만 제공하는 형태 서버를 만들기 위한 최소한의 기능들만 제공하는 철학을 가지고있는 프레임워크들입니다. ex) Flask - 이미 많은 기능들을 제공하고 있는 형태 웹서비스에 공통적으로 필요한 부분들이 미리 구현되어 있습니다. ex) Django Django 알아보기 장고의 MVT 패턴 - M (Model) - 데이터베이스의 모델 (ORM) - 저장되고 사용되는 데이터의 형태 - T (Template) - 사용자에게 보여지는 부분 - 화..
Facts 이번주에 배운 것 1. 알고리즘 세션 2. 개인과제 3. 팀과제 이번주 목표 1. 개인 과제 성공적으로 끝내기 ✅ 2. 팀 과제 열심히 하기 ✅ 3. TIL 밀리지 않게 작성하기 ❎ 4. 주 80시간 이상 공부하기 ✅ Findings - 얻은 결과 저번주에 들었던 파이썬 기초, 심화 문법을 기반으로 개인과제, 팀과제를 진행하면서 클래스 사용에 조금 익숙해질 수 있었다. Feelings 나름 클래스라는 개념을 꽤 이해하고 있다고 생각했는데 막상 개인 과제를 진행하면서 직접 사용하는 건 더 어렵다는 것을 깨달았다. 그래도 개인 과제 한 번 하고, 팀 과제로 한 번 더 하면서 일주일 내내 연습한 효과는 있는 것 같다. 처음엔 개인과제를 진행하고 똑같은 걸 팀과제로 또 하는 게 이상했는데, 해보니까 ..
알고리즘 세션 스택 / 큐 코테 빈출! 스택(Stack) : 한쪽 끝이 막힌 통과 같은 자료 구조 - 후입선출 LIFO 큐(Queue) : 양쪽 끝이 뚫림 - 선입선출 FIFO 활용 데이터 임시 저장 매개변수, 지역변수 큐의 활용 임시저장 : 버퍼로 활용, 임시저장 데이터 차례차례 내보내고 꺼내와야 할 때, 줄 세우고 싶을 때 class Stack: def __init__(self): self.items = [] def is_empty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): return self.items[-1..
오늘 배운 것 알고리즘 세션 빅오 표기법 메모리 기술의 발달로 인해 시간복잡도가 공간복잡도보다 더 중요해짐 배열과 연결 리스트 배열 - 가장 많이 사용되는 자료구조 - 조회 : O(1)의 조회시간 - 배열 끝에서 삽입&삭제 O(1) - 정렬 : 어떤 정렬 알고리즘을 사용하느냐에 따라 시간 복잡도가 달라짐 - 검색 : 일반적으로 O(n) 정렬시 O(logn) linked list 유동적으로 연결고리를 떼었다가 붙였다가 할 수 있는 자료구조 class Node: def __init__(self, data): self.data = data self.next = None # None은 NULL과 같아요 # 3을 가진 Node 를 만드려면 아래와 같이 하면 됩니다! node = Node(3) # 현재는 next ..
Facts 이번주에 배운 것 Python 문법 기초 Python 문법 심화 코딩테스트 연습문제 및 개인 과제 이번주 목표 파이썬 문법 기초 완강 ✅ 파이썬 문법 심화 듣기 ✅ TIL 밀리지 않게 작성하기 ❎ ▶ 과제 핑계로 금요일 TIL, 이번주 WIL 몰아서 쓰는 중 주 80시간 공부 채우기 ✅ Findings - 얻은 결과 처음 다뤄보는 파이썬 문법의 사용법에 대해 배우고 익힐 수 있었다. 코딩테스트 연습 문제를 통해 실제로 사용하는 법을 연습할 수 있었다. Feelings 아무래도 팀 프로젝트 할 때와는 다르게, 개인 공부를 하니까 팀원분들이랑 이야기할 기회도 적고, 그래서 더 친해질 기회도 적었던 것 같다. 저번에는 일주일동안 프로젝트 하면서 엄청 가까워졌는데, 이번엔 아직 이야기도 그렇게 많이 ..
👇과제👇 더보기 - **요구사항** - 이름을 입력해 플레이어를 생성할 수 있어야 합니다. - 몬스터는 임의 생성할 수 있어야 합니다. - while 반복문을 사용해 종료 조건을 충족할 때까지 턴제 플레이어와 몬스터간 전투를 반복 진행해야 합니다. - 플레이어는 공격 타입을 선택할 수 있어야 합니다. ex) `일반공격` , `마법공격` - 몬스터는 일반 공격을 할 수 있어야 합니다. - 매 전투시 플레이어와 몬스터의 상태 정보를 출력해야 합니다. - 모든 공격은 캐릭터의 파워 기준으로 랜덤성을 가지고있어야 합니다. ex) 파워가 10인경우 일반공격은 8~12사이의 랜덤한 값으로 공격 - 몬스터나 플레이어의 HP가 0이되면 전투를 종료하고 승리 또는 패배를 출력해야 합니다. - **기본 가이드** # **..
코딩테스트 연습문제 👇문제👇 더보기 문제 설명 지나다니는 길을 'O', 장애물을 'X'로 나타낸 직사각형 격자 모양의 공원에서 로봇 강아지가 산책을 하려합니다. 산책은 로봇 강아지에 미리 입력된 명령에 따라 진행하며, 명령은 다음과 같은 형식으로 주어집니다. ["방향 거리", "방향 거리" … ] 예를 들어 "E 5"는 로봇 강아지가 현재 위치에서 동쪽으로 5칸 이동했다는 의미입니다. 로봇 강아지는 명령을 수행하기 전에 다음 두 가지를 먼저 확인합니다. 주어진 방향으로 이동할 때 공원을 벗어나는지 확인합니다. 주어진 방향으로 이동 중 장애물을 만나는지 확인합니다. 위 두 가지중 어느 하나라도 해당된다면, 로봇 강아지는 해당 명령을 무시하고 다음 명령을 수행합니다. 공원의 가로 길이가 W, 세로 길이가 H..
오늘 한 일 - 파이썬 문법 심화 1주차 15~19 - 코딩테스트 연습 Level 2 소수찾기 배운 거 itertools 데카르트곱 구하기 from itertools import product sample1 = ["A", "B", "C", "D", "E"] sample2 = [1, 2, 3, 4] a = product(sample1, sample2) # 행 / 열을 구분하여 프린트 하기 위해 enumerate 사용 for i, v in enumerate(product(sample1, sample2), 1): print(v, end=" ") if i % len(sample2) == 0: print("") 결과 ('A', 1) ('A', 2) ('A', 3) ('A', 4) ('B', 1) ('B', 2) ..
오늘의 강의 파이썬 문법 심화 1주차 9~14 기억할 것 예외처리 try / except 사용 ValueError : 숫자로 바꿀 수 없는 것을 숫자로 바꾸려고 함 ZeroDivisionError : 0으로 나눈 경우 Exception as 변수 : 정의하지 않은(예상치 못한) 에러가 발생했을 때. 변수 - 에러 내용 (권장하지 않음) 패킹과 언패킹 함수를 만드는데 매개변수의 갯수를 지정하고 싶지 않다면? list 에서 def add(*args): * 👉add 함수에 들어가는 모든 인자를 args안에 넣을 거다! 요런 함수가 있을 때 리스트를 numbers = [1, 2, 3, 4] 라고 한다면, print(add(*numbers)) # list name : number ## 아래와 같다. pirnt(a..
오늘의 강의 파이썬 문법 심화 1주차 1~8강 오늘의 난관 에러가 나타났다! 최신 버전이 쓰고 싶어서 python을 새로 깔았는데 원래 쓰던 버전 : 3.8.6 새로 설치한 버전 : 3.11.2 가상환경을 설치하면 C:\Users\SCY\Desktop\DEV\python\lec2>python -m venv venv Error: Command '['C:\\Users\\SCY\\Desktop\\DEV\\python\\lec2\\venv\\Scripts\\python.exe', '-m', 'ensurepip', '--upgrade ', '--default-pip']' returned non-zero exit status 1. 이런 에러가 뜬다. 근데 또 가상환경이 만들어지기는 한다. 대신 venv\Script..
오늘은 본격적으로 파이썬 기초 문법 진도를 나간 첫날아침에 앞으로 뭐 할지 이야기해주고 새로운 팀원분들을 만났다. 다들 두번째 팀이라 그런지 분위기를 풀어내는데 어느정도 익숙해진 것 같다. 저번주 미니프로젝트 때 같은 팀했던 분이랑 또 같은 팀이 됐다. 열심히 공부하시던 분이라 또 만나니까 너무 반가웠다!!파이썬 문법 기초 1주차 print(a & b) # 교집합print(a | b) # 합집합분명 예전에 배웠던 건데 오랜만에 봐서 살짝 헷갈려f-stringfor s in scores: name = s['name'] score = str(s['score']) print(name+'는 '+score+'점 입니다') print(f'{name}은 {score}점입니다')파일 불러오기f..
이번주는 미니프로젝트 주차 개강하자마자 프로젝트라서 걱정되긴 했지만 팀원 소개하는 페이지 만드는 프로젝트이기도 하고 팀원들과 협업하는 경험을 하는 게 중요하다고 하셔서 큰 부담 없이 시작했다. Facts 이번주에 배운 것 1. git 특강 2. 미니프로젝트 3. TIL, WIL 특강 이번주 목표 1. 새 팀원들과 친해지기 2. 역할분담, 협력하여 프로젝트 완성하기 3. TIL 쓰는데 익숙해지기 Findings - 얻은 결과 팀원들과 함께하는 팀플을 경험함. Python Flask 를 이용해 우리 손으로 직접 CRUD 를 구현해 볼 수 있었다. git, TIL/WIL 특강 등 앞으로 캠프에 참여하는데 도움되는 것들을 배운 이번주 앞으로 참여하는 데에 필요한 태도와 마음가짐을 만들어낼 수 있었다. 프로젝트가..
미니프로젝트 발표 원래 피피티 같은 거 안 만들고 하려고 했는데 다른 조도 대부분 피피티를 만든다고 했다.... 어쩔 수 없이 나도 아침에 조원분들이랑 같이 만들었당 피드백 서버, 클라이언트 통신 할 때 url 이름 이 부분은 좀 헷갈려서 좀 더 공부하고 생각해봐야 할 듯 함수와 변수 이름이 중복되는 문제 이거는 (많이 해 보진 않았지만) 약간 습관 같은 것 같다. 귀찮아서 그냥 다 비슷하게 하고 직관적으로 하려니까 더 그렇게 된다. 다른 사람들이 구현하는 함수들을 보면서 함수명과 변수 이름 짓는 방법에 대해 좀 더 공부해봐야겠다는 생각이 들었다. (특히 HTML에서) 코드 중 중복되는 부분이 많은 문제 이건 내가 짜면서도 너무 거슬렸던 부분이다. 멤버별로 방명록을 불러오는 게 각 멤버별 HTML에서 이..