본문 바로가기
반응형

분류 전체보기67

[신입 개발자 기술면접 질문] 네트워크 OSI 7계층은 무엇인가요? OSI 7계층은 인터넷환에서 통신하기 위해 네트워크에 대한 표준을 계층으로 나눈 것입니다. 크게 7계층이 있고, 물리 계층, 데이터 계층, 네트워크 계층, 전송 계층, 세션 계층, 표현 계층, 응용 계층이 잇습니다. TCP와 UDP에 대해서 설명해보세요 TCP는 인터넷환경에서 신뢰성있는 통신을 하기위해 사용되는 프로톨로 높은 신뢰성을 보장하지만 UDP 보다는 느리다는 단점이 있습니다. 또한 3wayhandshake, 4wayhandshake로 서버와 클라이언트가 1-1로 통신을 하고, 흐름제어와 혼잡제어가 이루어지게 됩니다. UDP는 비연결성 프로토콜로 손상 데이터에 대해서 재전송을 하지않아 신뢰성이 낮지만, 대신에 TCP보다 속도가 빨라서 스트리밍 서비스에 주로 이용됩니다... 2024. 1. 11.
[Django] python manage.py runserver 무한 기다림 과거에 LG gram으로 작업했던 django 프로젝트를 새로운 PC에 올겨 작업을 하려고 한 상황이였습니다. 새로운 PC에서 기존 프로젝트 환경을 개발을 이어나가려는 와중, runserver를 하니 Performing system checks...에서 계속 로딩중이고 로컬서버가 띄워지지 않는 에러사항을 마주했습니다. (처음에는 메모리 문제인 줄 알고 다른 프로세서들 종료시키고, 재부팅도 해보고 했지만 메모리 문제는 아니였습니다.) Django는 저에게 어떠한 에러로그도 띄워주지 않았기때문에, 어디서 부터 에러가 발생했는지 출력 로그를 통해 에러의 뿌리를 찾아야겠다고 생각했습니다. 먼저 python manage.py runserver를 했기 때문에 runserver.py 부터 들어가서 코드를 살펴보았습니.. 2024. 1. 10.
[신입 개발자 기술면접 질문] 운영체제 운영체제에 대해서 설명해보세요 OS는 시스템의 자원과 동작을 관리하는 소프트웨어 입니다. 프로세스, 저장장치, 네트워킹, 사용자, 하드웨어를 관리하게 됩니다. 운영체제 메모리 구조에 대해서 설명해보세요 메모리 구조는 크게 4영역으로 구분되며 Code, Data, Heap, Stack이 있습니다. Code영역에는 소스코드가 들어가는 부분이고, Data에는 전역변수나 정적변수들이 할당됩니다. Heap에는 사용자가 관리하는 영역이고 데이터들이 동적으로 할당되는 영역입니다. 마지막으로 Stack에는 함수정보 지역변수, 매개변수, 리턴정보들이 할당됩니다. 프로세스와 스레드에 대해서 설명해보세요 프로세스는 실행중인 프로그램이고, CPU와 메모리를 할당 받아서 사용됩니다. 스레드는 프로세스 내부에서 실행되는 흐름의 .. 2024. 1. 6.
[신입 개발자 기술면접 질문] Spring 스프링에 대해서 설명해보세요 자바 오픈소스 어플리케이션 프레임워크 중에 하나로. 스프링의 기본 철학은 특정 기술에 의존 하지 않고 객체를 관리할 수 있는 프레임워크를 제공하는 것입니다. 그래서 컨테이너로 자바 객체를 관리하면서, 의존성 주입과 제어의 역전을 통해 결합도를 낮추게 됩니다. DI에 대해서 설명해보세요 DI는 Dependency Injection의 약자로 의존성 주입을 의미 합니다. 객체간의 의존 관계를 미리 설정해두면 스프링 컨테이너가 의존 관계를 자동으로 연결해줍니다. 이렇게 되면 직접 의존하는 객체를 생성하지 않아도 되고, 검색해서 가져올 필요가 없어 결합도가 낮아지는 장점이 있습니다. IOC에 대해서 설명해보세요 IOC는 Inversion Of Control의 약자로 제어의 역전을 의미.. 2024. 1. 4.
[신입 개발자 기술면접 질문] JAVA JVM이 무엇인가요? 자바를 실행하기 위한 가상 머신입니다. Java 어플리케이션에서 JVM은 자바 바이트코드를 OS에 특화된 코드로 변환하여 실행하는 역할을 담당합니다. JVM을 통해 자바 코드는 OS에 종속적이지 않게되며 OS가 달라지더라고 프로그램의 변경 없이 실행이 가능합니다. JAVA가 어떻게 실행되는지 설명해보세요 우선 자바 소스코드는 컴파일러에 의해 JVM이 이해할 수 있는 수준의 바이트 코드로 변환됩니다. 이후 JVM의 Class Loader에 의해 바이트 코드가 자바 메모리 영역에 올라가게 되고, 실행 엔진에 의해 바이트 코드가 실행됩니다. JAVA 메모리 구조에 대해서 설명해보세요 자바 메모리 구조는 크게 5가지 영역으로 구분됩니다. 우선 스레드 별로 PC 레지스터, JVM Stack,.. 2024. 1. 4.
[Spring Boot] Security6에서 FormLogin으로 로그인 해결하는 법 레퍼런스를 참고하며 자바/스프링으로 CRUD 구현 중 레퍼런스의 스프링/시큐리티 버전과 현재 버전이 달라 공식 문서를 참고하며 현재 버전에 적용하는 방법을 찾았다. 필자의 버전 스프링 부트 버전: 3.2.0 스프링 시큐리티 버전: 6.2 기존의 FormLogin으로 구현한 방법은 다음과 같다. @Configuration @EnableWebSecurity public class SecurityConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { return http .authorizeHttpRequests(auth -> auth.anyRequest().permitAll()) .aut.. 2023. 12. 7.
반응형