본문 바로가기
반응형

전체 글319

[Java] valuOf()와 parseInt() 차이 자바 코딩을 하다보면 문자열 형태로 표현된 정수를 정수 타입 값으로 변환해야할 경우가 있습니다. 이 경우 vlueOf() 메서드와 parseInt() 메서드를 사용하게 됩니다. int number1 = Integer.valueOf("100"); System.out.println("number1 = " + number1); int number2 = Integer.parseInt("100"); System.out.println("number2 = " + number2); "100"이라는 문자열을 정수형 값으로 변경하는 방법은 위 코드에서 본 것처럼 Integer.valueOf() 메서드와 Integer.parseInt() 메서드가 있습니다. 이 프로그램을 실행시키면 다음과 같이 동일한 결과를 얻을 수 있습니.. 2020. 9. 4.
[Java] 깔끔한 조건문(if) 작성법 - Bubble Style vs Gateway Style 코딩을 하다보면 특정 로직에 대한 조건들이 달라붙으면서 조건문이 굉장히 지저분하고 가독성떨어지게 만들어지는 경험을 하게 됩니다. 조건문(분기문)을 조금만 다른 관점으로 접근하면 가독성일 훼손하지 않으면서도 동일한 로직을 구현할 수 있습니다. 조건문과 관련된 다음과 같은 글을 발견하게 되었습니다. Unconditionally: Refactoring Nested If-Statements for Cleaner Code • WPShout There's a lot to say about writing clean code: Earth's smartest people have spent a hundred or so years discussing the topic, and it doesn't look like wpsh.. 2020. 9. 3.
[Java] On-heap과 Off-heap JVM 리소스와 관련된 자료를 찾아보다가 'On-heap'과 'Off-heap'이라는 단어를 발견하게 되었다. 자바 프로그래밍에서 선언된 객체가 힙(Heap) 영역에 관리된다는 내용은 잘 알고 있지만 On-heap과 Off-heap이라는 구체적인 용어는 생소할 수 있다.. On-heap Store Java 프로그램에서 new 연산 등을 이용해 객체를 생성하면 JVM은 힙(Heap) 메모리 영역에 객체를 생성하여 저장, 관리한다. C/C++과 다르게 Java에서는 명시적으로 할당받은 메모리 영역을 해제하는 등의 조치는 취하지 않아도 된다. GC(Garbage Collection) 알고리즘이 귀찮고 어렵고 문제를 발생시킬 수 있는 메모리 관리를 대신 해주기 때문이다. Java에서 생성된 객체가 저장되는 힙 .. 2020. 8. 10.
[Java] 9가지 예외처리 Best Practice - Exception Handling 자바 프로그래밍에서 '예외(Exception)' 처리는 다소 까다로운 주제입니다. 때문에 각 개발팀들은 자신들만의 예외처리 규칙을 만들고 사용하는데요. 일반적으로 자바 프로젝트에서 따르면 좋은 예외처리 'Best Practice'를 정리해보겠습니다. 자바 예외(Exception) 프로그램 실행과정에서 발생하는 비정상적인 상황을 '예외(Exception)'라고 합니다. 예를들어 존재하지 않는 파일을 오픈하려고 한다던가, 설정되지 않은 객체의 메소드를 호출하려고 하는 경우 예외가 발생합니다. 프로그램 실행중에 발생하는 예외를 잘 처리해주는 것을 '예외처리(Exception Handling)'이라고 합니다. 예외 상황에서 벗어나도록 코드를 작성하던가 시스템을 망가트리지 않는 상황에서 자연스럽게 프로그램이 종료.. 2020. 8. 8.
구글 드라이브에서 파이썬 코딩하기 - 'Colaboratory' 간단한 스크립트 스타일의 프로그램을 작성하기에 '파이썬'만한 프로그래밍언어도 드문것 같습니다. 파이썬 프로그래밍은 IDE 없이 웹에서도 쉽게 작성할 수 있는 환경이 갖춰져 있는데요. 구글이 제공하는 클라우드 저장 공간인 '구글 드라이브'의 'Colaboratory' 앱을 이용하면 구글 드라이브에서 파이썬 프로그래밍을 할 수 있습니다. Colaboratory Colaboratory는 구글 리서치 팀에서 개발한 제품으로 브라우저를 통해 파이썬 코드를 작성하고 실행할 수 있는 개발환경입니다. 머신러닝이나 데이터 분석에 대한 교육 및 실무 작업에서 다양한 사람들과 코드를 공유하고 실행할 수 있는 환경을 제공해줍니다. Colab은 설정 없이도 사용 가능한 호스팅 주피터(Jupyter) 메모장 서비스로 GPU를 포.. 2020. 7. 26.
[파이썬] 리스트(배열)를 문자열로 변환 (Python list to string) 파이썬으로 간단한 알고리즘 문제를 풀다가 문자열을 이루고 있는 각 문자들을 배열로 다룰 필요가 있었습니다. 문자열과 문자 리스트의 상호 변환은 알고리즘 문제 풀이에서 자주 만나게 되는 사용패턴인데요. 스택(Stack)이나 큐(Queue) 같은 자료 구조에 문자열을 이루고 있는 문자들을 넣었다가 빼는 동작을 하고 다시 문자열로 만드는 동작이 필요했습니다. 파이썬의 문자열 타입은 'join(list)' 메서드를 제공하고 있습니다. 'join()' 메서드를 이용하면 리스트를 구성하고 있는 각각의 문자들을 하나의 문자열 형태로 변경해서 반환해줍니다. 다음 예제 코드를 살펴보겠습니다. str_list = ['H', 'E', 'L', 'L', 'O', ' ', 'W', 'O', 'R', 'L', 'D'] print.. 2020. 3. 14.
[파이썬] TypeError: 'NoneType' object is not iterable 오류 파이썬 프로그램을 작성하다가 가끔씩 타입 관련된 에러메시지를 만나곤 합니다. 그 중 하나가 `TypeError: 'NoneType' object is not iterable` 에러입니다. 객체가 iterable 하지 않다는 에러입니다. 이 에러를 재현할 수 있는 파이썬 코드는 다음과 같습니다. def function1(param1): if param1 == 1: return "abc" elif param2 == 2: return "def" elif param2 == 3: return "ghi" value = 1 for char in function1(value): print(char) 이 코드를 실행하면 a b c 이런 실행 결과를 얻게 됩니다. value 변수의 값을 1, 2, 3이 아닌 값으로 지정한.. 2020. 3. 14.
macOS에서 git 사용시 xcrun error 발생시 대처 방법 맥북과 iMac을 사용하면서 몇 번의 운영체제 업그레이드를 했었습니다. 그럴 때마다 git을 사용할 때 에러가 발생했는데요. 다음과 같은 에러 메시지가 출력되었습니다. xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun가장 최근에는 MacOS 카탈리나(Catalina) 버전으로 업그레이드 한 다음 이 에러를 만났습니다. $ git --version xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools.. 2020. 3. 14.
Hadoop 'Unable to load native-hadoop library for your platform' 에러 HDFS 코드리뷰를 하면서 'Short Circuit Read' 코드를 테스트하기 위해서 도커 컨테이너에 환경 설정을 하고 리모트 디버거로 붙어서 보다가 다음과 같은 로그가 찍혀있는걸 보게되었습니다. HDFS Short Circuit Read 코드 테스트를 위해서 도커에 컨테이너 세팅을 하고 원격 디버거로 붙어서 보다가 Short Circuit Read 설정으로 안들어가서 찾아보니 로그에 다음과 같은 내용이 찍혀 있었다. 19/12/02 20:46:04 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 19/1.. 2020. 3. 14.
반응형