전체 글 300

[Java] 전역 변수(Global variable)

Java에는 C언어와 똑같은 방식으로 전역 변수를 선언할 수 있지만 사용하는 방법은 다르다. Java에서 전역 변수를 개념적으로 이해하기 위해선 Java에는 전역 변수가 없다고 생각하는 것이 편하고, 실제로 자바엔 전역 변수라는 개념이 없다는 설명을 아래와 같이 많이 찾아볼 수 있다. - Truly global variables do not exist in Java - Java actually doesn't have the concept of Global variable - Global variables are not technically allowed in Java C언어의 전역 변수는 아래와 같이 사용이 가능하다. int global_var = 1; int main() { printf("%d", gl..

[Tech, etc.] 테스트 주도 개발(Test-driven development, TDD)

테스트 주도 개발은 소프트웨어 개발 방법론 중 하나로, 설계한 프로그램의 코드 외에 테스트 코드를 따로 작성해 반복 테스트를 진행하고, 테스트가 실패하면 해당 코드를 수정하고, 이를 리팩토링 하는 방식으로 반복적으로 적용되는 개발 방법이다. 짧은 개발 사이클과 작은 유닛을 추가하는 방식으로 진행된다. 출처 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..

[Tech, etc.] 인텔리제이 제이유닛(IntelliJ JUnit)

공식 사이트에 따르면 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까..

[Java] 생성자(Constructor)

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. : 생성자는 한 클래스의 인스턴스인 객체를 생성할 때 사용된다. 일반적으로 생성자는 메소드가 호출되거나 *필드(지역 변수, 인스턴스 변수, 클래스 변수)가 접근되기 전에 클래스를 초..

[Python] for문(for loop)

파이썬의 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

[Python] 다중 반복문(multiple loops) 탈출

한 개의 반복문 탈출 시엔 필요한 조건에서 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..

[Python] pass vs continue vs break

파이썬 알고리즘 문제를 풀던 중 이중 반복문을 탈출하는 방법을 구글링하다 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..

[Tech, etc] Python vs Python3

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/ ..

[Espresso] Sunday - June 12th

1. 중국 국방부 장관은 대만을 중국 본토로부터 분리하려는 세력이 있다면 중국은 전쟁도 불사할 것이라 전해. 미국 국방성 장관은 싱가폴 샹그릴라 대화에서 중국이 그들의 영토 주장에 대한 강압적이고 공격적인 접근을 비판하며, 미국은 대만의 저항을 돕기 위한 어떤 무력이라도 유지할 것이라고 말해. 2. 독일 총리 올라프 숄츠와 프랑스 대통령 에마뉴엘 마크롱, 이탈리아 총리 마리오 드라기가 이번 달 키이우를 방문할 예정이라고 Bild는 전해. 숄츠 총리는 6월 26일 열리는 G7 정상회담 이전에 우크라이나 대통령인 볼로디미리 젤렌스키를 만나길 원해. 3. 러시아와 우크라이나 간 세베로도네츠크에서 진행 중인 극심한 시가전이 많은 사상자를 낳고 있다고 영국 국방성이 전해. 4. 예고 없이 키이우를 방문한 우슐라 ..