반응형

프로그래밍 135

[프로젝트] 05. Django SNS CaMu

개요: 여행가면서 듣기 좋은 음악을 추천하는 SNS 서비스 Ca(raudio) Mu(sic) (였는데..?) 프로젝트 정보 프로젝트: SNS서비스 CaMu (Django 기초 팀 프로젝트) 개발기간: 2023.04.10 - 2023.04.13 ( 4일 ) 역할 메인페이지 전체 레이아웃 css 사용 언어: Python 사용 라이브러리: Python Django (풀스택 프레임워크) Pillow (이미지 업로드) ytmusicapi (유튜브 api) 프로젝트 구성 ★ 파일구조 관리 앱 Django_Team_Project, 댓글 앱 comment, 메인 컨텐츠 앱 tweet, 유저 관리 앱 user으로 구성 CaMu comment ┣ templates ┃ ┗ comment_test.html ┣ admin.py..

[Django] 장고 기초 - (1) 개요 및 개발 환경 구성

Chapter 01. 풀스택 웹개발 프레임 워크: 장고(Django) Python을 기반으로 만들어진 풀스택 프레임워크로 앱의 재사용성(Reusable App), 플러그인성(Plugability) 등의 철학을 강조한다. 즉, 한번 작성한 코드(앱)를 여기저기 활용하는 것이 가능하다는 것이다. Django는 캔자스시티 로렌스라는 도시에서 출간되는 신문, Lawrence Journal-World의 두 웹 프로그래머가 2003년 만들었으며 개발 당시 Django ReinHardt라는 재즈 기타리스트의 노래를 들으면서 만든 영향으로 이 프레임워크에 Django란 이름이 붙게 되었다. Django는 2021년 Github star 기준 가장 많은 star수를 가진 프레임워크다. 이는 그만큼 많은 사용자들과 이에 ..

[프로젝트] 04. Django 무신사 재고 관리 시스템

개요: Django를 이용한 무신사 재고 관리 시스템 만들어보기 프로젝트 정보 프로젝트: 무신사 재고 관리 시스템 (파이썬 Django 세션 개인 프로젝트) 개발기간: 2023.04.05 - 2023.04.07 ( 3일 ) 역할 all of it 사용 언어: Python 사용 라이브러리: Python Django (웹개발 프레임워크) Django HTML Bootstrap (프레임워크) 프로젝트 구성 ★ 파일구조 유저 정보를 관리하는 accounts앱과 재고 관리하는 erp앱으로 구성되어 있다 musinsa accounts ┣ migrations ┣ admin.py ┣ apps.py ┣ models.py (M) ┣ tests.py ┣ urls.py ┣ views.py (V) ┗ __init__.py er..

[프로젝트] 03. Text RPG게임 냥이 키우기

개요: 파이썬을 이용한 Text RPG. 직업을 가진 고양이 캐릭터들을 골라 多 vs 多 턴제 게임을 구현함 프로젝트 정보 프로젝트: 냥이 키우기 프로젝트 (파이썬 객체 지향 프로그래밍 세션) 개발기간: 2023.03.29 - 2023.03.31 ( 3일 ) 역할 메인 화면 구현 인트로 구현 배틀 시스템 구현 마을 구현 여관 구현 사용 언어: Python 사용 라이브러리: Python(Vanilla) 프로젝트 구성 ★ 파일구조 각 기능을 통합하는 main.py를 포함해 총 6개 파일로 구성되어 있다. Cat Game ─┬─ main.py (각 기능 통합 및 게임 실행) ├─ battlephase.py (전투 시스템) ├─ items.py (아이템 및 장비) ├─ object.py (캐릭터 및 몬스터) ├..

[알고리즘] 01. 정렬 알고리즘(Sorting Algorithm)

velog에 정렬 알고리즘을 정리했지만 다시 조금씩 까먹는 것 같아 다시 한번 정리하려고 한다 컴퓨터 과학 분야에서 정렬 알고리즘은 어떤 자료의 요소를 순서대로 배치하는 방법에 관한 것이다. 검색이나 병합 알고리즘을 사용할 때 입력된 데이터가 효율적으로 정렬되어 있는 것이 중요한데, 이 때 정렬의 효율성에 알고리즘이 고려된다 정렬 알고리즘의 아웃풋은 아래의 두가지 조건을 충족해야 해야 한다 1. 아웃풋은 단조(monotonic)로워야 한다 2. 아웃풋은 인풋의 순열(permutations)이어야 한다 즉, 정렬 알고리즘을 사용해 정렬이 끝난 뒤에 결과물의 각 요소는 (1) 이전 요소보다 작거나 크지 않아야 하며(한가지 흐름을 유지한다는 뜻) (2) 인풋의 모든 요소를 유지해야 한다 위와 같이 다양한 정렬..

