분류 전체보기
TIL, WIL/내배캠 TIL
GIT 특강 diff git diff : 최근 커밋과 작업 디렉터리 비교하기 git diff --staged : 최근 커밋과 스테이지 비교하기 git diff : 끼리 비교하기 ( ) - 커밋 해시 버전 되돌리기 revert 버전을 되돌린 새로운 버전 만들기 : 안전함 reset 버전을 완전히 되돌리기 : 깔끔한 작업내역 - soft - mixed - hard 임시저장 stash stash@{숫자} 숫자 == 최근에 임시저장되었을 수록 0에 가깝다 브랜치 foo 브랜치가 변하는 동안 master는 가만히 있었다. ---다시 새로 a.txt 만들고 커밋 충돌 발생시 1. 직접 선별한다. 남기고 싶은 것 (b or c) 만 남기고 지운다. 2. 다시 커밋한다. 파이썬 장고 실무 기초 3주차 10강 게시글 쓰..
Dev/Django
파이썬 장고 실무 기초 3주차 1~9강 우리가 만든 User모델 업그레이드 하기 bio = models.CharField(max_length=256, default='') models.Model 자리에 AbstractUser를 사용 상속받듯이 기존 데이터베이스에 없던 속성만 추가해서 생성 #user/models.py from django.db import models from django.contrib.auth.models import AbstractUser # Create your models here. class UserModel(AbstractUser): # UserModel에서 AbstractUser(장고기본유저모델)를 사용하겠다 class Meta: db_table = "my_user" # 여기..
Dev/Django
파이썬 장고 실무 기초 2주차 프로젝트 구조 만들기 프로젝트 구조 만들기 sns 앱의 기능은 크게 세 가지로 나눌 수 있다. 사용자 관리 (회원가입 / 로그인 / 로그아웃) , 글쓰기, 친구 만들기 이걸 다시 나누면 사용자 , 글로 나눌 수 있으므로 이 두 기능을 하는 앱을 만든다. 👉 User : 사용자 관리 ( 회원가입/로그인/로그아웃) 👉 Tweet : 글 관리( 글쓰기, 삭제, 수정, 댓글) $ django-admin startapp user $ django-admin startapp tweet 프로젝트 세팅하기 mySpartaSns/mySpartaSns 폴더 : 이 프로젝트를 관리하는 모든 정보들을 갖고 있는 곳 mySpartaSns/mySpartaSns/settings.py : Django가 ..
Dev/Django
파이썬 장고 실무 기초 1주차 파이썬 웹 프레임워크 웹 프레임워크? 프레임워크는 개발을 도와주는 하나의 틀 👉 결과물을 일정한 형태로 만들 수 있도록 도와줌 👉 때문에 우리가 비슷한 방법과 방식으로 완성 된 형태를 만들 수 있음 파이썬 웹 프레임워크의 종류 - 최소한의 기능만 제공하는 형태 서버를 만들기 위한 최소한의 기능들만 제공하는 철학을 가지고있는 프레임워크들입니다. ex) Flask - 이미 많은 기능들을 제공하고 있는 형태 웹서비스에 공통적으로 필요한 부분들이 미리 구현되어 있습니다. ex) Django Django 알아보기 장고의 MVT 패턴 - M (Model) - 데이터베이스의 모델 (ORM) - 저장되고 사용되는 데이터의 형태 - T (Template) - 사용자에게 보여지는 부분 - 화..
TIL, WIL/내배캠 WIL
Facts 이번주에 배운 것 1. 알고리즘 세션 2. 개인과제 3. 팀과제 이번주 목표 1. 개인 과제 성공적으로 끝내기 ✅ 2. 팀 과제 열심히 하기 ✅ 3. TIL 밀리지 않게 작성하기 ❎ 4. 주 80시간 이상 공부하기 ✅ Findings - 얻은 결과 저번주에 들었던 파이썬 기초, 심화 문법을 기반으로 개인과제, 팀과제를 진행하면서 클래스 사용에 조금 익숙해질 수 있었다. Feelings 나름 클래스라는 개념을 꽤 이해하고 있다고 생각했는데 막상 개인 과제를 진행하면서 직접 사용하는 건 더 어렵다는 것을 깨달았다. 그래도 개인 과제 한 번 하고, 팀 과제로 한 번 더 하면서 일주일 내내 연습한 효과는 있는 것 같다. 처음엔 개인과제를 진행하고 똑같은 걸 팀과제로 또 하는 게 이상했는데, 해보니까 ..
TIL, WIL/내배캠 TIL
알고리즘 문제풀이 배열 두배 만들기 👇문제👇 더보기 문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 -10,000 ≤ numbers의 원소 ≤ 10,000 1 ≤ numbers의 길이 ≤ 1,000 입출력 예 numbers result [1, 2, 3, 4, 5] [2, 4, 6, 8, 10] [1, 2, 100, -99, 1, 2, 3] [2, 4, 200, -198, 2, 4, 6] 입출력 예 설명 입출력 예 #1 [1, 2, 3, 4, 5]의 각 원소에 두배를 한 배열 [2, 4, 6, 8, 10]을 return합니다. 입출력 예 #2 [1, 2, 100, -99, 1,..
TIL, WIL/내배캠 TIL
알고리즘 세션 스택 / 큐 코테 빈출! 스택(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..
TIL, WIL/내배캠 TIL
오늘 배운 것 알고리즘 세션 빅오 표기법 메모리 기술의 발달로 인해 시간복잡도가 공간복잡도보다 더 중요해짐 배열과 연결 리스트 배열 - 가장 많이 사용되는 자료구조 - 조회 : 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 ..
TIL, WIL/내배캠 WIL
Facts 이번주에 배운 것 Python 문법 기초 Python 문법 심화 코딩테스트 연습문제 및 개인 과제 이번주 목표 파이썬 문법 기초 완강 ✅ 파이썬 문법 심화 듣기 ✅ TIL 밀리지 않게 작성하기 ❎ ▶ 과제 핑계로 금요일 TIL, 이번주 WIL 몰아서 쓰는 중 주 80시간 공부 채우기 ✅ Findings - 얻은 결과 처음 다뤄보는 파이썬 문법의 사용법에 대해 배우고 익힐 수 있었다. 코딩테스트 연습 문제를 통해 실제로 사용하는 법을 연습할 수 있었다. Feelings 아무래도 팀 프로젝트 할 때와는 다르게, 개인 공부를 하니까 팀원분들이랑 이야기할 기회도 적고, 그래서 더 친해질 기회도 적었던 것 같다. 저번에는 일주일동안 프로젝트 하면서 엄청 가까워졌는데, 이번엔 아직 이야기도 그렇게 많이 ..
TIL, WIL/내배캠 TIL
시도했던 것 개인과제 기능 보충 플레이어 레벨이 오를 때 마다(최대 체력, 공격력 증가) 몬스터도 같이 강해지게 하기 하나씩 죽일 때가 아니라, 한 번 승리할 때 마다 레벨업이 되게 하고 + 플레이어 이름에 따라 레벨 저장하기 👉 싹 다 실패!
TIL, WIL/내배캠 TIL
👇과제👇 더보기 - **요구사항** - 이름을 입력해 플레이어를 생성할 수 있어야 합니다. - 몬스터는 임의 생성할 수 있어야 합니다. - while 반복문을 사용해 종료 조건을 충족할 때까지 턴제 플레이어와 몬스터간 전투를 반복 진행해야 합니다. - 플레이어는 공격 타입을 선택할 수 있어야 합니다. ex) `일반공격` , `마법공격` - 몬스터는 일반 공격을 할 수 있어야 합니다. - 매 전투시 플레이어와 몬스터의 상태 정보를 출력해야 합니다. - 모든 공격은 캐릭터의 파워 기준으로 랜덤성을 가지고있어야 합니다. ex) 파워가 10인경우 일반공격은 8~12사이의 랜덤한 값으로 공격 - 몬스터나 플레이어의 HP가 0이되면 전투를 종료하고 승리 또는 패배를 출력해야 합니다. - **기본 가이드** # **..
코딩테스트 연습/프로그래머스
코딩테스트 연습문제 👇문제👇 더보기 문제 설명 지나다니는 길을 'O', 장애물을 'X'로 나타낸 직사각형 격자 모양의 공원에서 로봇 강아지가 산책을 하려합니다. 산책은 로봇 강아지에 미리 입력된 명령에 따라 진행하며, 명령은 다음과 같은 형식으로 주어집니다. ["방향 거리", "방향 거리" … ] 예를 들어 "E 5"는 로봇 강아지가 현재 위치에서 동쪽으로 5칸 이동했다는 의미입니다. 로봇 강아지는 명령을 수행하기 전에 다음 두 가지를 먼저 확인합니다. 주어진 방향으로 이동할 때 공원을 벗어나는지 확인합니다. 주어진 방향으로 이동 중 장애물을 만나는지 확인합니다. 위 두 가지중 어느 하나라도 해당된다면, 로봇 강아지는 해당 명령을 무시하고 다음 명령을 수행합니다. 공원의 가로 길이가 W, 세로 길이가 H..
STUDY/기타
오늘 한 일 - 파이썬 문법 심화 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) ..
STUDY/기타
오늘의 강의 파이썬 문법 심화 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..