전체 글
-
[기술면접리뷰]개발자 면접(기술면접, 기술 외 질문)리뷰노트/기술면접 2023. 11. 23. 18:00
기술면접때 들어본 질문들 정리 기술면접 Spring WebFlux 란? Spring Framework 5에서 도입된 반응형 프로그래밍을 위한 모듈입니다. 비동기적이고 논블로킹 방식으로 서버 사이드 애플리케이션을 개발할 수 있게 해주며, 더 많은 요청을 더 효율적으로 처리할 수 있도록 설계되었습니다. WebFlux는 Spring의 기존 어노테이션 기반 프로그래밍 모듈과 함수형 스타일의 프로그래밍 모델을 모두 지원합니다. [꼬리질문]리액티브 프로그래밍이란? 비동기 데이터 흐름과 변경의 전파에 중점을 두는 프로그래밍 패러다임입니다. 이는 데이터 스트림과 그 데이터에 의해 발생하는 변화를 쉽게 표현하고 관리할 수 있도록 합니다. 리액티브 프로그래밍은 시스템이 보다 탄력적이고 반응성이 뛰어나며 유지 관리가 용이하..
-
[Java]짧게 훑어보는 Java 간단 지식(Java란, 컴파일 과정, JVM, GC, 메모리 영역)리뷰노트/Java 2023. 11. 21. 20:39
*제목 그대로 Java의 기본적인 지식을 짧게 되새김 할려고 합니다. Java 란 객체지향 프로그래밍 언어입니다. 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어입니다. JVM(자바가상머신) 위에서 동작하기 때문에 운영체제에 독립적이라는 장점을 갖고있습니다. (반대로 JVM 위에서 동작하기 때문에 실행속도가 상대적으로 느리다는 단점을 가지고 있습니다.) GC(Garbage Collector)를 통한 자동적인 메모리 관리가 가능합니다. 다중 상속이나 타입에 엄격하며 제약이 많습니다. Java 컴파일 과정 개발자가 .java 파일을 생성 후 build 를 합니다. 그러면 Java compiler의 javac 명령어를 통해 .class 파일(b..
-
REST API 란 REST API & RESTful API리뷰노트/Server 2023. 11. 15. 00:20
REST API 란 REpresentational State Transfer 의 약자이고, 자원을 이름으로 구분해 자원의 정보를 주고 받는 모든 것 입니다. 자원(Resource)의 표현(Representation)에 의한 상태 전달을 뜻합니다. 여기서 자원은 해당 소프트웨어가 관리하는 모든 것 (문서, 그림, 데이터, 해당 소프트웨어 자체 등) 표현은 그 자원을 표현하기 위한 이름이고 상태 전달은 데이터가 요청되는 시점에 자원의 상태를 전달합니다. 가장 큰 특징은 각 요청이 어떤 동작이나 정보를 위한 것인지 추론이 가능한 것 입니다. 디자인 시 가장 중요한 것은 URI는 정보의 자원을 표현해야 한다. 자원에 대한 행위는 HTTP Method (GET, POST, PATCH, DELETE)로 표현해야한다..
-
[Spring] Spring MVC 흐름리뷰노트/Spring 2023. 10. 22. 23:58
Spring MVC는 클라이언트의 요청을 편리하게 처리해주는 프레임워 입니다. (Spring Web MVC 를 주로 Spring MVC로 부릅니다.) MVC 는 Model, View, Controller 의 약자 Model : 데이터 관리 및 비즈니스 로직을 처리하는 부분이고 (DAO, DTO, Service ..) View : 비즈니스 로직의 처리 결과를 통해 유저 인터페이스가 표현되는 구간이고 (html, jsp, tymeleaf, mustache .. 등) Controller : 사용자의 요청을 처리하고 Model과 View를 중개하는 역할을 합니다. 구성요소 DispatcherServlet : Client 에게 요청을 받아 응답까지의 MVC 처리과정을 통제한다. (다른 구성요소..
-
[JAVA] interface(인터페이스) 와 abstract class(추상클래스)리뷰노트/Java 2023. 1. 31. 22:47
자바 공부를 하면 언제나 필수적이고 면접 질문으로 자주 나오는 인터페이스와 추상클래스의 대해서 적어보겠습니다. 추상클래스 abstract로 선언된 추상 클래스는 상속을 위한 클래스기 때문에 객체를 생성할 수 없고 상속을 통해 자식 클래스에서 만들어지도록 유도하는 미완성 설계도 라고 할 수 있습니다. 또한, 다중 상속을 지원하지 않기 때문에 여러 개의 추상 클래스를 상속 할 수 없습니다. abstract class 추상클래스이름 { public abstract void 추상메소드이름1(); public abstract void 추상메소드이름2(); ''' } 추상메소드 : 선언부에서 작성되어지고 구현부에서는 작성되지 않은 채로 남겨두는 것이고 상속받는 클래스에 따라서 구현 되는 내용이 달라질 수 있습니다...
-
[SVN] 이클립스에서 SVN 사용법 및 용어 정리리뷰노트/SVN 2022. 8. 22. 17:30
Synchronize, Update, Commit, Conflict 1. Team > Synchronize (Synchronize with Repository(Ctrl+Alt+S)) - 저장소(서버)에 있는 소스와 싱크를 맞춘다. git이라면 merge의 개념과 비슷하다고 합니다. - Syncronize-Update-Commit 순서로 해야 충돌을 막고 소스의 일관성을 유지할 수 있습니다. 2. Team > Update - 저장소(서버)의 소스를 로컬(내 컴퓨터)로 옮기는 작업입니다. (git pull 과 비슷합니다.) 3. Team > Commit - 내 소스(로컬에 있는 소스)를 저장소(서버)에 올리는 작업입니다. 4. Team > Conflict - 내 파일(로컬에 있는 파일)과 svn의 파일의 버..
-
[MyBatis] foreach 문 정리 (List, Array)리뷰노트/MyBatis 2022. 8. 12. 17:40
[MyBatis] foreach 문 정리 collection은 꼭! 넘겨주는 배열 변수명과 동일하게 작성해야 합니다. collection : 전달받은 인자. List or Array 만 전달 받을 수 있음 item : 전달받은 인자 값을 alias 명으로 대체 open : 구문이 시작될때 삽입할 문자열 close : 구문이 종료될때 삽입할 문자열 separator : 반복 되는 사이에 출력할 문자열 index : 반복되는 구문 번호이다. 0부터 순차적으로 증가 - 배열 예시 ex) int[] intArray = {1,2,3,4}; - 리스트 예시 ex) List listA = new ArrayList(); or List chkList = sampleServic..
-
SI 세번째 프로젝트경험/SI 프로젝트 2022. 8. 12. 15:11
여러 일도 있었고 ,,,(이거슨... 변명..) 어쩌다보니 좀 오랜만에 티스토리에 글을 쓰게되었습니다. 우선 기억을 되살려서 세번째 프로젝트에 있었던 일을 짧게 얘기해볼려고 합니다 ㅎㅎㅎㅎ 세번째에서는 카드사가 고객사였는데 정말 많은 파견업체들과 프리랜서분들이 계셨습니다. 그리고 금융권 아니랄까봐 당근 폐쇄망.. 🤮 또, 그 프로젝트에는 소수의 저랑같은 회사 사람들과 대부분 프리랜서 + 다른 회사로 이루어진 팀이 먼저 투입되어 업무를 하고 계셨습니다. 그리고 언어는 자바였지만 프레임워크가 그 카드사에서만 쓰는 프레임워크를 써야하는디 하필 고객사에서 더이상 프레임워크에 대해서 교육안해주겠다고 해서 그 교육을 들은 회사 사람들한테 계속 물어보고, 듣고 환경 익히는데 정말 오랜 시간이 걸렸네여... 역시 저 ..