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

전체 글 156

내일배움캠프 AI - 20일차 TIL, 2022.09.27

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.27. 20일차 - TIL 1. Django 타임어택 파이참의 프로젝트 자동 생성 기능없이 명령어로만 장고 프로젝트 만들기 프로젝트에 사용할 폴더를 생성하고, 편집기(vscode or pycharm)에서 폴더 열기 파이썬 가상 환경을 생성하기 python -m venv venv 파이썬 가상 환경을 활성화하기(windows) venv\scripts\activate deactivate(비활성화 명령어) django 패키지 설치하기 pip install django .gitignore 파일을 생성하고 venv 추가(repository에 굳이 올리지 않기 위해) - https://www.toptal.com/developers/gitigno..

내일배움캠프 AI - 19일차 TIL, 2022.09.26

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.26. 19일차 - TIL auth_user VS my_user - 둘다 데이터베이스의 '테이블' - auth_user : 장고에서 미리 생성해 준 DB 테이블 - my_user : 우리가 ORM을 사용해 만든 DB 테이블 클래스의 상속 - class B에서 class A의 기능을 사용하려 할 때 class B(A): def 기능_B_1: return '기능_B_1' UserModel 업그레이드 - 기존에 작성한 class UserModel(models.Model)은 UserModel에서 models.Model 클래스의 기능을 사용할 것 - auth_user을 상속받고, bio 필드를 추가 from django.db import m..

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

기간 : 2022.09.19 ~ 2022.09.23(5일간 진행) 1. 알고리즘, 자료구조 강의 이번주는 알고리즘, 자료구조 강의를 들으며 해당 내용을 정리하는 시간을 가졌다. 분명히 예전에 본 내용들인데 왜 볼 때마다 새로운지 모르겠다. 일단 내용을 열심히 정리해두긴 했는데.. 글쎄.. 아마도 나중에 코테 준비할 때 또 기억 못해서 다시 내용 찾아보고 있지 않을까...? 일단 해당 내용 계속 읽으면서 코드 머릿속에 계속 집어 넣어두기...!!(하다못해 알고리즘 원리라도 기억해두자... 제발...) 2. 장고 강의 드디어 장고 공부를 시작했다.. 두근두근 했던 것과는 별개로 내용이 너무 낯설다.. 튜터님들은 이걸 코드만 따라 치면 안된다고 하시는데 지금 단계의 나는... 걍 '아.. 그렇구나.. 이렇게 ..

내일배움캠프 AI, 18일차 TIL - 2022.09.23

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.23. 18일차 - TIL 1. Django 기초 강의 장고가 동작하는 순서 User -> URL Conf -> View -> Model(ORM) -> DB -> Model(ORM) -> View -> Template -> User 프로젝트의 기능을 고려해 '사용자'와 '글'에 관한 앱 생성 $ django-admin startapp user $ django-admin startapp tweet ## user앱 : 사용자 관리(회원가입, 로그인, 로그아웃)을 담당 ## tweet앱 : 글 관리(글쓰기, 삭제, 수정, 댓글)을 담당 settings.py 수정 : Django가 서버를 실행하면서 알아야 할 정보들을 적는다 -> 생성된 ..

내일배움캠프 AI, 17일차 TIL - 2022.09.22

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.22. 17일차 - TIL 1. Django 기초 강의 웹 용어 정리 - 클라이언트 : 요청을 보내는 곳 -> '나', '내 컴퓨터', '내 브라우저' - 서버 : 요청을 받아 응답을 해주는 곳 - API : 데이터를 주고 받는 방법을 정한 약속 웹 동작 구조 - 클라이언트가 서버에게 필요한 정보 요청(Request), 서버는 요청이 들어온 API 확인 후 그에 맞는 HTML or Data를 응답(Response) - 페이지만 받는 경우 : html, css, javascript 가 적절히 섞인 페이지를 받는 경우 - 데이터만 받는 경우 : 페이지는 필요없이 '데이터'만 받는 경우 ex) DB에서 자료 받아오기... 파이썬 딕셔너리..

