[Java] 리플렉션(Reflection) 이란 무엇인가요?
·
Develop/Back-End
지난 번 운이 좋아 여러 대기업 면접을 보게 되었는데k사 기술 면접에서자바 리플렉션이라고 물었던 적이 있다..난 당시에 대답을 시원하게 하지 못했다 😓  사실 웹 개발자가 리플렉션을 사용할 일은 드물것이라고 생각이 든다...    그래서 ..  Java Reflection 이란 무엇인가요? 🤔자바 리플렉션은 프로그램이 실행 중일 때 클래스, 메서드, 필드 등을 동적으로 조회하고 조작할 수 있게 해주는 기능이를 통해 런타임에 클래스의 구조를 알아내고, 객체의 메서드를 호출하거나 필드의 값을 수정할 수 있다.자바에서 이미 로딩이 완료된 클래스에서 또 다른 클래스를 동적으로 로딩 (Dynamic Loading)하여 생성자(Constructor), 멤버 필드(Member Variables) 그리고 멤버 메서..
uncategorized SQLException; SQL state [99999]; error code [17056]; 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16KSC5601 에러 해결 방법! 🛠️
·
Develop/Trouble Shooting
Cause: java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16KSC5601 ; uncategorized SQLException; SQL state [99999]; error code [17056]; 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16KSC5601] with root cause 환경 구성 중 오류가 발생하였다. 😡오류를 자세히 읽어보면.. 답이!!!!!!!!!!  라이브러리를 다운받아 종속성을 추가하면 해결할 수 있다. gradle// https://mvnrepository.com/artifact/com.oracle.ojdbc/orai18nimplementation group: 'com.ora..
[Java] 모던 자바(Modern JAVA) 란 무엇인가!!!!😒 (feat. 새롭게 추가된 기능들)
·
Develop/Back-End
"모던 자바(Modern Java)"는 주로 자바 프로그래밍 언어의 최신 기능과 개선된 패러다임을 지칭합니다. 기존의 자바 버전에서 도입된 기능들과는 달리, 자바 8 이후부터의 새로운 기능과 변경된 프로그래밍 스타일을 포함합니다. 모던 자바에서는 함수형 프로그래밍의 개념을 도입하고, 람다 표현식과 스트림 API 등을 통해 코드를 더욱 간결하고 유연하게 작성할 수 있습니다. 또한, 형식 추론(var 키워드), 모듈 시스템, 레코드(Records) 등과 같은 새로운 기능들이 추가되어 프로그래머가 코드를 작성하고 유지보수하는 데 도움이 됩니다. 따라서 모던 자바는 자바 언어를 사용하여 최신의 개발 트렌드와 요구 사항에 부합하는 현대적이고 효율적인 코드를 작성하는 것을 의미합니다. 자바8 이후에 새로운 기능들을..
스프링 배치(Spring Batch) 시작하기 !😭
·
Develop/Back-End
스프링 배치 5가 릴리즈된지 거의 1년이 흘렀는데 이 때는 안보고 있다가.. 😛 급하게 스케줄러와 배치를 이용해야 되는 일이 생겻다 😥 내가 만들어야 할 프로그램 프로세스 흐름은 이와 같다. 프로그램 한 사이클이 돌아가는데 약 2시간 조금 안되게 걸리고 있는 상황인데, ( 마스터 데이터가 늘어날 수록 시간이 곱이 되는 상황) 개발 하고 나서 어느점을 보완해야 되는지 설명 하는게 더 빠를 것 같아서 일단 개발한다.. 배치 was,api was가 버틸수 있을 지 모르겠다.. 스케줄 시간보다 잡이 더 길어질수도 있는 상황.😑 기술적으로 자문을 구할 수 있는 상황이 아니며.. 정책적으로도 풀 수 없는 상황이라 참 난처하다.. 최대한 스케일 아웃으로 풀어야 하는데.. 머리가 너무 아프다 😩 일단 만들어보자 😵 아..
테이블 매핑 안 되는 데이터 조회 API 속도 개선하기
·
변소
C 데이터를 이용하여 A,B 데이터를 서로 조인하여 데이터를 가지고 와야 되는 상황 테이블 튜닝 x (인덱스나 컬럼 및 외부 테이블 추가가 불가능한 상황) A 마스터 테이블 B 정보성 테이블 C 프로젝트 외 API 1. 데이터 연관 관계 모두 1:N , 1:N ( 화면에서 표출 될 땐 A-C 1:1 관계로 표출) 2. 백엔드에서 내부 반복을 통하여 데이터를 조립하는 수 외에는 뾰족한 수가 없음 😒 3. 서버단에서 C데이터를 조회 후 내부 반복 시작 4. 내부 반복중 A-B 조인 데이터 C데이터와 조립 as-is 10~9s to-be 5~7s Sol. 1.조건으로 최대한 데이터 필터링 2.외부반복보다는 내부반복 이용 (퍼포먼스를 위해) 더 좋은 접근 방법이 있다면 댓글 부탁드립니다 😢
[백엔드 개발자 면접 단골 질문 뿌시기 - 3] 스레드(thread)와 프로세스(process)의 차이를 설명해 줄 수 있어요? 😲
·
Develop/CS
전공자라면 운영체제(OS) 를 배우기 때문에 프로세스와 스레드 개념을 알고 있겠지만 비전공자에게는 익숙치 않다. 😥 면접 단골 질문인 만큼 이 글을 통해 프로세스와 스레드 개념을 이해하고 차이점에 대해 간략하게나마 기억에 남기기 위해 글을 작성해둔다. 😆 0. 프로그램과 프로세스(Process) 10분 테코톡 코다님 영상에서는 프로그램과 프로세스에 대해서 피자집에 간 상황으로 비유하고 있는데 피자 레시피 = 프로그램 피자 = 프로세스 이처럼 프로그램 자체는 실행시키기 전에는 코드가 구현되어 있는 파일일 뿐 피자를 주문하기 위한 종이 레시피가 피자가 되는 것 처럼 프로그램이 실행이 되어 사용할 수 있는 무언가가 되는게 프로세스이다 1. 프로세스와 스레드의 정의 프로세스 (Process) 스레드 (Threa..
[백엔드 개발자 면접 단골 질문 뿌시기 - 2] JVM(Java Virtual Machine) 에 대해 설명 하세요 😤
·
Develop/CS
👦 : JVM에 대해서 설명해줄수 있나요? 😳 : 자... 자바.. 버츄얼 머신으로 .. .java(자연어) 를 컴파일러를 통하여 .class(바이트코드) ... .. 운영체제마다 다른 기계어를... 👦 : 나가 😫 : ... JAVA개발자라면 주민등록번호처럼 군번처럼 툭 건드리면 관등성명 대는 것 처럼 술술 나와야 되는 상식이라고 생각드는데 개인적으로 주니어 ~ 시니어를 떠나서 가볍게 묻기 좋은 질문이라고 생각한다. 😂 깊게는 몰라도 정의는 꼭 알아두도록 하자! 🥱 그래서 JVM이 도대체 뭔데? Java Virtual Machine(자바 가상 머신)은 Java로 개발한 프로그램을 컴파일하여 만들어지는 바이트코드를 실행시키기 위한 가상머신이다. JRE(Java Runtime Environment)에 포함..
Selenium 을 이용하여 특정 URL 요청과 응답 값 모니터링 하는 기능 만들기
·
Develop/Back-End
이번에 내가 맡게 된 업무는 셀레니움과 jpa를 이용하여 특정 url 요청이 있는 지 확인하고 그 요청으로 인한 응답 값을 모니터링 및 데이터를 적재하는 업무다 😂 사실 이번에 셀레니움을 이용하여 간단하게 개발을 하였지만 아쉬움이 너무 많이 남았다. 셀레니움으로 chrome inspect device를 충분히 조작할 수 있을 것이라고 생각했지만.. 내가 잘 모르는건지 내 생각과 달리 디바이스의 dom이나 script 를 조작하지 못했다.. 😥 그렇지만, 모바일 환경에 테스트 자동 도구에는 어떤 것들이 있는지 알아보게 되었고 다음 같은 상황이 생겼을 때는 더 빠르게 기술을 결정 할 수 있을 것 같다. 🥱 ( ex appium ) * 셀레니움(셀레늄) : 웹 애플리케이션 자동화 및 테스트를 위한 포터블 프레..