목록분류 전체보기 (478)
한 걸음 두 걸음
정보보안 정보 자산을 사람이나 환경으로부터 보호하는 것 정보보안의 목표 기밀성 : 정보가 타인에게 노출되지 않도록 함 무결성 : 정보가 변경되지 않았음. 가용성 : 허가받은 사용자의 접근이 보장됨. (CIA) 인증성 : 정보에 접근한 사람과 관리자 등이 일치하도록 보장하는 것 책임성(부인방지) : 사용자와 관리자의 접근을 확실히 기록하고 접근 결과에 대해 책임지도록 증거를 남기는 것 공개키 암호화와, 암호키 복호화 등에 모두 해싱을 사용합니다. ㅎㅎ 학교 회선처럼 사용량이 많은 경우, 그리고 보안이 중요한 경우 전용회선을 사용합니다. 가상의 전용회선을 만을어준다고해서 virtual private network VPN이라 합니다. 가상의 회선이므로 물리적으로 분리된 것이 아닙니다. 그러므로 암호화(KEY)..
특허 출원에 필요한 서류 특허출원서 명세서 도면 요약 1, 특허출원서 발명자 및 출원인의 인적사항과 기초적 사항, 특허법 적용을 받기 위한 취지를 적은 것이 필요합니다. ( 발명의 명칭, 발명자의 성명, 특허출원인 대리인 등에 대해 작성하도록 하고 있습니다.) 이 특허 출원서가 잘못작성되면 법적으로 불수리 혹은 무효처리될 수 있습니다. 불수리란, 건마다 서면으로 작성하지 않고 한글로 기재하지 않으며, 수정사항 요청을 반영하지 않은 경우 받을 수 있습니다. 무효는 대리권이 결함이 있고 발명자의 설명과 주소 발명의 명칭이 기재되지 않은 경우 받을 수 있습니다. 명세서 특허를 받고자 하는 발명의 기술적인 내용을 문장을 통해 명확하고 상세하게 기재한 서명 이는 발명의 명칭과 도면 설명 특허청구범위 특허설명 등이..
어노테이션 @를 이용하여 작성한 코드에 부가 설명을 하는 것으로, 주석과 비슷한 역할입니다. 가장 흔히 볼 수 있는 어노테이션은 @Override가 있습니다. 이는 메소드에 쓰이며, 재정의된 함수라는 것을 표시합니다. 이를 사용하면 가독성이 높아지고 소스코드가 보다 명확해집니다. 어노테이션 사용 이유 주석이 있는데 어노테이션을 사용하는 이유는, 주석은 사람을 위한 설명이지만 어노테이션은 사람 뿐만 아니라 컴파일러에게 정보를 제공하는 것이기 때문입니다. 어노테이션 정보를 바탕으로 컴파일러는 코드에 오류가 있는지 확인합니다. 그리고 바이트코드로 변경 시 어노테이션 정보를 포함합니다. 어노테이션 종류 @SuppressWarning컴파일러의 경고를 무시하라고 개발자에게 알려주는 어노테이션 어노테이션 사용을 더 ..
리플렉션이란? 자바는 객체지향 언어이기 때문에 클래스로 이루어져 있습니다. 이 때, 자기자신의 객체 내부의 field(클래스 변수), method(클래스 함수), constructor(클래스 생성자) 정보를 알수 있도록 제공하는 것이 리플렉션입니다. Class class 클래스 클래스는 클래스 내부 정보를 알 수 있도록 리플렉션을 이용해서 도와줍니다. 예) getClass()를 사용해서 실제 객체의 타입을 알 수 있습니다.
스트림이란? JAVA8부터 업데이트 되었습니다. 람다식을 활용하여 element를 처리할 수 있는 반복자입니다. 입출력 스트림과 다른 스트림을 설명합니다 스트림방식 String[] words = ~; int count = words.stream() .filter(w -> w.length() > 10 ) .count(); 병렬처리 스트림 String[] words = ~; int count = words.parallelStream() .filter(w -> w.length() > 10 ) .count(); 파이프라인에 따라 중간연산(filter등)이 모두 연결되어 스트림이 되고(중간연산을 지날 때마다 스트림이 변화합니다.) 이는 최종연산(count)로 전달되어 한번에 처리됩니다. 스트림 특징 컬렉션과 스트..
프로세스와 스레드 운영체제를 공부하신 분들은 다 아시겠지만, 컴퓨터 업무 처리의 단위는 프로세스와 스레드가 있습니다. 프로세스는 실행중인 프로그램 작업단위로 독자적으로 자신만의 데이터와 프로세스ID 등을 갖고 실행됩니다. 이는 프로그램으로도 불리지만, 사실 하나의 프로그램은 여러 개의 프로세스를 가질 수도 있습니다.(예, 카카오톡 프로그램은 메세지송수신과 프로필뮤직 플레이를 동시에 제공합니다.) 이 때, 메세지 송수신과 뮤직 플레이 프로세스가 각각 있으며 두 사이의 메모리는 분리되어있습니다. 스레드는 프로세스 안에 한 개 이상 존재합니다. 프로세스 내에서 스레드들은 모두 프로세스의 자원을 공유하며 효율적으로 통신합니다. 자바로 만든 프로그램은 반드시 한 개 이상의 스레드를 갖습니다. 최초로 만들어진 스레..
Collection을 사용하다보면 데이터 접근하기 위해 반복자를 사용하게 됩니다. Iterator인터페이스 java.util의 Iterator인터페이스엔 hasNext(), next(), remove() 추상메소드가 정의되어 있는데 hasNext()는 아직 검사하지 않은 원소가 남아있으면 true를 반환합니다. next()는 다음 원소로 이동하여 해당 원소를 반환합니다. remove()는 최근에 반환한 마지막 원소를 삭제합니다, default void forEachRemaining(Consumer
제네릭 클래스란? ArrayList가 있다면, 이는 String만 적용시킬 수 있는 것이 아니라, 여러 타입(String, 객체, Integer 등)을 적용시켜 재사용할 수 있도록 해주는 것입니다. 단, 기본타입(int, char, double 등의 Primitive data type은 지원하지 않습니다.) 이 때 타입을 나타내는 매개변수는 로 표기해야 합니다. , 타입매개변수 ArrayList //T타입을 element로 가지는 ArrayList클래스, 다양한 타입에서도 동작하는 함수와 클래스 작성에 용이하게 쓰입니다. class ClassName{ private K key; private V value; public ClassName(K k, V v){ key = k; value = v; } publ..