[Python] 자료형 특집 - (1) 시퀀스 타입(List/Tuple/Range)

자료형 특집은 기본적인 부분은 최대한 배제하고 내가 몰랐던 부분 위주로 작성하려고 한다 시퀀스타입이란 값이 연속적으로 이어진 자료형이다 Python의 기본적인 시퀀스 타입(Sequence Type)은 세가지가 있다. List/Tuple/Range (문자열 타입은 따로 정리해야 하므로 제외하도록 한다) sequence.index(x[, i[, j]]) sequence안의 x가 (i번 index 이후, j번 index 이전에서) 첫번째로 발견되는 index(위치) 반환 Optional Parameter i : 찾을 인덱스의 시작. search범위에 포함 j: 찾을 인덱스의 끝. search범위에 미포함 아래의 예제를 보자 arr = [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4] # 1 p..

[Python] 함수 사용법 - (3) itertools

이번엔 Python이 APL, Haskell, SML같은 2000년대 이전 프로그래밍 언어에 영향을 받아 캐스팅한 itertools 모듈에 대해 공부해보자. itertools 모듈은 순수 파이썬에서 간결하고 효율적으로 iterator를 만든다. from itertools import product def solution(board): for row in range(len(board)): for grid in range(len(board[row])): if board[row][grid] == 1: for i in list(product([-1, 0, 1], repeat=2)): if row+i[0] >= len(board) or row+i[0] = len(bo..

[Python] 함수 사용법 - (2) sort(), sorted()

이번엔 sort(), sorted()의 차이점과 익명함수(Anonymous Function) lambda에 대해서 알아보자 def solution(numlist, n): answer = sorted(numlist,key = lambda x : (abs(x-n), n-x)) return answer solution([1, 2, 3, 4, 5, 6], 4) solution([10000,20,36,47,40,6,10,7000], 30) 문제: solution(m_list, n)에서 n에 가장 가까운 값부터 차례로 정렬하는 문제이다. 만약 거리가 같다면 더 큰 수를 앞에 오도록 배치한다 위 풀이는 sorted()함수의 optional parameter인 key를 이용해 간단하게 문제를 해결했다 sorted(it..

[프로젝트] 02. 팀 소개 프로젝트 Brain-8

개요: 본인의 뇌구조라는 컨셉으로 만든 팀 소개 프로젝트. 뇌의 각 부위를 클릭하면 각자가 작성한 내용을 볼 수 있다 프로젝트 정보 프로젝트: Brain-8 프로젝트 (내일배움캠프 개강 첫 미니 프로젝트) 개발기간: 2023.03.13 - 2023.03.16 ( 4일 ) 역할 팀장 Layout css 뇌 컨텐츠 개발 후 Merge 코드 최적화 사용 언어: HTML, JavaScript(Vanilla), Python 사용 라이브러리: HTML, JavaScript Jquery - 전체적인 동적 웹페이지 구현 Bootstrap(프레임워크) - 각 개체들 구현 Google Font (Gamja Flower) - 웹페이지 폰트 변경 css animation cheet sheet - css animation 구현..

[프로젝트] 01. 음악 추천 서비스 SMM

개요: 추천하는 음악을 올리고 좋아요 버튼으로 다른 사람들의 반응을 볼 수 있는 사이트. 인기차트를 이용해 가장 추천수가 높은 5개를 보여준다. 카테고리를 이용해 각 장르 별로 목록을 볼 수 있다. 프로젝트 정보 프로젝트: SMM 프로젝트 (내일배움캠프 개강 전 미니 프로젝트) 개발기간: 2023.03.02 - 2023.03.09 ( 7일 ) 역할 팀장 Layout css 글쓰기 메인section 화면 좋아요 인기차트 사용 언어: HTML, JavaScript(Vanilla), Python 사용 라이브러리: HTML, JavaScript Jquery - 전체적인 동적 웹페이지 구현 Bootstrap(프레임워크) - 각 개체들 구현 Google Font - 웹페이지 폰트 변경 Python Flask - 웹..

반응형