자바 Integer 비교 시 알아야 할 것
2023. 8. 12. 19:54
개발/JAVA
이번년도는 1월부터 개발 프로젝트로 매우 바빠서 블로그 쓸 시간이 없다ㅜ(핑계는..) 지난 주에 내부적으로 개발한 core 모듈에서 버그를 하나 찾았는데 내부적으로 만든 함수 중 객체 비교를 위한 메소드(isEquals)에서 Integer 타입에 대한 처리를 == 으로 했었던 부분이였다.당연히 객체간 데이터 비교에서는 .equals 를 사용해야 하는 것은 익히 알고 있었는데, == 으로 되어있었다는... 그럼 Integer 데이터간 비교는 왜 ==로 하면 안되는지 알아보자! 래퍼 클래스(Wrapper Class) 래퍼 클래스란 기본 타입의 데이터를 객체로 취급해야하는 경우 사용된다. - 기본 타입 데이터 타입 : byte,short,int,long,float,double,char,boolean (맨 앞이..
[Android] Thread로 간단한 처리해보기
2023. 6. 20. 13:33
개발/JAVA
서론 갑작스럽게 회사 후임이 안드로이드를 물어봐서 간단히 테스트 글을 적어본다. 요구사항은 시크바(SeekBar)를 조절하면서 지속적으로 다른 곳에 데이터를 전송하는 내용이다. 시크바란? 시크바는 사용자가 범위 내에서 값을 선택할 수 있도록 도와주는 막대 형태의 뷰입니다. 음량/밝기 조절, 이미지 필터 적용, 동영상 재생 등 다양한 곳에 활용됩니다. 결과적으로 사용자가 바를 터치하고 있는 상태의 데이터를 지속적으로 전달해야한다. (뭐 데이터가 변경될때만 보내면 간단한데, 변경이 아닌 사용자가 누르고 있는 상태에 대한 값을 보내고싶다고 했다) 그래서 Thread를 이용해서 0.3초마다 실행할 수 있도록 구현하고자한다. MainActivity 시크바의 리스너함수 start에서 Thread를 실행, stop에..
[JAVA] 간단한 .java 파일을 실행 가능한 .jar 파일로 만들고 도커 이미지로 쿠버네티스 cronjob 생성하기
2022. 11. 3. 13:35
개발/JAVA
어제 간단한 특정시간이 지난 뒤 프로세스가 종료되는 자바파일을 구현해야하는 상황이 생겼다. 그래서 jar 파일을 만들고 Dockerfile을 작성한 뒤 Docker image를 생성하고, 쿠버네티스 cronjob 에서 가져오는 것 까지해보았다. 먼저 .jar 파일은 그동안 maven, gradle을 통해 자동으로 쭈루룩 만들어줬었는데, 그냥 test.java main 메소드 하나 있는 것을 컴파일하여 나온 .class 파일과 매니패스트파일을 합치는 작업을 해주면 된다. 근데 이때 매니패스트 지정하는데에 시행착오를 겪었다.. (문자열 끝에 엔터가 필요하다고...) test.java 가장먼저 개발을 할 test.java 를 만들자. 간단히 Thread를 통해 3초의 대기를 준 뒤 프로세스가 종료되게 하였다...