본문 바로가기

Computer Science

(252)
2. 멀티 쓰레드 프로그래밍 멀티쓰레드 프로그래밍 자바에서 제공하는 멀티쓰레드 프로그래밍에 대해 공부해보자 📖 Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 지난 9주차 과제 회고 ✍️ Exception을 계속 throw 하다보면 결국 main 메소드에서 처리를 해야 하는데, 여기서도 던지면 jvm이 어떤 방식으로 throw를 처리하는지에 대한 질문이였다. 간단하게 정리하자면, 해당 쓰레드는 예외를 던지고 종료가 된다. 하필 이번주 스터디 주제가 멀티쓰레드 프로그래밍이기 때문인진 몰라도 저 의미가 너무나도 궁금했다. 🤔 TMI : 이번에 작성한 예제는 필자가 맥날 알바생이기 때문에 관련 예제가 햄버거와 관련되어있습니다.. 프로세스(Process) 📌 실행중인 프로그램을..
1. 프로세스 vs 쓰레드 CS 첫 포스팅으로는 프로세스와 스레드의 차이에 대해 설명하는 글을 쓰기로 결정했다. 프로세스와 스레드, 그리고 프로그램이 작동하는 방식에 대해서 잘 이해하고 있는지 확인하기 위해 기술면접에서 단골 질문 사항으로 나온다고 하고, 이 부분이 운영체제 과목에서도 기본으로 다루고 갈 정도로 중요하기 때문이다. 따라서 이번 글에서는 프로세스와 스레드의 차이에 대한 글뿐만 아니라, 프로그램/프로세스/스레드 모두에 대한 기초적인 설명을 쓰게 될 것 같다. 프로세스와 스레드에 대한 정의 먼저 프로세스와 스레드가 무엇인지 정의부터 살펴보고 가자. 프로세스: 운영체제로부터 자원을 할당받은 작업의 단위. 스레드: 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위. 일단 운영체제에 대해 기본 배경 지식이 없다면 정의만 ..
3. CGI란 Common Gateway Interface(CGI)란 서버와 애플리케이션 간에 데이터를 주고 받는 방식 또는 컨벤션을 CGI라고 한다. 아래 그림을 참고하자. https://www.loginsoft.com/blog/2018/07/25/introduction-to-common-gateway-interface-and-cgi-vulnerabilities/ https://electricalfundablog.com/common-gateway-interface-cgi/ https://electricalfundablog.com/common-gateway-interface-cgi/ 유저가 웹페이지를 요청했을 때 서버는 요청된 페이지를 보내준다. 하지만 유저가 웹페이지에서 특정 form을 채운 뒤 웹페이지를 보내면 이..
2. 서블릿이란? 서블릿을 한 줄로 정의하자면 아래와 같습니다. 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술 간단히 말해서, 서블릿이란 자바를 사용하여 웹을 만들기 위해 필요한 기술입니다. 그런데 좀더 들어가서 설명하면 클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 전송해주어야 하는데, 이러한 역할을 하는 자바 프로그램입니다. 예를 들어, 어떠한 사용자가 로그인을 하려고 할 때. 사용자는 아이디와 비밀번호를 입력하고, 로그인 버튼을 누릅니다. 그때 서버는 클라이언트의 아이디와 비밀번호를 확인하고, 다음 페이지를 띄워주어야 하는데, 이러한 역할을 수행하는 것이 바로 서블릿(Servlet)입니다. 그래서 서블릿은 자바로 구현 된 *CGI라고 흔히..
1. 스프링 프레임워크란 ? Spring Framework란? 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 엔터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션입니다. 엔터프라이즈급 개발이란 뜻대로만 풀이하면 기업을 대상으로 하는 개발이라는 말입니다. 즉, 대규모 데이터 처리와 트랜잭션이 동시에 여러 사용자로 부터 행해지는 매우 큰 규모의 환경을 엔터프라이즈 환경이라 일컫습니다. Spirng Framework는 경량 컨테이너로 자바 객체를 담고 직접 관리합니다. 객체의 생성 및 소멸 그리고 라이프 사이클을관리하며 언제든 Spring 컨테이너로 부터 필요한 객체를 가져와 사용할 수 있습니다. 이는 Spirng이 IOC 기반의 Framework임을 의미합니다. Spring Framewor..
6. 데이터형 데이터 타입 데이터 타입이란 컬럼이 저장되는 데이터 유형을 말합니다. 오라클에서 기본적으로 제공하는 기본 데이터 타입과 이 기본데이터 타입을 혼합하여 만들 수 있는 사용자 정의 데이터 타입으로 구분할 수 있습니다. 기본 데이터 타입은 문자형, 실수, 소수, 자료형 등의 여러 데이터를 식별하는 타입입니다. 문자 데이터 타입 데이터타입 설명 CHAR(n) 고정길이 문자 / 최대 2000byte / 디폴트 값은 1byte VARCHAR2(n) 가변길이 문자 / 최대 4000BYTE / 디폴트 값은 1byte NCHAR(n) 고정길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴트 값은 1byte NVARCHAR(n) 가변길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴..
1. 즐겨쓰는 단축키 1. 생성자 자동 생성 : command + N 2. 테스트 자동 생성 : command + shift + t 3. 쓰지 않는 dependency 제거 : option + control.+ o ( optimized imfort) 4. 중복 변수 제거 : alt + command + v
2. 객체와 클래스 클래스란 클래스는 프로그램을 효율적으로 작성하도록 도와주는 개념입니다. 모든 자바 소스는 클래스를 포함하고 있고, 반드시 하나 이상의 클래스가 존재해야 합니다. 클래스는 클래스가 표현하는 사물의 일반적인 요소에서 출발하는 것이 좋습니다. 예를들면 자동차의 경우 차량번호와 연료량을 항상 가지고 있어야 합니다. 이렇게 자동차의 특성과 기능들을 정리하여 하나의 클래스로 묶어서 표현할 수 있습니다. '차량 번호는 ㅇㅇㅇ입니다.' '남은 연료량은 ㅇㅇ입니다.' 1 2 3 4 5 6 7 8 9 class 자동차 { 차량번호; 남은연료량; 차량번호결정하기; 연료를 넣기; 차량번호와 남은연료 양을 표시하기 } cs 클래스 선언하기 물건의 상태 특성, 기능을 정리한 클래스를 작성하는 작업을 '클래스 선언' 이라고 합니다..