Java(13)
-
(Java) 문자열 잘라 배열에 저장
코딩 테스트 혹은 알고리즘 문제를 접하다보면 무수히 많은 문자열 문제를 접하게 된다. 자바는 언어 중에서 좀 문자열에 불친절한 언어이기 때문에 답답할 때가 종종 있다. 하지만 어쩌겠는가, 어차피 쓸거 잘 써보자. 자바에서는 문자열을 자르는 방법에는 크게 2가지가 존재한다.(delimiter로) 첫 번째는 split을 사용하는 것이고, 두 번째는 StringTokenizer를 사용하는 것이다. 그럼 split부터 알아보자. 🏴String.split() 자바 String에는 기본 메서드로 split을 제공해준다.(고맙다) 그리고 이 split은 배열은 반환한다.(개꿀) class Main { public static void main(String[] args) { String s = "abc def..
2022.03.12 -
logging이란?
🏴Debugging에 대한 이해 아이러니하게도 Logging에 대한 이해가 있으려면 Log에 대해 알아야하고, Log에 대한 이해가 있으려면 Debugging에 대한 이해가 있어야한다. 그럼 디버깅이 뭘까? De + bug + ing 버그는 실행파일 안에 존재하는 오류들을 버그라고 한다. 그래서 디버깅은 이 오류들을 제거하거나 억제하는 행위라고 할 수 있다. 그럼 왜 로그와 디버깅이 연관관계가 있을까? 그것은 바로 디버깅의 과정을 로그를 확인하며 진행하기 때문이다. 🏴Log에 대한 간단한 이해 로깅이 무엇인지 이해하기 위해서는 '로그'가 뭔지 알고 있어야한다. 로그가 뭘까? 로그는 '정보를 제공하는 일련의 기록'(from HowToBeAProgrammer)이다. 그러니까 시스템상에서 일..
2022.02.23 -
(Java) JDBC란?
🏴JDBC의 정의 JDBC(Java Database Connectivity)는 뭘까? 이름만 보면 그 쓰임을 대충 짐작할 수 있다. 자바와 데이터에이스 간을 연결하는 중간자 역할을 하는 친구 정도? 로 받아들이면서 시작하자. 자바를 이용한 데이터베이스 접속과 SQL 문장의 실행, 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법과 절차에 관한 규약 자바 프로그램내에서 SQL문을 실행하기 위한 자바 API SQL과 프로그래밍 언어의 통합 접근 중 한 형태 기존에 DB를 공부했다면 알 것이다. 데이터를 추가하거나 삭제, 수정할때 마다 DB에 쿼리문을 날려서 실행해야한다는 것을. 그런데 웹 어플리케이션의 경우 우리가 직접 모든 요청에 대한 쿼리문을 DB에 날릴 수 없다.(가능하다면 이런게 필요 없겠..
2022.02.20 -
JAVA - JVM에 대해 알아보자 -1
Java에 대해 알고 있는가? 자바는 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이다.(순수 객체 지향 언어X) 91년 그린 프로젝트라는 이름으로 시작해 95년에 발표된 언어이다. 처음에는 가전제품 내에 탐재해 동작하는 프로그램을 위해 개발된 언어이지만 지금은 웹 어플리케이션 개발에 가장 많이 사용하는 언어 가운데 하나이며(자바 공화국인 한국에서는 더더욱), 코틀린이 등장하기 이전까지 안드로이드 앱도 모두 자바로 만들었다. 썬 마이크로시스템즈가 Oracle에 인수되면서 저작권도 Oracle로 넘어갔다. OpenJDK는 'Open' 답게 GPL2(오픈소스) 이지만, Oracle JDK는 상업라이선스라서 유료화정책의 수순을 밟고있다. 자바 언어는 다음 5가지 핵심..
2022.02.18 -
Java ClassLoader(클래스로더)에 관한 기본적인 이해 -1
Java ClassLoader란? 자바 클래스 로더는 JVM에서 핵심적인 역할을 한다. JVM이 뭔지 상세히 알고 싶다면 아래 글로 오길 바란다. 자바 클래스로더는 JVM으로 동적 로드하는 자바 런타임 환경(JRE)의 일부이다. 이름에서 알 수 있듯이 '클래스'를 '로드'하는 녀석이다. 어떻게? 동적으로! (동적 링크 라이브러리에서 필요시 CPU 호출에 의해 링크, 적재 된다.) 일반적으로 클래스들은 요청 시 한 차례만 로드된다. 자바 런타임 시스템은 클래스로더 덕분에 파일과 파일 시스템에 대해서 알 필요가 없다. (일방적으로 이 역할을 클래스로더에게 위임한다.) JVM이 시작되면 먼저 3개의 클래스 로더들이 사용된다. 부트스트랩 클래스 로더 확장 클래스 로더 어플리케이션 클래스 로더 부트스트랩 클래스 ..
2022.02.18 -
(JPA) JPA가 뭐야?? 이거 왜 쓰는거야?
우리는 JAVA 혹은 Spring(boot)를 공부하면서 JPA란 단어를 처음 접했거나, 수 없이 접해왔거나, 접할 것이다. 그렇다면 대체 JPA가 뭐야?? 📕대관절 JPA가 무어란 말이냐??? "JPA(Java Persistence API)는 자바 진영의 ORM 표준 기술이다." 이렇게 예기하면 누구는 '아~~' 하고 알아들을 것이고, 누구는 "뭐? ORM? 그게 뭔데?" 라고 물을 것이다. ORM은 Object-relationla Mapping 그러니까, 객체랑 관계형 DB를 '매핑'해주는 프레임워크이다. "'매핑'을 그냥 해준다고??" 그렇다. JPA를 쓰기 전까지 JDBC를 활용해서 쿼리문을 직접 작성해서 DB에 저장된 객체를 찾아서 CRUD를 진행했다면, JPA를 활용한다면 이 JDBC 과정이 ..
2021.11.18