Spring

이번주에는 Spring에 대해서 공부하였습니다. Spring Bean Scope, MVC FrameWork, Spring Boot, Spring Application에 대해서 알아보았습니다. Spring Bean Spring에서 활용되는 POJO(Plain, Old Java Object)를 Bean이라고 부릅니다. POJO(Plain, Old Java Object) 특정 기술에 종속되지 않은, 순수한 자바로 만든 객체를 POJO라고 부릅니다. 이러한 객체를 사용하게 되면, 특정 기술에 종속되어 있지 않기 때문에, 확장성 측면에서 유리한 점이 존재합니다. Bean은 Spring IOC라는 컨테이너에 의하여 관리되며, 우리가 컨테이너에 공급하는 파일에 의하여 생성됩니다. 이때, Bean이 관리되는 범위를 Bean Scope라고합니다. @Component or @Configuration + @Bean의 조합으로 Bean이 등록됩니다. Sing

2022년 11월 2일
·
0개의 댓글
·
post-thumbnail

Network

이번 주에는 Network 부분에 대해서 공부하였습니다. 공개키 방식과 비밀키 방식, Http 프로토콜과 Https 프로토콜 사이의 차이점, 로드밸런싱 기법, Blocking & Non-Blocking 방식, Synchronous, Asynchronous에 대해서 알아보았습니다. 공개키 / 비밀키 방식 대칭키 암호화 방식 암호화 및 복호화에 사용되는 키가 동일한 방식을 의미합니다. 따라서, 해당 암호화 방식을 사용할 경우, 동일한 키를 가진 송신자와 수신자만이 데이터를 볼 수 있다는 특징을 가지고 있습니다. 이러한 대칭키를 사용하는 알고리즘은 DES, AES 등이 존재합니다. 이러한 대칭키 암호화 방식을 사용할 경우, 공개키 암호화 방식에 비하여 속도가 빠르다는 장점이 있지만, 키를 제3자

2022년 10월 21일
·
0개의 댓글
·

Java - Error, Exception, Stream, Record

오늘은 Java를 사용하면서 자주 볼 수 있었던 Error와 Exception, Stream API에 대하여 알아본 뒤, Record라는 문법에 대해서 알아보았습니다. Error & Exception 문법적으로 올바르지 않거나, 논리적으로 올바르지 않은 경우가 발생하였을 경우, 사용자에게 어떠한 문제가 발생하였는지 알려주는 것을 Error라고합니다. 자바는 사용자에게 어떠한 Error가 발생하였는지 표기해주어 사용자가 오류를 수정할 수 있게끔 유도해줍니다. 문법적으로 올바르지 않아서 발생하는 오류를 컴파일 오류, 논리적인 오류를 런타임 오류라고 하는데, 에러는 크게보면 이렇게 2가지로 분류될 수 있을 것 같습니다. 컴파일 오류 소스코드를 바이트코드로 변환하는 과정에서 발생하는 오류로, 문법적인 오류가 발생하여 컴파일러가 잡아주는 오류입니다. 런타임 오류 런타임 오류의 경우에는 **문법적으로 잘못된 부분이

2022년 10월 18일
·
0개의 댓글
·
post-thumbnail

Network

이번 주차에는 Network에 대해서 알아보았습니다. Network OSI 7계층 TCP 3 way HandShake & 4 way HandShake TCP/IP 흐름제어 & 혼잡제어 UDP 우리가 사용하는 Network의 구조는 어떻게 되어있는지 간단하게 확인해보았으며, TCP 프로토콜과 UDP 프로토콜에 대해서 간단하게 알아보는 시간을 가졌습니다. OSI 7계층 각 프로토콜들을 기능별로 나눈 모델을 OSI 7계층이라고하는데, 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공합니다. 규격화된 OSI 7계층을 네트워크 모델로 사용함으로써 서로 다른 컴퓨터 기기간의 네트워크를 형성할 수 있으며 통신이 일어나는 과정을 크게 구분하였기 때문에 단계별로 파악할 수 있고, 네트워크의 구성을 예측할 수 있게 되었습니다. 또한, 각 계층은 독립적이기 때문에 특정한 곳에서 문제가 발생하면 해당 계층만 고치

2022년 10월 9일
·
0개의 댓글
·

Java

Java 컴파일 과정 Java Virtual Machine Call By Value / Call By Reference Thread Casting Auto Boxing / Auto Unboxing Thread 자바에서의 컴파일 과정 1) 우리가 자바 코드를 생성하여 이를 컴파일 할 경우 확장자가 .java였던 코드가 컴파일러에 의하여 자바 바이트 코드로 변화하게 됩니다. 자바 바이트 코드로 변화하면서 확장자는 .class로 변화합니다. 우리가 이해할 수 있는 형식의 고급 언어(Java)가 저급 언어(어셈블리어)로 변화한 것입니다. 2) 변화한 자바 바이트 코드를 자바 가상 머신(JVM)의 클래스 로더에게 전달해줍니다. 3) 클래스 로더가 자바 바이트 코드를 입력받은 경우, 필요한 클래스들을 로딩 및 링크하여 JVM의 메모리 영역에 올려줍니다. 4) 실행엔진이 JVM 메모리에 올

2022년 9월 30일
·
0개의 댓글
·

Computer Architecture

컴퓨터 구조 및 구성 컴퓨터를 구성하고 있는 요소들은 매우 다양하지만, 크게 나눈다면 하드웨어와 소프트웨어로 구성되어 있다 볼 수 있을 것 같습니다. 하드웨어? 컴퓨터 시스템이 작동하는 데 필요한 물리적 구성 요소를 의미하며, 쉽게 말해 우리가 손으로 만질 수 있는 제품들을 보통 하드웨어라고 합니다. 그래픽 카드, CPU 등 컴퓨터를 실행시키는데에 필요한 필수 소프트웨어를 실행하는 역할을 수행합니다. 컴퓨터를 구동시키기 위해서는 하드웨어와 소프트웨어가 함께 작동해야 하지만, 시스템의 속도는 하드웨어의 많은 영향을 받습니다. 소프트웨어? 하드웨어가 컴퓨터 시스템이 작동하는 데 필요한 물리적 구성 요소라면, 소프트웨어는 그 반대로 컴퓨터에서 실행되는 가상 프로그램을 의미합니다. 컴퓨터에게 동작 방법을 지시하는 명령어 집합의 모임

2022년 9월 29일
·
0개의 댓글
·
post-thumbnail

명지대 CS 스터디

최근에 학교에서 학과 스터디를 진행한다고 하기에, CS에 대하여 공부하고자 스터디에 지원하게 되었습니다. 스터디원은 저까지 포함하여 4명인데, 저를 제외한 3명은 전부터 팀을 구성하여 스터디를 꾸준히 해온 상태였습니다. 따라서, 1주차와 2주차는 혼자서 공부하고, 3주차부터 팀원들과 함께 진행해 나아갈 것 같습니다. 다음처럼, 매주 특정 주제에 대해서 공부하고, 그것에 대해서 발표하며 질문을 받는 형식으로 진행해 나아갈 것 같습니다. 솔직히, CS 관련해서 알고 있는 내용이 많이 없는 상태인데, 많은 도움이 되었으면 좋겠습니다.

2022년 9월 28일
·
0개의 댓글
·