테스트 주도 개발은 소프트웨어 개발 방법론 중 하나로, 설계한 프로그램의 코드 외에 테스트 코드를 따로 작성해 반복 테스트를 진행하고, 테스트가 실패하면 해당 코드를 수정하고, 이를 리팩토링 하는 방식으로 반복적으로 적용되는 개발 방법이다. 짧은 개발 사이클과 작은 유닛을 추가하는 방식으로 진행된다. 출처 1. https://marsner.com/blog/why-test-driven-development-tdd/ Why Test-Driven Development (TDD) | Marsner Technologies % marsner.com 2. https://ko.wikipedia.org/wiki/%ED%85%8C%EC%8A%A4%ED%8A%B8_%EC%A3%BC%EB%8F%84_%EA%B0%9C%EB%B..
공식 사이트에 따르면 JUnit에 대한 설명은 다음과 같다. : JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks. : JUnit은 반복 테스트를 작성하는 간단한 프레임워크다. xUnit 아키텍처의 인스턴스 중 하나로 유닛 테스트(단위 테스트)용 프레임워크다. 위키백과에 따르면 JUnit은 자바 프로그래밍 언어용 유닛 테스트 프레임워크고, Test-driven development(TDD) 측면에서 중요하며 SUnit과 함께 시작된 XUnit이라는 유닛 테스트 프레임워크의 계열이다. JUnit은 현제 5번째 버전인 JUnit 5까..
Oracle Java Documentation에 따르면 생성자(Constructor)의 정의는 아래와 같다. : A constructor is used in the creation of an object that is an instance of a class. Typically it performs operations required to initialize the class before methods are invoked or fields are accessed. Constructors are never inherited. : 생성자는 한 클래스의 인스턴스인 객체를 생성할 때 사용된다. 일반적으로 생성자는 메소드가 호출되거나 *필드(지역 변수, 인스턴스 변수, 클래스 변수)가 접근되기 전에 클래스를 초..
https://leetcode.com/problems/3sum/ LeetCode 13번 3Sum 문제는 다음과 같다. Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0. Notice that the solution set must not contain duplicate triplets. Constraints: 3
파이썬의 for문은 C언어의 for문과 다르다. C언어에 익숙해 같은 방식으로 선언하니 결과가 다르게 나와 파이썬에서 for문의 원리를 찾아봤거 파이썬 위키에서 차이점을 알게 됐다. 파이썬 위키 설명 중 아래와 같은 문구가 있다. for loops are used when you have a block of code which you want to repeat a fixed number of times. 파이썬의 for문은 고정된 횟수만큼 반복된다. 다음 예시에서 C언어와 차이를 확연하게 확인할 수 있다. 1. C언어(C language) for(i=0; i
한 개의 반복문 탈출 시엔 필요한 조건에서 break를 통해 바로 빠져나갈 수 있지만, 다중 반복문에선 그게 불가능하다. 다음은 다중 반복문을 탈출할 수 있는 세 가지 방법이다. 1. flag 사용 : 아래와 같이 flag를 사용한다면 다중 반복문에서 flag를 매 반복문마다 확인해 break를 선언한다면 탈출이 가능하다. i = flag = 0 while i < 5: for j in range(5): if j%2 == 1: print(j) flag = 1 break print(j) if flag == 1: break 실행 결과: 0 1 2. 예외 처리(except) : 아래와 같이 except 처리를 통해서도 다중 반복문을 탈출할 수 있다. class LoopBreak(Exception): pass t..
파이썬 알고리즘 문제를 풀던 중 이중 반복문을 탈출하는 방법을 구글링하다 error를 발생시켜 탈출하는 방법을 알게 됐고, 예시에서 pass를 알게 됐다. 다음은 해당 예시다. class LoopBreak(Exception): pass try: for i in range(5): for j in range(5): if i == 1 and j == 1: raise LoopBreak() except LoopBreak: pass W3Schools에 따르면 pass의 정의는 다음과 같다. pass : The pass statement is used as a placeholder for future code. When the pass statement is executed, nothing happens, but y..
Leetcode 문제를 풀기 위한 언어 선택 중 Python과 Python3 두 가지 옵션이 있어 알아보게 됐다. 기본적으로 모든 Python은 Open Source이고 대부분 GPL-compatible 하다. 실제로 안드로이드 개발 당시 설치했던 파이썬 3.x 버전에선 필요로했던 기능이 동작하지 않아 지우고 2.7 버전으로 재설치했던 일이 있었다. Python 2 1. Python 2.7은 2020년 1월 1일을 마지막으로 더는 지원하지 않음 2. 2000년 Python 2.0이 처음 배포되고 마지막 버전은 2.7로 2010년에 배포 Python3 1. Python 3.0은 2008년 처음 배포됐고, 가장 최신 버전은 현재 3.10.4 2. https://www.python.org/downloads/ ..
계산 가능성 이론(computability theory)에 따르면, 원시 재귀 함수는 대략적으로 반복문이 모두 "for"문인 컴퓨터 프로그램에 의해 계산되는 함수를 말한다. 원시 재귀 함수는 전역 함수(total function)이자 일반 재귀 함수들로 이뤄진 진부분집합(strict subset, proper subset)을 가진다. 원시 재귀 함수의 중요성은 수학에서 계산 가능한 대부분의 함수들이 원시 재귀라는 것에 있고, 더하기, 나누기, 팩토리얼, 지수 함수가 그 예다. 참고 - Primitivec recursive function(원시 재귀 함수): 반복 수를 알아 for loop 가능 - Recursive function(일반 재귀 함수): 반복 수를 몰라 for loop 불가 ex) 아커만 함..
계산 가능성 이론에 따르면 아커만 함수는 빌헬름 아커만(Wilhelm Ackermann)의 이름을 딴 함수로, 가장 간단하고 먼저 발견된 완전 계산 가능(total computable function) 함수이며 비원시 귀납 함수(not primitive recursive function)이다. 모든 원시 귀납 함수는 완전(total)하고 계산 가능하지만, 아커만 함수는 모든 완전 계산 가능 함수가 원시 재귀 함수는 아니라는 것을 설명한다. 아커만의 발표 이후, 3개의 음수가 아닌 정수를 인자로 갖는 아커만 함수에 대해 많은 사람들이 다양한 목적으로 변형했다. 흔한 예정 하나로는 두 개의 인자를 갖는 아커만 피터 함수(Ackermann-Peter function)이 있는데 음수가 아닌 두 정수 m과 n에 ..
- Total
- Today
- Yesterday
- min heap
- ml
- 이코노미스트 에스프레소
- C++
- 딕셔너리
- 소켓 프로그래밍
- 안드로이드
- Computer Graphics
- 이코노미스트
- 머신 러닝
- 파이썬
- vertex shader
- 투 포인터
- 리트코드
- The Economist Espresso
- I2C
- 오블완
- Python
- socket programming
- Hash Map
- defaultdict
- Android
- The Economist
- join
- 티스토리챌린지
- tf-idf
- DICTIONARY
- leetcode
- java
- machine learning
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |