전체 글
-
'쉽게 배우는 자바 프로그래밍' Ch1 연습문제 답안프로그래밍 언어/JAVA 2023. 5. 28. 23:13
개인적으로 풀어 본 내용이니 틀린 부분이 있다면 댓글 부탁드립니다!!:) 문제 1. 기업용 자바 플랫폼을 위한 에디션은? 정답 : 3번 Java EE 문제 2. 자바의 장점과 관련 없는 것은? 정답 : 4번 C 언어보다 빠르다. 문제 3. 자바 소스 코드를 바이트 코드로 컴파일하는 명령어는? 정답 : 2번 jvavc.exe 문제 4. JDK와 JRE 차이점을 설명한 것이다. 잘못된 것은? 정답 : 1번 JRE는 자바 컴파일러를 포함한다. 해설) JDK는 자바 컴파일러를 포함한다. 문제 5. 자바와 관련된 내용이다. 틀린 것은? 정답 : 2번 JVM은 플랫폼 독립적이다. 문제 6. JVM을 구동하는 명령어는? 정답 : 1번 java.exe 문제 7. Hello.java 프로그램을 컴파일하면 바이트 코드로 ..
-
'쉽게 배우는 자바 프로그래밍' Ch2 핵심 정리(JAVA 데이터 타입, var)프로그래밍 언어/JAVA 2023. 5. 28. 22:47
Chapter 2에서는 자바 프로그램 기본 구조와 기초 문법을 주로 다뤘다. 다른 언어들과 공통적으로 가지고 있는 특성보다는 JAVA에서 따로 기억하면 좋을 부분들을 위주로 작성해 보려고 한다. 클래스(Class) 객체 지향 언어에서 "클래스" 는 프로그램을 개발하는 단위. 적어도 하나의 클래스가 있어야 한다. 클래스 이름은 대문자로 시작하는 것이 관례이며 내부에는 필드와 메서드가 있다. 파일 이름은 클래스 이름과 연관되어서 Hello 클래스는 Hello.java라는 소스 파일 내에 저장된다. 식별자의 표기법 - 변수, 메서드 : 모두 소문자. 복합 단어 일 때는 두 번째 단어부터 단어의 첫 자만 대문자. ex) int thisYear; - 클래스, 인터페이스 : 첫자만 대문자, 나머지는 소문자 ex) ..
-
'쉽게 배우는 자바 프로그래밍' Ch1 핵심 정리(JAVA 특징, JVM 이란?)프로그래밍 언어/JAVA 2023. 5. 27. 23:13
Chapter 1에서는 JAVA언어의 특징, JVM 에 대해서 주로 다뤘다. JAVA의 특징 객체 지향 언어 함수형 코딩 지원 플랫폼 독립적 (JVM 덕분에 가능!!) 분산 처리 지원 멀티스레딩 지원 동적이다 JAVA 프로그램 종류 JAVA 애플리케이션 : 독립적으로 실행할 수 있는 일반적인 애플리케이션 ex) 이클립스도!! JAVA 애플릿 : 웹 브라우저에서 구동하는 프로그램 JAVA 서블릿 : 웹 서버에서 동작하는 프로그램 JVM 원래 소프트웨어 마다 운영체제가 다르면, 서로 호환되지 않는다. 그렇지만 자바 프로그램은 JVM(Java Virtual Machine) 덕분에 플랫폼에 관계없이 실행될 수 있고 플랫폼 독립적이다. 실행 과정 [일반 프로그램] : 하드웨어와 운영체제에 종속적 컴파일러 : 일반..
-
OSI 7 layer와 TCP/IP 4 layerCS 지식/네트워크(Network) 2023. 5. 25. 00:23
OSI 7 layer vs TCP/IP Model - OSI : Open Systems Interconnection - TCP/IP : Transmission Control Protocol / Internet Protocol OSI 7 Layer - 각 layer는 다음 높은 layer에 service를 제공해야 한다. - 한 layer를 수정한다고 해서 다른 layer들도 수정해야 하는 것은 아니다. - conceptual/theoretical model. - 문제를 분석하고 문제의 원인을 분리하는데 도움이 됨. 모델의 어느 특정 계층으로 문제를 좁힐 경우 불필요한 많은 작업을 피할 수 있음. 유지보수 편함. - ISO(국제 표준 기구)에 의해 개발됨. - interface, service, proto..
-
paging vs segmentationCS 지식/운영체제(OS) 2023. 5. 23. 23:24
page : process를 고정된 크기로 나눈 블록 frame : 메모리를 고정된 크기로 나눈 블록. page와 frame은 크기가 같음. segment : 서로 다른 크기의 논리적 블록 가상 메모리(Virtual Memory) 실제 메모리 크기와 관계없이 메모리를 사용할 수 있도록 가상 메모리 주소 사용 프로세스의 일부분만 메모리에 로드하고 나머지는 보조기억장치에 할당 MMU(Memory Management Unit)를 통해 논리 주소를 물리주소(실제 메모리 주소)로 변환시킴. (Mapping 과정) Paging(페이징) 페이지와 프레임을 대응시키는 page mapping 과정(virtual page number를 physical frame number로 mapping)이 필요하여 page table..
-
세션 기반 인증 vs 토큰 기반 인증CS 지식/네트워크(Network) 2023. 5. 12. 14:43
세션 기반 인증 - HTTP는 stateless 프로토콜이기 때문에 누가 요청을 했는지, 인증된 client인지를 확인할 수 없음 => server 측에 client의 접속 상태를 저장하는 세션 기반 인증 활용 - 요청마다 session storage에 저장된 유효한 세션인지 확인해야 함. 토큰 기반 인증 - JWT(JSON Web Token)을 가장 많이 사용 - token에 사용자 인증을 위한 정보가 담겨있기 때문에 서버에 사용자 정보를 저장하지 않고, 전달받은 token의 서명과 데이터를 검증하는 것만으로 인증이 가능. - 사용자의 인증(ID/PW)이 완료되면 서버는 비밀키 또는 공개/개인 키를 이용해 서명한 token을 client에게 전달. - client는 토큰을 보관하고 있다가(가장 쉬운 방..
-
대칭키 vs 공개키CS 지식/네트워크(Network) 2023. 5. 5. 21:28
대칭키 대칭키 : 암호화에 사용되는 키와 복호화에 사용되는 키가 동일. 송신자와 수신자가 동일한 키를 소유하고 있기 때문에 두 사람 모두 키에 대한 비밀을 유지해야 함. => 키의 비밀 유지가 가장 중요하며 이 키를 '비밀키'라고 함. * 아래의 디지털 서명 예시와 같이 꼭 공개키로만 암호화해야만 하고 개인키로는 복호화만 해야 하는 것은 아님. 장점 : 암호화와 복호화를 수행하는데 소모되는 시간이 매우 짧음. => 하드디스크에 저장된 파일을 암호화하는 데 사용 => 파일이나 이메일 등을 암호화하는데 효과적. 그러나 멀리 떨어져 있는 사람과 암호화된 파일이나 이메일을 송, 수신하기 위해서는 비밀키를 전달할 수 있는 방법이 제공되어야 함. => 확장성이 떨어짐 *이런 비밀키 전달을 위해 공개키 암호 알고리즘..
-
statement vs prepared statement vs callable statement interfaceCS 지식/데이터베이스(Database) 2023. 5. 4. 23:10
SQL 실행 단계 1) Parsing(쿼리 문장 분석) 2) Compile 3) Execute(실행) Statement - used to execute string-based SQL queries - SQL string을 concatenate 하기 때문에 less readable public void insert(PersonEntity personEntity) { String query = "INSERT INTO persons(id, name) VALUES(" + personEntity.getId() + ", '" + personEntity.getName() + "')"; Statement statement = connection.createStatement(); statement.executeUpdat..