일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- javascript
- 동료리뷰
- turborepo
- 2인 사무실
- React
- Django
- XFrameOptions
- Regexp
- 구로 공유 오피스
- 구로 디지털 단지 사무실
- python
- 리더
- Domination Game
- multiprocessing
- 개발자
- 빠른 서버
- 공유 오피스
- iframe
- html
- 스타트업
- 테드스페이스
- PM
- JS
- 좋은 리더란
- 느린 서버
- typescript
- ai로 앱 만들기
- select tag
- css
- select css
- Today
- Total
목록python (6)
개발하는 일상
python의 map이 예상과 다르게 동작한다면? 입출력으로 문제를 풀어야 하는 플랫폼(백준, SWEA 등)에서 정수형 입력은 보통 다음과 같이 주어집니다. 1 2 3 4 5 6 7 8 9 10 input은 문자열을 return 하므로 숫자로 관리하기 위해 다음 코드를 사용하죠. numbers = map(int, input().split()) 만약 입력에 숫자 [3,6,9] 가 들어있는지 아닌지를 검사하기 위한 코드를 작성한다면? for i in [3, 6, 9]: if i in numbers: print('{} 들어있음'.format(i)) 3 들어있음 6 들어있음 9 들어있음 을 기대하고 작성했지만 실제로는 3 들어있음 밖에 출력되지 않습니다. Iterator와 map map 인스턴스(위 코드에서 n..
함수 입력과 출력, 블랙박스 등의 개념을 함수를 설명하면서 흔히 사용하지만, 저는 그것이 오히려 약간의 오해를 불러일으킬 수 있다고 생각합니다. 저는 프로그래밍을 처음 접하시는 분들을 자주 만나는데요. 그분들께서 주로 하셨던 잘못된 생각을 소개하며 함수를 알아보겠습니다. 특히, 파이썬의 주피터 노트북 같은 REPL(쉽게 말해서 코드를 실행한 결과를 바로 출력해주는 환경)에서 학습을 시작하셨다면 더욱 이런 오해를 가지기 쉽다고 생각합니다. 함수의 개념이 와 닿지 않았던 분들에게 도움이 되었으면 좋겠습니다. 수학에서의 함수 수학에서 말하는 함수와 프로그래밍에서 말하는 함수는 다르다 우리가 중학교를 거쳐 고등학교까지의 정규과정에서 배웠던 함수에는 반드시 입력(x)과 출력(y)이 존재합니다. y = x 같은 간..
파이썬으로 한 번에 여러 파일을 일괄 수정해야 할 일이 생겼습니다. open으로 파일의 일부를 수정할 수 있는 방법을 찾아보았는데, 직접적으로 수정할 방법은 없는 듯 하여 아래와 같이 간접적인 방법을 사용하였습니다. # 수정된 파일 내용이 임시로 저장될 리스트 edited_lines = [] with open(file_url) as f: lines = f.readlines() for line in lines: # 조건에 따라 원하는 대로 line을 수정 if 'have to update' in line: edited_lines.append('updated line') else: edited_lines.append(line) with open(file_url, 'w..
개발 배경은 제 글 Django로 채점 서버 만들기에 나와있습니다. Multiprocessing python 코드는 보통 동기적으로 작동하며, 코드 한 줄의 실행이 완료되어야 다음 코드를 실행합니다. 그럼 코드의 종료를 기다릴 수 없는 코드를 여러 번 실행해야 할 때는 어떻게 해야할까요? 예를 들어, 아래의 코드를 통해 Django 서버 여러 개를 켜려고 한다고 가정하겠습니다. import os for i in range(8000,8010): os.system(f'python manage.py runserver {i}') os.system은 터미널에서 해당 명령어를 실행해주는 메소드입니다. python manage.py runserver 는 터미널에서 Django 서버를 켜는 명령어입니다...
어떻게 만들게 되었나 저는 코딩과 관련된 교육을 하며, gitlab을 통해 학생들의 과제를 관리하고 있습니다. 학생 수가 많을 수록 과제를 하나하나 clone하거나 pull하는 것이 굉장히 번거로운 일이 됩니다. 그래서 간단한 파이썬 코드를 통해 이 작업을 자동화하였습니다. 파이썬 코드 실제로는 gitlab을 통해 관리하지만, 예시를 위해 github에 맞게 코드를 수정하였습니다. import sys import os from utils import get_students # 따로 만들어 둔 학생들 이름과 github username 리스트입니다. DIR_NAME = sys.argv[1] # 과제 repo 이름이 됩니다. 학생들에게 미리 통일해서 제출하도록 말해두었습니다. # 터미널에서 인자로 넘겨주는 ..
개발 배경 저는 코딩 교육을 하고 있습니다. 1~2주 마다 학생들이 제출한 프로젝트 과제를 채점해야 하는데, 여기서 두 가지 원하는 점이 생겼습니다. 20~30명 되는 학생들의 django project를 하나하나 python manage.py runserver를 해서 채점하는 노동 과정을 줄이고 싶다. 하나의 서버에서 모든 학생들의 프로젝트를 모아놓고 볼 수 있게 해서, 학생들이 다른 학생들의 프로젝트를 보고 자극 받게 하고 싶다. 혹은 잘 한 사람에게 더욱 동기 부여를 하고 싶다. 고려했던 방향 테스트 코드 작성 첫 번째 목표를 생각했을 때, 테스트 코드 작성이 떠올랐습니다. 실제로 2번 정도는 매 프로젝트 테스트 코드를 작성해서 채점을 진행해 보았습니다. 그리고 다음과 같은 문제점으로 다른 방법을 ..