전체 글 100

포스코DX 청년 it 아카데미 7기 합격 후기

안녕하세요. 요즘 교육듣는다는 핑계로 블로깅이 뜸했네요. 교육 합격 후기와 함께 돌아왔습니다. 아래 링크는 제가 봤던 공고입니다. https://m.saramin.co.kr/job-search/view?rec_idx=46351581 [(주)포스코디엑스] 포스코DX 청년IT전문가 아카데미 7기 교육생 선발 - 사람인 (주)포스코디엑스, 포스코DX 청년IT전문가 아카데미 7기 교육생 선발, 경력:경력무관, 학력:대학교졸업(4년)이상, 연봉:면접 후 결정, 마감일:2023-08-27, 홈페이지:www.poscodx.com m.saramin.co.kr 7기 기준으로는 코딩테스트가 없다는 점이 최대 장점이였습니다. 지원하면 서류만 합격하고 코딩테스트에서 계속 불합하던 상황이였는데 운좋게 취업확정 교육을 발견했고 ..

카테고리 없음 2023.12.09

[Error] no suitable method found for sort(int[],java.util.Comparator<java.lang.Object>)

Arrays.sort(arr, Collections.reversOrder()); 를 실행하니 제목과 같은 오류가 발생했다. Arrays.sort()는 int[]에 사용가능하나 primitive 타입에 대한 Comparator가 없기 때문에 발생한 오류이다. 1. 오름차순으로 정렬해서 인덱싱을 하거나 2. 내림차순 정렬을 직접 구현해서 사용하거나 3. Integer[] 배열을 정렬해야 한다. 내림차순 정렬 출처 - https://iksflow.tistory.com/78 import java.util.Arrays; public class ReverseSortArrayExample { public static void main(String[] args) { int[] arr = {4, 2, 5, 3, 1}; ..

카테고리 없음 2023.09.18

JobExecutionAlreadyRunningException: A job execution for this job is already running

다른 블로그들에 나와있는 해결책은 아래와 같습니다. UPDATE BATCH_JOB_EXECUTION SET END_TIME = NOW(), STATUS = 'FAILED', EXIT_CODE = 'COMPLETED' WHERE JOB_EXECUTION_ID = (SELECT MAX(JOB_EXECUTION_ID) FROM BATCH_JOB_EXECUTION WHERE JOB_INSTANCE_ID = 1 ); MySQL에서 해당 쿼리를 실행시 Error Code: 1093. You can't specify target table 'BATCH_JOB_EXECUTION' for update in FROM clause 에러를 만납니다. MySQL은 데이터를 추가나 갱신할 경우 동일한 테이블로 서브쿼리를 사용할 ..

카테고리 없음 2023.08.30

[컨퍼런스] 2023 INFCON

감사히도 2023 인프콘에 당첨돼서 다녀왔습니다. 아래는 제가 들었던 세션을 정리한 내용입니다. [인프콘 링크] https://www.inflearn.com/conf/infcon-2023 0. 코틀린 학습 방법 - 코틀린 코리안스 kotlin koreans (http://kotlin.kr/) - 이펙티브 코틀린 책 ( 기본 문법 숙지하고 도전 ) - 코틀린 공식 문서 - 개인기술 블로그(안드로이드) 1. 왜 코틀린인가 - 자바 대비 상대적으로 간결한 문법 - 지속적인 업데이트 및 활발한 커뮤니티 - IDE 레벨에서의 강력한 지원 - 언어 레벨에서 지원하는 다양한 기능 -> 널 세이프티 2. 코프링 도입하기 - 팀원들이 이미 여러 경로로 코프링에 노출 되어 있었음 - mock 서버에서 코프링을 사용하고 있..

컨퍼런스 2023.08.17

접근제어자 예제

변수종류 자동초기화 초기화 시점 메모리영역 소멸시점 스태틱변수 o 클래스로드 시 메서드 클래스언로드시 인스턴스변수 o 객체 생성 시 힙 객체소멸시 매개변수/지역변수 x 스택 메서드종료시 class A{ static int si; // 스태틱 변수 int i; //인스턴스 변수 //스태틱 메서드 static void sm() { //인스턴스변수, this 사용불가 //인스턴스 변수 사용가능 System.out.println(si); } //인스턴스 메서드 void m(){ System.out.println(this.i); //인스턴스 변수 사용 가능 } } public class StaticTest { public static void main(String[] args) { System.out.printl..

카테고리 없음 2023.07.31

생성자 개념

//잘못된 코드 //객체가 두 번 생성됨 class Circle { int r; Circle(){ } Circle(int r){ Circle c = new Circle(); c.setRadius(r); } void setRadius(int r){ this.r = r; } int getRadius() { return this.r; } } public class ShapeTest { public static void main(String[] args) { Circle c = new Circle(5); // 반지름이 5인 원객체 System.out.println(c.getRadius()); //5 } 생성자를 부르면 자동으로 객체 생성된다는 걸 망각해서 탄생한 기괴한 코드 .... //올바른 코드 class ..

카테고리 없음 2023.07.31

logback으로 로깅

error, warn, info 레벨로 나눠서 기록 error파일에 출력되는 로그 레벨 error, warn, info warn파일에 출력되는 로그 레벨 warn, info info파일에 출력되는 로그 레벨 info 1. spring-logback.xml error NEUTRAL ACCEPT ./log/error.log [%X{request_id:-startup}] %d{HH:mm:ss.SSS} [%t] %-5level [%logger{0}:%line] - %msg%n error.log.%d{yyyy-MM-dd}.gz 1 100MB error DENY NEUTRAL ./log/warn.log [%X{request_id:-startup}] %d{HH:mm:ss.SSS} [%t] %-5level [%logg..

카테고리 없음 2023.05.08

자동설정이해

@SpringBootApplication -> 1. @SpringBootConfiguration 2. @ComponentScan. 3. @EnableAutoConfiguration 빈등록은 2단계로 나눠져 있다. 1단계: @ComponentScan 2단계: @EnableAutoConfiguration => 위 3개의 애노테이션 중 @EnableAutoConfiguration이 없어도 스프링부트는 작동한다. 단, 웹 애플리케이션으로 띄울 수는 없음 해당 애노테이션이 SevletWebServerFactory 빈을 만들기 때문 @ComponentScan은 아래와 같은 애노테이션을 스캔 - @Component - @Configuration @Repository @Service @Controller @RestCo..

03. 타입과 추상화

일단 컴퓨터를 조작하는 것이 추상화를 구축하고, 조작하고, 추론하는 것에 관한 모든 것이라는 것을 깨닫고 나면 (훌륭한) 컴퓨터 프로그램을 작성하기 위한 중요한 전제 조건은 추상화를 정확하게 다루는 능력이라는 것이 명확해진다. - 키스 데블린(Keith Devlin) 추상화를 통한 복잡성 극복 -추상화 어떤 양상, 세부 사항, 구조를 좀 더 명확하게 이해하기 위해 특정 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법이다. 복잡성을 다루기 위해 추상화는 두 차원에서 이뤄진다. 첫 번째 차원은 구체적인 사물들 간의 공통점은 취하고 차이점은 버리는 일반화를 통해 단순하게 만드는 것이다. 두 번째 차원은 중요한 부분을 강조하기 위해 불필요한 세부 사항을 제거함으로써 단순하게 만드는 것이다...