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

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

article thumbnail
[TIL-57/240613] Spring 계층 구조(레이어 아키텍처), Web Server & WAS & Web Service
TIL 2024. 6. 13. 22:27

Spring Project의 계층 구조(Layer Architecture) - Web / Service / RepositoryAPI를 만들기 위해서는 3개의 클래스가 필요하다.Request 데이터를 받을 DTO / API 요청을 받을 Controller / 트랜잭션, 도메인 기능 간의 순서를 보장하는 ServiceService의 역할과 Domain의 역할Service에서 비즈니스 로직을 처리 X → 비즈니스 로직은 Domain에서 처리Service는 트랜잭션, 도메인 간 순서 보장의 역할 수행 Spring의 웹 계층 구조 Web 계층컨트롤러(@Controller), View Template(ex. JSP, Thymeleaf, Freemarker ...)의 영역필터(@Filter), 인터셉터, 컨트롤 어드..

article thumbnail
[TIL-56/240416] REST API
TIL 2024. 4. 17. 09:00

REST API REST 2000년도 로이 필딩의 박사학위 논문에 최초로 소개 웹의 장점을 최대한 활용할 수 있는 아키텍처(설계구조)로 REST 발표 REST는 'Representational State Transfer'의 약어 HTTP 프로토콜을 사용하여 데이터를 주고 받는 방법 HTTP URI를 통해 제어할 자원(Resource)를 명시하고, HTTP Method(GET, POST, PUT, DELETE)을 통해 해당 자원(Resource)를 제어하는 명령을 내리는 방식의 아키텍처 REST 구성 자원(Resource; (ex) /boards, /users ...) → URI(Uniform Resource Identifier) HTTP 메서드 → 작업에 대한 정의(CRUD) 표현(Representati..

article thumbnail
[TIL-55/240412] MyBatis-Spring, Dynamic SQL
TIL 2024. 4. 13. 19:49

MyBatis-Spring 마이바티스-스프링 연동 모듈은 둘을 간편하게 연동하도록 도와줌 해당 모듈은 마이바티스로 하여금 스프링 트랜잭션에 쉽게 연동되도록 처리 mapper와 SqlSession을 다루고, 빈에 주입시켜줌 MyBatis 예외를 스프링의 DataAccessException으로 반환 mybatis-spring 감사 인사 이 프로젝트가 실제로 만들어지게 도와준 모든 특별한 분들에게 정말 감사한다. 알파벳 순서로 보면, 코딩및 테스트 그리고 문서화를 담당했던 Eduardo Macarron, Hunter Presnall, Putthiphong Boon mybatis.org 구성 요소 Dynamic SQL 동적 SQL Runtime 시점에서 생성되는 SQL 사용자의 입력 혹은 특정 조건에 따라 동적..

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-53/240401] 위상 정렬
TIL 2024. 4. 1. 23:28

위상 정렬(Topological Sortin) 위상 정렬이란 순서가 있는 작업(방향이 있는)을 차례로 진행해야 할 때 순서를 결정해 주기 위해 사용하는 알고리즘 사이클이 없는 방향 그래프(DAG; Directed Acyclic Graph)의 모든 노드를 주어진 방향성에 어긋나지 않게 순서를 나열하는 것 Ex) 대학 선수과목, 공장의 작업 순서, 요리 순서, ... 등 사전 지식 진입 차수: 특정 노드로 들어오는 간선의 개수 진출 차수: 특정 노드에서 나가는 간선의 개수 위상 정렬 Queue 구현 위상 정렬 방법(Queue 사용) 진입 차수가 0인 모든 노드를 Queue에 삽입 Queue가 공백 상태가 될 때까지 반복 수행 Queue에서 원소를 꺼내 해당 노드에서 나가는 간선을 그래프에서 제거 (연결된 노..

profile on loading

Loading...