전체 글 139

java int와 Integer의 차이

java로 개발하다보면 Integer.valueOf(String); Integer.parseInt(String); Map(Integer, String); 처럼 int와 다른 Integer라는 type을 사용하는 걸 볼 수 있다. 이 둘이 어떤 차이가 있는지 알아보도록 하자. 1. int (Primitive 자료형) - '자료형' 을 의미한다. (int, float, long, double 와 같은 하나의 primitive 자료형을 의미) - '산술 연산'이 가능하다. - null로 초기화 불가능 (0으로만 초기화 가능) 2. Integer (Wrapper 클래스-객체) - Wrapper '클래스'를 의미한다. - Unboxing 을 하지 않으면 산술 연산이 불가능하지만, null값을 처리할 수 있다. -..

algorithm/java 2021.07.04

hackerrank/warm up/Repeated String

https://www.hackerrank.com/challenges/repeated-string/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=warmup java에서 문자열말고 문자는 "==" 으로 비교 가능하다. 문자 자체를 비교하기 때문인데, String.matches(), Character.compare() 메소드도 사용가능하다. import java.io.*; import java.math.*; import java.security.*; import java.text.*; import java.util.*; import java.util.concurrent.*; import java..

algorithm/java 2021.06.20

hackerranck/warm up/jumping on the clouds

https://www.hackerrank.com/challenges/jumping-on-the-clouds/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=warmup 최적화 문제인줄 걱정하지 말자. 잘 생각해보면 while문 하나로 끝낼 수 있다. import java.io.*; import java.math.*; import java.security.*; import java.text.*; import java.util.*; import java.util.concurrent.*; import java.util.function.*; import java.util.regex.*; import ..

algorithm/java 2021.06.13

홀로서기 심리학

p. 26 셋째, 내 마음을 잘 다룰 수 있게 되면 인생에 대한 통제력이 생기고, 삶에 대한 자신감이 높아집니다. 보통의 우리는 안경을 썻다는 사실을 잊은 채 보이는 대로, 들리는 대로 반응하고 행동합니다. 누군가가 듣기 싫은 잔소리를 하면 짜증을 내고 언성을 높입니다. 자기가 쓴 안경 때문에 그 사람 이야기가 잔소리로 들린다는 생각은 할 겨를도 없습니다. 자극에 대해 즉각적으로 반응할 뿐이지요. 그런데 내 눈에 씐 안경이 있다는 사실만 알아도, 그 안경을 통해 들어온 자극이 내 마음에 일으킨 감정과 생각을 관찰할 수 만 있어도, 자동적인 반응을 멈추고 어떻게 행동할지를 선택할 수 있게 됩니다. 선택지가 많아질수록 삶을 스스로 통제하고 조절할 수 있는 여지도 넓어집니다. 출처: 홀로서기 심리학 / 라라 ..

일상/book 2021.06.05

java 개발이 처음일 때 볼 수 있는 에러

1. unreported exception java.io.IOException; must be caught or declared to be thrown 자바로 개발하다보면 어떤 예외처리는 반드시 개발자가 처리하도록 강요되는데 그 중 하나가 IOException 이다. 사용하는 method가 throw IOException하는 경우인데 Caller에서 처리해주지 않아 발생하는 에러다. void Callee () throws java.io.IOException{ 해결방안 1) Caller에서 try catch문으로 에러를 잡아주도록 한다. try { Callee(); } catch(IOException e) { e.printStackTrace(); } 해결방안 2) Caller에서 받은 에러를 다시 또 th..

algorithm/java 2021.06.02

hackerrank/warm up/Counting Valleys

https://www.hackerrank.com/challenges/counting-valleys/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=warmup 등산가가 협곡을 몇개 지나가는지 알아보는 문제이다. (baseline = 0) string type을 list로 바꾸고 iterate 시키고 싶었는데 이 부분에서 List 타입이 좀 헷갈렸다. 여기서, ArrayList와 그냥 Array의 차이점이 무엇인지 짚고 넘어가자면, - List = interface - ArrayList = class 이라는데 이를 비교해보자. ArrayList List 이는 결국 같은 결과를 도출한다. 그러나 ..

algorithm/java 2021.05.23

split 사용하기

linux에서 split은 큰 파일은 여러 작은 파일로 나눌 때 사용한다. split 옵션 -a 분할되는 파일 뒤에 붙을 길이를 지정한다. --additional-suffix 분할파일 자릿수 뒤에 추가적으로 붙을 이름을 지정한다. ex. 파일형식명 -b 분할 기준을 bytes 단위로 명시한다. -C line 기준으로 지정 bytes가 넘지 않도록 파일을 분할한다. -d 분할 파일명 뒤에 영문이 아닌 숫자로 지정한다. (startwith 0) --numeric-suffixes -d 와 동일한 기능이지만 시작값을 지정할 수 있다. -l line 수를 기준으로 파일을 분할한다. -n 파일을 균등하게 1/n 등분한다. 출처: https://bigsun84.tistory.com/310

develop/linux 2021.05.21

docker 이미지를 파일로 공유하기

docker hub가 있어 각자 docker repository로 접속해서 docker images를 upload, download 하면 편한데 이걸 못하게 되는 환경을 접할 수 있다. auth, 방화벽 등등 이에 docker image를 파일로 만드는 방법을 알아본다. 1. docker image를 tar파일로 만들기 ~$ docker save [옵션] [파일명] [이미지명] ## tar 파일이름 지정하는 옵션 -o ~$ docker save -o ubuntu.tar ubuntu:latest 2. tar파일을 다시 docker image로 load하기 ~$ docker load -i [tar파일명] ~$ docker images 3. 실행 중인 docker container를 tar파일로 만들기 ~$ ..

develop/docker 2021.03.30

docker <-> host 파일 공유하기

docker는 실행 중인 container와 host 사이에 파일 복사 명령어 cp(copy)를 지원한다. docker cp 명령어로 파일 또는 폴더를 복사하여 자유롭게 주고 받을 수 있다. 1. docker container -> host 로 파일 복사 ~$ docker cp [container 이름]:[container 내부 경로] [host 파일 경로] 2. host -> docker container 로 파일 복사 ~$ docker cp [host 파일 경로] [container 이름]:[container 내부 경로]

develop/docker 2021.03.29