본문 바로가기

분류72

입출력 스트림과 파일 입출력(프로그래밍 심화)(명품 JAVA Programming ) 용어 정리 본문 정리 자바의 입출력 스트림 컴퓨터 공학에서 스티림이란 데이터의 흐름 혹은 데이터를 전송하는 소프트웨어 모듈을 일컫는다. 자바에서 입출력 스트림은 응용프로그램과 입출력 장치를 연결하는 소프트웨어 모듈이다. 입출력 스트림의 특징은 다음과 같다. 1. 스트림의 양끝에는 입출력 장치와 자바 응용프로그램이 연결된다.(자바 응용프로그램은 입력·출력 스트림과만 연결하고, 입출력 스트림이 입출력 장치를 제어하고 실질적인 입출력을 담당한다.) 2. 스트림은 단방향이다.(입력 스트림은 입력장치에서 응용프로그램으로 데이터 전송을, 출력 스트림은 응용프로그램으로부터 받은 데이터를 출력 장치로 전송을 담당한다. 두 가지 기능을 모두 가진 스트림은 없다.) 3. 스트림을 통해 흘러가는 기본 단위는 바이트나 문자이.. 2022. 11. 24.
제네릭과 컬렉션(프로그래밍 심화)(명품 JAVA Programming ) 용어정리 해시 함수 : 임의의 길이를 갖는 메시지를 입력받아 고정된 길이의 해시값을 출력하는 함수이다. 저장된 자료의 양에 상관없이 원소 하나를 저장하고 검색하는 것을 상수 시간에 가능하게 하기 위해 해시 테이블이 나왓다. 본문정리 컬렉션과 제네릭 컬렉션은 제네릭이라는 기법으로 구현되어 있다. 컬렉션은 배열이 가진 고정 크기의 단점을 극복하기 위해 객체들을 쉽게 삽입, 삭제, 검색할 수 있는 가변 크기의 컨테이너이다. Vector, ArrayList, LinkedList, Stack, HashSet은 모두 단일 클래스의 객체만을 요소로 다루지만, HashMap은 키와 값의 쌍으로 이루어지는 데이터를 저장하고, '키'로 쉽게 검색하도록 만든 컬렉션이다. 컬렉션의 특징은 다음과 같다. 1. 제네릭이라는 기법.. 2022. 11. 21.
인터넷 프로토콜(IP)(네트워크보안)(Wireshark로 배우는 컴퓨터 네트워크) 용어정리 최선의 노력 : IP패킷은 오류가 발생하거나, 분실되거나, 틀린 순서로 도착하거나, 지연될 수 있으며 네트워크 내에서 혼잡 문제를 일으킬 수 있다는 것을 의미 본문정리 개요 인터넷 프로토콜(IP) 은 네트워크층에서 TCP/IP 프로토콜이 사용하는 전송 메커니즘으로 신뢰성이 없고 비연결형 데이터그램 프로토콜로서 최선의 노력 전달 서비스를 제공 → 신뢰성이 중요하다면 IP는 TCP와 같은 신뢰성 있는 프로토콜과 함께 사용 IP는 데이터그램 방법을 사용하는 패킷 교환망을 위해 설계된 비연결형 프로토콜이다. 즉 데이터그램이 독립적으로 처리되고 목적지까지 서로 다른 경로를 통하여 전달될 수 있다. 순서가 바뀔 수도, 분실 및 훼손도 될 수 있는데 이를 해결하기 위해 상위 계층의 프로토콜에 의존한다. 데이.. 2022. 11. 19.
대학(원)생 논문 공모전-한국공항공사 결과 1차 합격 처음 목표 1차 합격 후 우수상(100만원) 배운 것, 성공, 실패 요인 분석 편입 후 중원 친구들과 항공에 관련된 공모전을 참가하고자 했다.(물론 내가 아닌 다른 친구가 하자고 제안을 했다.) 나의 포트폴리오엔 적합하지 않았지만 공모전이라는게 궁금하기도하고 1년간 항공을 배우기도 했는데 결과를 내고 싶었다. 나의 장점이자 단점은 가시적인 결과를 내야한다는 압박감이 있다는 것이다. 그렇기에 우수상을 목표로 공모전에 참가했다. 우수상을 못 받은 이유는 다음과 같다. 1. 논문의 취지에 적합하지 않았던 것 같다. 논문은 본래 없는 것을 제시해야 하지만 우린 원래 있던 기구를 설치하자에 그쳤다. 이 장치를 설치할 장소 등을 제시하지 못했다.(법과 공항 운영의 측면을 고려해 제시하지 않았지만 지.. 2022. 11. 16.
AI보안 기술개발 교육 - 악성코드반(kisia) 결과 1차 서류면접 합격 후 2차 대면 면접 합격 후 본 교육과정 수료 처음 목표 수료 배운 것, 성공, 실패 요인 분석 애초에 경쟁률이 빡세지 않아(거의 1.1:1)이라 붙은 것 같다. 선발되기 위해선 먼저 서류를 통과한 후 (5:5) 대면 면접을 보는 것이었다. 서류를 적을 땐 능력적으로 적을 내용이 아예 없었다. 인공지능과 보안 관련 지식도 없다고 기입했다. 때문에 지원 동기, 이 교육이 나에게 왜 필요한지를 많이 어필하려 하였다. 대면 면접에서 나에게 했던 질문은 AI 관련하여 어떤 프로그램을 만들 수 있는가? 였다. 답으로는 최근 유튜브에서 본 영상을 인용하였다. 대리기사가 음주한 사람에게 폭행당하는 일이 있는데 이때 바디캠을 이용하여 대리기사가 폭행당했다 인식하면 자동으로 경찰에 신고해주는 프.. 2022. 11. 16.
모듈과 패키지 개념, 자바 기본 패키지(프로그래밍 심화)(명품 JAVA Programming ) 용어정리 자바 플랫폼 : 자바 프로그램의 개발 환겨오가 실행 환경을 함께 지칭하는 것 자바 실행 환경 : 자바 응용프로그램이 실행되는데 필요한 제반 환경, 응용프로그램이 실행 중에 사용하는 자바 API 클래스와 자바 가상 기계 등으로 이루어짐 본문정리 패키지 디렉터리를 자바에서는 패키지라고 부르며, 파일 경로명은 다음과 같이 점(.)을 찍어 표현한다. 패키지란 서로 관련 있는 클래스나 인터페이스의 컴파일된 클래스 파일들을 한 곳에 묶어 놓은 것이다. 모듈은 패키지들을 묶어 놓은 단위로, 개발자들에게 많은 클래스들을 패키지 형태로 제공하는 것이다. 가장 기본이 되면서 응용프로그램에 많이 사용되는 클래스들을 담고 있는 것이 java.base모듈이다. 해당 모듈에 여러 패키지가 속해 있는데 그 예로 io, l.. 2022. 11. 10.
Unit 22 - 26(파이썬 코딩 도장) 용어정리 리스트 컴프리핸션 : 리스트 안에 식, for 반복문, if 조건문 등을 지정하여 리스트를 생성하는 것 메서드 체이닝 : method-chaining으로 메소드를 줄줄이 연결한다는 뜻으로 사용된다. 본문정리 Unit 22. append : 요소 하나를 추가하는 메서드이다. extend : 리스트를 연결하여 확장하는 메서드이다. insert : 특정 인덱스에 요소를 추가하는 메서드이다. append에 리스트를 넣으면 리스트안에 리스트가 들어가는 것이다. >>> a = [10, 20, 30] >>> a.append([500, 600]) >>> a [10, 20, 30, [500, 600]] >>> len(a) 4 위의 문제로 extend를 사용하는 것이다. >>> a = [10, 20, 30] >>.. 2022. 11. 2.
Unit 16 - 21(파이썬 코딩 도장) 용어정리 루프 인데스 : 반복문의 변수를 의미 본문정리 Unit 16. for과 range를 섞어사용하는 방식은 이하와 같다. for 변수 in range(횟수): 반복할 코드 여기서 변수에 값이 저장된다는 것이 중요하다. 여기서 range 대신 다른 시퀀스 객체를 이용할 수 있다. 또한 reversed(시퀀스객체)를 이용하여 뒤집어 출력 할 수도 있다. Unit 17. while 문법의 이하와 같다. 초기식 while 조건식: 반복할 코드 변화식 랜덤값을 생성하기 위해선 random 모듈이 필요하며 이하처럼 호출한다. import random random.ranint(시작,끝)을 이용하면 시작부터 끝까지의 정수를 생성한다. random.choice(시퀀스객체)를 이용하면 객체 중에 무작위 요소를 선택해.. 2022. 10. 30.
Unit 13 - 15(파이썬 코딩 도장) 용어정리 의사코드 : 실제 프로그래밍 언어가 아닌 사람의 언어로 프로그래밍 언어를 표현하는 것 본문정리 Unit 13. if의 문법은 다음과 같다. if 조건식: 코드 만약 아무일도 안일어나게 하기 위해선 pass를 코드에 입력하면 된다. if not 조건식:도 가능하다. Unit 14. else의 문법은 다음과 같다. if 조건식: 코드1 else: 코드2 여기서 조건식에 True, False, None을 입력할 수 있는데 이중 None은 False를 의미한다. 문자열 중 빈문자열은 False를 의미한다. Unit 15. elif를 사용하며 else if는 사용하지 않는다. 문법은 다음과 같다. if 조건식: 코드1 elif 조건식: 코드2 본문제 2022. 10. 29.