내일배움캠프 AI, 16일차 TIL - 2022.09.21

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.21. 16일차 - TIL 1. 알고리즘, 자료구조 강의 3주차 과제 (1) - 문제 : 상품의 가격을 담은 배열과 쿠폰을 담은 배열이 주어질 때, 최대한 할인을 많이 받았을 때의 가격을 구하라(단, 쿠폰은 한 제품에 한 번씩만 적용 가능) - 풀이 : 가장 비싼 금액이 가장 많이 할인을 받게 한다. def get_max_discounted_price(prices, coupons): prices.sort(reverse=True) # 가격 배열을 내림차순 정렬 coupons.sort(reverse=True) # 쿠폰 배열을 내림차순 정렬 prices_index = 0 # 각각의 배열에 접근하기 위한 인덱스 지표 coupons_inde..

내일배움캠프 AI, 15일차 TIL - 2022.09.20

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.20. 15일차 - TIL 1. 알고리즘, 자료구조 강의 병합정렬(Merge sort) : 배열의 앞부분과 뒷부분의 두 그룹으로 나누어 각각 정렬한 후 병합하는 작업 반복 - merge 부분 : 정렬된 array1과 array2의 원소를 하나씩 비교해 작은 것을 새로운 배열에 저장한다. 어느 한 배열의 원소가 없어질 때까지 반복하다 나머지 이어붙인다. # 정렬된 array1과 array2의 원소를 하나씩 비교해 작은 것을 새로운 배열에 저장 -> 어느 한 배열의 원소가 없을 때까지 반복하다 나머지 이어붙임 def merge(array1, array2): array_result = [] array1_index = 0 array2_in..

내일배움캠프 AI, 14일차 TIL - 2022.09.19

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.19. 14일차 - TIL 1. 알고리즘, 자료구조 강의 Array : 크기가 정해진 연속된 데이터 공간, 데이터 접근이 빠르며(O(1)) 데이터 추가 시 모든 공간이 다 찼다면 새로운 공간을 할당하고, 중간에 요소 삽입/삭제가 어렵다(O(n)) -> 모든 요소를 이동시켜야 한다 Linked List: 크기가 정해지지 않은 데이터 공간, 삽입과 삭제가 빈번한 문제에 사용하기 좋으며 모든 공간이 다 찼어도 맨 뒤의 노드만 동적으로 추가 가능하다. 특정 데이터 조회에 O(n)의 시간이 필요하다. 파이썬의 list는 내부적으로 동적 배열을 사용해 배열, 링크드 리스트 모두로 사용 가능 linked list 구현 # 노드 클래스 정의 cl..

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

기간 : 2022.09.13 ~ 2022.09.16(4일간 진행) 1. Git 정리 이번주는 저번주에 배운 깃 사용법을 직접 적용해보는 시간을 가졌다. 내 레퍼지토리를 만들어 여태까지 파이썬 과제를 업로드했다. 이전에도 몇번 깃헙을 사용한 적이 있지만 사용할 때마다 방법이 기억이 안 나 고민이었는데 이번에 깃을 정리하며 사용에 익숙해지는 기회가 되었다. 앞으로도 꾸준히 깃헙 관리하기!! 2. 파이썬 특강 이번주를 마지막으로 파이썬 강의가 끝이났다. 마지막이 클래스, 객체지향 강의였는데 이 부분은 내가 항상 어려워하는 부분이라 개념을 다시 공부할 수 있어 좋았다. 하지만 상속, 클래스 관련 실습이 부족한거 같아 앞으로 꾸준히 반복하는게 좋을 것 같다. 3. 백준 문제 풀기 수학 문제 관련 알고리즘이 시작되..

내일배움캠프 AI, 13일차 TIL - 2022.09.16

스파르타 코딩클럽 내일배움캠프 AI 웹개발자양성과정 3회차 2022.09.16. 13일차 - TIL 1. 자료구조, 알고리즘 강의 최댓값 찾기 : [3, 5, 6, 1, 2, 4] 의 배열에서 가장 큰 수를 반환 # 1. 각 숫자마다 모든 다른 숫자와 비교해 최댓값 확인 def find_max_num(array): for num in array: # array의 길이(n)만큼의 연산 for cp_num in array: # array의 길이(n)만큼의 연산 if num < cp_num: # 비교 연산 1번 break # for num in array에서 break가 한번도 실행되지 않으면 num을 반환 else: return num # 시간 복잡도 : n * n = n^2 print("정답 = 6 / 현..