전체 글

파이썬으로 이메일 보내기(SMTP)
SMTP란? SMTP는 메일 발송 요청을 처리하는 서버이다. 이 때 SMTP는 Simple Mail Transfer Protocol의 약자로, 이메일을 주고 받는 표준적인 약속 체계나 규약을 의미한다. SMTP가 메일 발송을 위한 프로토콜이라면, IMAP은 메일 수신을 위한 프로토콜이라 할 수 있다. MIME(Multipurpose Internet Mail Extensions)은 메일 작성을 위한 표준적인 형식을 의미한다. 메일 전송을 요청할 때, 서버가 이해할 수 있도록 MIME형식으로 메일을 작성해야 한다. 사용방법 파이썬으로 메일을 작성할때는 별도의 라이브러리가 필요하지 않으며, Smtplib라는 기본 라이브러리를 사용합니다. Smtplib는 Smtp를 사용할 때 필요한 모듈로, 파이썬 설치시 기본..
openpyxl을 이용한 엑셀 데이터 추출하기
openpyxl 이란? openpyxl은 Excel 2010 xlsx/xlsm/xltx/xltm 파일을 읽고 쓰는 Python 라이브러리입니다. 설치방법 pip install openpyxl 사용방법 # 코드블럭에 삽입하다보니 인덴트가 안맞습니다. 참고해주세요! import openpyxl 1. 파일 열기 # 셀 값이 함수 및 수식일 경우 함수 및 수식을 가져옴 wb = openpyxl.load_workbook('파일경로') # 셀 값이 함수 및 수식일 경우 data_only=True 옵션을 주면 함수 및 수식의 결과값 만을 가져옴 wb =openpyxl.load_workbook('파일경로', data_only=True) 2. 파일 닫기 # 엑셀 작업이 모두 끝난 시점에 사용 wb.close() 3. 시..
[프로그래머스] LEVEL2 - 기능개발 (Python)
https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 문제설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정..
Django queryset과 get_queryset()의 차이점
queryset과 get_queryset()은 같은 동작을 하지만, 필터의 값이 동적일 경우 잘못된 쿼리가 나올 수 있습니다. queryset은 request 발생시 한번만 쿼리셋이 동작합니다. get_queryset()은 모든 request마다 동작합니다. # 필터의 값이 동적일 경우 잘못된 쿼리가 나올 수 있음 # (X) class ListView(ListAPIView): queryset = order.objects.filter(created_date=date.today()) # 앱이 시작될 때 date.today() 실행 됨 # (O) class ListView(ListAPIView): def get_queryset(self): return order.objects.filter(created_dat..
[프로그래머스] LEVEL1 - 모의고사 (Python)
programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 문제설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...
신입 개발자가 되기까지
오늘은 취업을 할 때까지의 이야기를 적어보려 한다. 평생 동안 글을 써본 경험이라고는 자소서밖에 없어서 필력이 많이 부족하지만 내 경험을 적어보려 한다. 첫걸음 나는 컴퓨터 전공인 듯 전공 아닌 과를 졸업했다. 전공이면 전공이지 전공 아닌 과는 뭐야?라고 생각을 할 수 도 있지만 전공자라고 커리큘럼이 애매했고 비전공이라기엔 컴퓨터 개론, 네트워크, 리눅스 같은 것들을 배워 봤기 때문이다. 우리 과는 특정시기가 되면 응용 파트와 보안 파트로 선택이 가능했는데, 내 경우에는 복학을 하려고 과사에 방문했을 때 바로 선택을 해야 한다고 해서 보안은 정보보안, 응용은 웹이라는 조교님의 말만을 듣고 응용 파트를 선택했다. 응용 파트는 내가 생각했던 것과는 전혀 달랐었다. 웹 개발보다는 웹디자이너+퍼블리셔를 양성하는..
[프로그래머스] LEVEL4 - 가사 검색 (Python)
programmers.co.kr/learn/courses/30/lessons/60060 코딩테스트 연습 - 가사 검색 programmers.co.kr 문제설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 친구들로부터 천재 프로그래머로 불리는 프로도는 음악을 하는 친구로부터 자신이 좋아하는 노래 가사에 사용된 단어들 중에 특정 키워드가 몇 개 포함되어 있는지 궁금하니 프로그램으로 개발해 달라는 제안을 받았습니다. 그 제안 사항 중, 키워드는 와일드카드 문자중 하나인 '?'가 포함된 패턴 형태의 문자열을 뜻합니다. 와일드카드 문자인 '?'는 글자 하나를 의미하며, 어떤 문자에도 매치된다고 가정합니다. 예를 들어 "fro??"는 "frodo", "front", "frost" 등에 매치되..
[프로그래머스] LEVEL2 - 짝지어 제거하기 (Python)
programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 문제설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 ..