자바에 대한 기술면접 준비
<span style="background-color: 내부 클래스에서 외부 클래스의 멤버에 손쉽게 접근할 수 있다.서로 관련 있는 클래스를 논리적으로 묶어서 표현함으로써, 코드의 캡슐화를 증가시킨다.외부에서는 내부 클래스에 접근할 수 없으므로, 코드의 복잡성을
프로그래밍 패러다임은 프로그래머에게 프로그래밍의 관점을 갖게 해주는 역할을 하는 개발 방법론입니다. 예를 들어, 객체지향 프로그래밍은 프로그래머들이 프로그램을 상호 작용하는 객체들의 집합으로 볼 수 있게 하는 반면에 함수형 프로그래밍을 상태 값을 지니지 않는 함수 값들
특정 형태의 소프트웨어 문제를 해결하기 위해 상호 협력하는 클래스 프레임과 인터페이스 프레임의 집합특정한 틀을 만들고 거기에 추가하는 방식으로 작업 시간을 줄여줍니다.뼈대나 근간을 이루는 코드들의 묶음특정 개념들의 추상화를 제공하는 여러 클래스나 컴포넌트로 구성추상적인
스프링 부트는 스프링 프레임워크의 서브 프로젝트로 만들어졌으며, 이름에서 알 수 있듯이 스프링과 부트의 합성어 입니다. 부트는 컴퓨터를 부팅한다는 말처럼 시스템을 사용 가능한 상태로 만드는 것을 의미합니다. 이말을 종합해서 보자면 스프링 부트는 스프링 프레임워크를 사용
레이어드 아키텍처란 애플리케이션의 컴포넌트를 유사 관심사를 기준으로 레이어로 묶어 수평적으로 구성한 구조를 의미합니다.레이어드 아키텍처는 여러 방면에서 쓰이는 개념이며, 어떻게 설계하느냐에 따라 용어와 계층 수가 달라집니다.일반적으로 레이어드 아키텍처라 하면 3계층 또
JDBC는 DB에 접근할 수 있도록 Java에서 제공하는 API로 Plain JDBC와 Spring JDBC가 있다. Spring JDBC 접근 방법 중 하나로 많이 사용되는 JdbcTemplate은 내부적으로 Plain JDBC API를 사용하지만 다음과 같은 문제점
Git은 소스 코드 버전 관리 시스템 나중에 현업 개발자로 실무에 투입되어 깃랩(GitLab) 또는 깃허브(GitHub)를 사용하게 되는 경우 커밋 메시지를 자세하게 (누가봐도 어떤 파일에 대한 커밋인지 알 수 있도록) 적는 것이 중요하다.Git이란 우리가 작업하는 파
REST는 2000년도에 로이 필딩 (Roy Fielding)의 박사학위 논문에서 최초로 소개되었습니다. 로이 필딩은 HTTP의 주요 저자 중 한 사람으로 그 당시 웹(HTTP) 설계의 우수성에 비해 제대로 사용되어지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활
JSON(Javascript Object Notation)라는 의미의 축약어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 data 교환 형식을 의미합니다. JSON은 자바스크립트의 객체 표기법으로부터 파생된 부분 집합입니다. 따라서 JSON 데이터는 다음과 같
파싱은 어떤 페이지(문서, html 등)에서 내가 원하는 데이터를 특정 패턴이나 순서로 추출하여 정보로 가공하는 것을 말하는 것이다. 다이아몬드가 많이 나오는 위치로 이동을 일단 한 후에 돌을 많이 캔다음에 다이아몬드만 뽑아서 보석으로 가공하는것과 비슷하다. pars
HTTP, REST 기술 면접
서브넷이란 부분적인 네트워크를 말합니다. 모든 네트워크망이 거대한 하나의 망으로 이루어진 것은 아닙니다. 네트워크망에서 서브넷을 통해 부분적인 네트워크망으로 나누어지고 서로 연결되어 있습니다.나누어진 서브넷은 서브넷 마스크로 구분할 수 있습니다. 서브넷 마스크는 IP
도메인은 영역이라는 뜻이다. 특히 소프트웨어 개발에서 말하는 도메인은 프로그램이 쓰이는 대상 분야라는 의미로 쓰인다. 개발자 입장에서 온라인 서점은 구현해야할 소프트웨어의 대상이 된다. 온라인 서점 소프트웨어는 온라인으로 책을 판매하는데 필요한 상품 조회, 구매, 결제
Spring Webflux를 학습하기에 앞서 Spring MVC의 Thread Poll에 대해서 학습할 필요가 있다.Spring MVC의 Thread PoolSpring MVC 프레임워크는 Multi-Thread와 Blocking방식을 사용한다.Blocking 방식요청
Spring Security는 Spring과는 별개로 작동하는 보안담당 프레임워크입니다. 크게 두 가지의 동작을 수행Authentication(인증) : 특정 대상이 누구인지 확인하는 절차이다.Authorization(권한) : 인증된 주체가 특정한 곳에 접근 권한을
토큰 기반 인증 시스템은 클라이언트가 서버에 접속을 하면 서버에서 해당 클라이언트에게 인증되었다는 의미로 토큰을 부여한다. 이 토큰은 유일하며 토큰을 발급받은 클라이언트는 또 다시 서버에 요청을 보낼 때 요청 헤더에 토큰을 심어서 보낸다. 그러면 <span sty
TCP/IP라고 알려진 인터넷 프로토콜 스위트 (Internet Protocol Suite)는 인터넷과 이와 유사한 컴퓨터 네트워크 사이에서 정보를 주고받는 데 이용되는 통신 프로토콜의 모음입니다. 이 인터넷 프로토콜 스위트의 현재 기본 프로토콜은 전송 제어 프로토콜
서킷 스위칭은 대표적으로 전화에서 쓰이는 데이터 전달 방법입니다. 전화는 시간단위로 요금을 청구하며 실시간성이 중요하기 때문에, 중간에 누군가 그 회선에 끼어들면 안되며 서킷 전체를 독점하며 속도도 일정하게 됩니다.패킷 스위칭은 데이터를 패킷단위로 쪼개서 보내는 것이며
타입을 명시할 필요가 없는인터프리터 언어라고 하며 객체 지향과 함수형 모두 가능하기 때문에 객체 기반이라고 부른다. 자바스크립트는 HTML을 동적으로 처리할 때 사용합니다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해
복잡한 사용자 인터페이스(UI)를 쉽게 구축하기 위해 페이스북에서 제작한 javascript로 만든 라이브러리이고 CSR에 SPA입니다.component리엑트는 component들로 이루어진 UI 라이브러리이다. 리엑트의 component들도 dom tree처럼 트리형
메이븐은 자바 프로젝트의 빌드(build)를 자동화 해주는 빌드 툴(build tool)이다. 즉, 자바 소스를 compile하고 package해서 deploy하는 일을 자동화해주는 것이다. Maven이 참조하는 설정 파일하나의 자바 프로젝트에 빌드 툴로 maven을
Open EntityManager In View : JPA(관례상 OSIV라고 합니다.)OSIV 전략은 트랜잭션 시작처럼 최초 데이터베이스 커넥션 시작 시점부터 API 응답이 끝날 때 까지 영속성 컨텍스트와 데이터베이스 커넥션을 유지한다. 그래서 지금까지 View Te
쿠키는 사용자의 컴퓨터에 저장이 된다. 웹 브라우저가 보관하고 있는 데이터로, 웹 서버에 요청을 보낼 때 쿠키들을 헤더에 담아서 전송한다. 전송이라는 것은 헤더란 부분과 바디라는 부분으로 두 가지로 나뉘는데 바디는 실제 요청에 대한 데이터들을 가지고 있고 헤더에는
서비스에서 보면 @Transectional이 들어간 것을 볼 수 있습니다.트랜잭션은 DB의 상태를 변경시키기 위해 수행하는 작업 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. 여기서 DB의 상태를 변경시킨다는 SELECT, UPDATE, INSERT
💡ORM이란? Object-relational mapping(객체관계매핑) 객체는 객체대로 설계 관계형 데이터베이스는 관계형 데이터베이스대로 설계 ORM 프레임워크가 중간에서 매핑 대중적인 언어에는 대부분 ORM 기술이 존재 객체와 관계형 데이터베이스의 데이터를
지금 공부하는 것은 코딩 테스트를 준비하기 위해서 공부하는 것이다! 공부 방식유튜브, 인프런 강의, 책, 프로그래머스로 문제 풀면서 공부하는 방식을 선택했습니다.