나를 기록하다
article thumbnail
[TIL-58/240615] 기술면접(자바)
TIL 2024. 6. 15. 22:23

기술면접 질문(자바)Java의 특징을 설명하라.Java는 대표적인 객체지향 프로그래밍 언어로써 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어입니다.장점으로썬 JVM 위에서 동작하기 때문에 운영체제에 독립적이고,가비지 컬렉터를 통한 자동적인 메모리 관리가 가능하다가 있습니다.단점으로썬 JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느리고,다중 상속이나 타입에 엄격하여 제약이 많다가 있습니다. JVM의 역할에 대해 설명하라.JVM은 스택 기반으로 동작하며, Java Byte Code를 OS에 맞게 해석해주는 역할을 하고 가비지 컬렉션을 통해 자동적인 메모리 관리를 해준다. 자바 애플리케이션의 구동 원리를 설명하라.자바 애플리케이..

article thumbnail
[TIL-54/240408] MyBatis
TIL 2024. 4. 9. 08:43

MyBatis 특징 SQL 매핑 프레임워크 SQL문과 저장 프로시저(Stored Procedure)등의 매핑을 지원하는 퍼시스턴스 프레임워크(persistence framework) JDBC로 처리하는 상당 부분의 코드와 파라미터 설정 및 결과 처리를 대신해줌 Map 인터페이스 그리고 자바 POJO를 설정 데이터베이스와 매핑해서 사용 가능 XML과 Annotation 설정을 통해 사용할 수 있음 MyBatis 동작 구조 MyBatis는 SQL을 처리하고 Java 객체와 DB간의 매핑을 처리한다. MyBatis 구성 요소 MyBatis는 SqlSession 인터페이스를 통해 DB와 상호작용 한다. SqlSessionFactory SqlSession 객체를 생성하는 팩토리 클래스 런타임 도중 CRUD 처리 ..

article thumbnail
[TIL-52/240328] 프림(Prim) 알고리즘
TIL 2024. 3. 29. 00:10

프림 알고리즘 프림 알고리즘이란? 하나의 정점에서 연결된 간선들 중에 하나씩 선택하면서 MST를 만들어 가는 방식 임의의 정점을 선택하여 시작 어짜피 모두 연결되므로 임의의 정점을 선택해도 된다 그러므로 첫 정점(0번 또는 1번)을 고른다 선택한 정점과 인접하는 정점들 중의 최소 비용의 간선이 존재하는 정점을 선택 모든 정점이 선택될 때까지 2번 과정을 반복 서로소인 2개의 집합 정보를 유지 트리 정점: MST를 만들기 위해 선택된 정점들 비트리 정점들: 선택되지 않은 정점들 프림 알고리즘 의사코드 MST-PRIM(G, r) FOR u in G.V u.key ← ∞ u.p ← NULL r.key ← 0 Q ← G.V WHILE Q != 0 Q ← Extract-MIN(Q) FOR v in G.Adj[u]..

article thumbnail
[TIL-50/240322] JDBC
TIL 2024. 3. 23. 00:40

JDBC JDBC란? Java Database Connectivity, 자바 프로그래밍 언어를 사용해 데이터베이스에 접근할 수 있도록 하는 자바 API JDBC를 이용하여 DB에 접속, SQL 실행, 데이터를 가져오거나 삭제하는 등 데이터를 다룰 수 있음 JDBC가 등장하게 된 배경 DB 접근의 표준화를 위해서 등장 JDBC 등장 이전 DB마다 존재하는 고유한 API를 직접 사용 이에 따라 개발자는 기존의 DB를 다른 DB로 교체해야하는 경우 DB에 맞게 기존의 코드도 모두 수정해야 했으며 심지어 각각의 DB를 사용하는 방법도 새로 학습해야 했음 → JDBC의 표준 인터페이스 덕분에 개발자는 DB를 쉽게 변경할 수 있게 되었고 변경에 유연하게 대처할 수 있게 됨 JDBC를 알아야 하는 이유 JDBC는 매..

article thumbnail
[Algorithm] Binary Search
Algorithm 2024. 1. 30. 10:43

이진 탐색 - 자료구조와 알고리즘 탐색 알고리즘 중 하나인 이진 탐색(Binary Search)이란 '정렬된 배열'에서 '특정 값'을 찾는 알고리즘을 의미한다. 이진 검색은 정렬된 배열에서 검색 간격을 반으로 반복적으로 나누어 사용하는 검색 알고리즘으로 정의된다. 이진 검색의 아이디어는 배열이 정렬된 정보를 사용하여 시간 복잡도를 O(로그 N)으로 줄이는 것이다. 이진 탐색 알고리즘의 예시로 아래의 그림을 참고하자. 정렬된 배열에서 23을 찾는 과정이다. 배열의 중앙 인덱스를 찾는다. M = (0 + 9) / 2 = 4 인덱스 4에 위치한 16과 23을 비교한다. 16 < 23 23이 더 크므로 L(5) ~ H(9) 사이에서 다시 탐색을 실시한다. M = (5 + 9) / 2 = 7 인덱스 7에 위치한 ..

article thumbnail
고정 소수점(fixed point)과 부동 소수점(floating point)
CS 2024. 1. 25. 20:56

요즘 자바의 기초를 다시 공부하고 있다. 자바의 기초, 특히 변수에 대해서 공부하다보면 다양한 기본 자료형이 나오는데, 그 중에서 실수형을 다루는 float와 double에 나오는 개념인 고정 소수점과 부동 소수점에 대해 알아보고자 한다. 고정 소수점, 부동 소수점은 어떤 개념일까? 그에 앞서 실수형 자료형인 float와 double에 대해서 알아보자. 실수형 - float, double 실수형의 범위와 정밀도 실수형에는 대표적으로 4byte의 자료형 float와 8byte의 자료형 double이 존재한다. 이 둘의 범위와 정밀도를 비교하면 아래와 같다. 타입 저장 가능한 값의 범위 정밀도 크기 - byte(bit) float -3.4 x 10³⁸ ~ -1.4 x 10⁻⁴⁵, 1.4 x 10⁻⁴⁵ ~ 3..

profile on loading

Loading...