반응형

개발 106

g

[Python] TDD를 활용한 파이썬 unittest 사용 방법과 예제

오늘은 파이썬 unittest를 사용해서 내가 만든 프로그램을 테스트하는 방법에 대해서 알아보도록 하겠다. 파이썬 unittest 사용 방법과 간단한 예제 unit test란 무엇인가 unit test는 한국어로 단위 테스트라고 불리며 가능한 작은 단위인 함수나 클래스 단위를 각각 확인하는 테스트 방식을 뜻한다. 즉 어떤 큰 프로그램이 있더라도 결국 작은 단위의 함수가 클래스로 이루어져 있는데 그 작은 단위 하나하나를 테스트해서 궁극적으로 테스트의 커버리지를 확보하는 테스트 방식을 뜻한다. 개발자가 할 수 있는 간단하고 그나마 쉬운 테스트이다. 그래서 단위 테스트를 잘 활용해서 테스트 주도 개발(TDD)을 할 수 있다면 굉장히 좋은 코드가 나올 것이다. 물론 TDD가 완벽하거나 모든 것을 해결하는 것도 ..

개발/Python 2023.02.20

g

[Python] time 모듈을 활용해서 성능 측정 하기 (feat. factorial)

Python에서 제공하는 time 모듈을 활용해서 성능을 측정해 보고 factorial에 대해서 공부해 본다. time 모듈을 활용해서 성능 측정 하기 (feat. factorial) Python time 모듈 활용방법 python에서 제공하는 time 모듈은 시간에 관련된 여러 가지 기능을 제공한다. 그중에서 쉽게 사용해 볼 수 있는 것이 현재 시간을 측정하는 것이고 이를 통해 내가 구현한 함수나 기능의 수행시간이 측정 가능해서 간단하게 성능 측정이 가능하다. 사용방법은 import 한 뒤 time.time으로 쉽게 사용할 수 있다. 또한 현재 연월일시분초 등을 알고 싶을 때는 localtime이라는 것을 활용한다. import time if __name__ == '__main__': print(tim..

개발/Python 2023.02.19

g

[Python] 개발 환경 PyCharm과 Jupyter Notebook 비교

파이썬을 개발하기 위한 개발 환경 중 PyCharm과 주피터 노트북의 차이를 알아본다. PyCharm과 Jupyter Notebook 비교 우리가 파이썬으로 공부를 하거나 개발할 때 활용할 수 있는 개발 환경이 크게 2가지가 있다. 하나는 PyCharm과 같은 IDE 환경이고 다른 하나는 주피터 노트북이다. PyCharm IDE 다른 포스팅에서 PyCharm을 설치하는 방법을 다룬 적이 있다. IDE의 가장 큰 장점은 편의성이다. 오히려 개발 환경에 대해서 잘 모르는 사람도 IDE를 깔고 실행하면서 디버깅하기가 좋다. 왜냐하면 IDE는 이미 많은 것들을 포함하고 유저의 편의성을 위해 많은 도구들을 지원하기 때문이다. 아래 화면은 그냥 깔고 프로젝트 생성만 하면 나오는 환경이다. Run 하 위와 같이 Ru..

개발/Python 2023.02.17

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 회의실 예약

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 회의실 예약 문제를 풀어보고 리뷰해 본다. 연습 문제 - 회의실 예약 난이도 : level 2 정답률 : 63% https://softeer.ai/practice/info.do?idx=1&eid=626 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 회의실 이름이 주어지고 각 회의실이 9시부터 18시까지 예약된 정보가 입력된다. 입력된 시간 정보를 바탕으로 비어 있는 회의실 정보를 출력하는 문제이다. 문제에서 고려해야 하는 포인트는 아래와 같다. 입력 패턴을 이해하고 실수 없이 구현하기 회의실 정보를 시간단위로 저장하기 입력된 회의실 예약정보를 잘 처리하기 출력 패턴을 실수 없이 구현하기 다른 lev..

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 전광판

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 전광판 문제를 풀어보고 리뷰해 본다. 연습 문제 - 전광판 난이도 : level 2 정답률 : 74% https://softeer.ai/practice/info.do?idx=1&eid=624 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 하나의 숫자를 표현하기 위해 디지털 전구로 표현된 전광판이 출력되는 문제이다. 디지털 숫자를 표현하는 방식으로 아래와 같이 0부터 9까지 표시가 된다. 이런 패턴을 이해하고 두 개의 숫자 A와 B를 입력받고 A에서 B로 변경될 때 변경되는 전구의 개수를 판단하는 문제이다. 최대 5자리 숫자의 A와 B가 주어지며 A와 B의 숫자는 자릿수가 다를 수 있다. 문제에서 고..

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 지도 자동 구축

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 지도 자동 구축 문제를 풀어보고 리뷰해 본다. 연습 문제 - 지도 자동 구축 난이도 : level 2 정답률 : 62% https://softeer.ai/practice/info.do?idx=1&eid=413 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 지도 자동 구축이라는 문제 컨셉이다. 정사각형이 있고 각 꼭짓점에 4개의 점이 있다. 여기서 차수가 늘어갈수록 점이 추가되는 문제이다. 추가되는 점은 2가지이다. 정사각형의 각 변의 중앙에 점을 하나 추가한다. 정사각형의 중심에 점을 하나 추가한다. 이렇게 패턴에 따라 증가하면 4 -> 9 -> 25 -> 81... 이렇게 증가하게 될 것이다. 이..

g

[Docker] 도커의 개념과 설치 방법에 대해서

오늘은 도커의 개념과 설치하는 방법을 공부해 보고 한번 실행해 볼 것이다. 도커의 개념과 설치 방법에 대해서 도커의 개념 도커는 한 마디로 말하면 컨테이너를 활용한 오픈소스 가상화 플랫폼 혹은 기술이다. 컨테이너는 독립적인 실행 환경으로 기존 VM과는 다르게 OS를 가상화하지 않고 기존 OS 위에 컨테이너를 실행하는 개념이라고 할 수 있다. 우리가 각 PC 환경에서 개발하거나 프로그램을 실행하려고 했을 때 로컬 환경마다 설정이 다르고 여러 가지 문제가 많이 발생한다. 그런 것들을 컨테이너에 담아서 독립적으로 실행할 수 있다면 어디에서 누가 실행하더라도 동일하게 실행할 수 있겠다는 콘셉트에서 시작된 기술이라고 볼 수 있다. 도커 컨테이너를 빌드하고 이미지를 만들어서 배포할 수 있어서 빠르게 확산되고 있다...

개발/DevOps 2023.02.14

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - 비밀 메뉴

코딩 테스트를 위한 소프트어(Softeer) 연습 문제 중 비밀 메뉴 문제를 풀어보고 리뷰해 본다. 연습 문제 - 비밀 메뉴 난이도 : level 2 정답률 : 54% https://softeer.ai/practice/info.do?idx=1&eid=623&sw_prbl_sbms_sn=146427 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 비밀 메뉴가 존재한다. 비밀 메뉴의 패턴이 입력되고 사용자가 입력한 패턴이 입력된다. 사용자 입력 패턴 중에 비밀 메뉴의 패턴이 있는지 확인하고 있으면 secret을 아니면 normal을 출력하는 문제이다. 즉 두 세트의 배열이 존재하고 두 배열이 매칭이 되는 부분이 있는지 찾는 문제이다. 얼핏 보면 간단하지만 2개의..

g

[코딩 테스트] 소프티어(Softeer) 연습 문제 - GBC

코딩 테스트를 위한 소프티어(Softeer) 연습 문제 중 GBC 문제를 풀어보고 리뷰해본다. 연습 문제 - GBC 난이도 : level 2 정답률 : 42% https://softeer.ai/practice/info.do?idx=1&eid=584 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 해설 글로벌 비즈니스 센터(GBC, Global Business Center)는 현대자동차그룹 통합 사옥이다. 지하 7층, 지상 105층, 높이 약 570m의 규모로 2026년 하반기에 완공을 목표로 현재 공사 중에 있다. 주어진 구간의 제한 속도와 테스트한 구간 속도를 비교해서 가장 크게 제한 속도를 넘어간 값이 얼마인지 구하는 문제이다. N개의 구간과 제한 속도가 주어..

g

[파일 형식] 마크다운(Markdown) 파일에 대해서

특정 문법을 사용해서 화면에 표시해 주는 마크업 language 중 하나인 마크다운 언어의 문법을 알아보고 사용해 보도록 한다. 마크다운(Markdown) 파일에 대해서 마크다운(Markdwon)이란 Markdown은 텍스트 기반의 마크업언어로 2004년 존그루버에 의해 만들어졌다. HTML로 변환이 가능하며 간단하게 작성할 수 있다. 특수기호와 문자를 이용해서 간단한 구조의 문법을 정하였으며 직관적이며 웹에서 쉽게 활용할 수 있다. 마크 다운이 대표적으로 많이 사용되는 곳이 GitHub이다. GitHub의 최초 README.md 가 바로 Markdown(. md) 파일이다. 각종 오픈소스 프로젝트에서 많이 활용되고 Wiki 등과 같은 곳에서 사용법과 가이드 문서 등을 자주 활용하게 되면서 널리 사용되고..

반응형