목록전체 글 (82)
(수근수근)
define : #define은 특정 값에 이름을 붙이거나 코드를 조합하여 함수형태로 만들 수 있다. - 매크로를 이용하면 전처리기를 거쳐 소스가 일괄 변환된다. - 조건부 컴파일 : #ifdef 메크로 코드 #endif //매크로가 정의되어있을 떄 컴파일 - 조건부 컴파일에는 여러가지 조건에 따라 컴파일 여부를 결정할 수 있다. [C++은 define 대신 const / enum / inline을 권장한다.] 예를들어 #define pi 3.241529 코드가 있다고 가정해보자! 우리에게 pi(기호식이름)가 눈에 보이지만 컴파일러에겐 보이지 않는다. 선행처리자가 컴파일에 넘어가기전에 숫자 상수로 바꾸어 버리기 때문이다. [해결발법!] const double pi = 3.141592 장점! : 컴파일도 ..
선언(Declearation) - 코드에 사용되는 어떤 대상의 이름과 타입을 컴파일러에게 알려주는 것 - 세부적인 사항은 선언에 없다. extern int x; //객체 선언 std::size_t numdigit(int number ) //함수 선언 class Widget; // 클래스 선언 template class GraphNode; // 템플릿 선언 * 정수 기본제공인데 객체로 부른다. * size_t는 원래 부호없는 정수타입을 typedef로 정의한것. 정의(Definition) - 선언에서 빠진 구체적인 세부사항을 컴파일러에게 제공하는 것 - 객체의 경우 객체에 대한 메모리 마련하는 부분 - 함수나 템플릿은 그에 대한 코드 body를 작성하는 부분 초기화 (initialization) - 객체에..
링킹(Linking)이란? * 오브젝트 파일 : 컴파일 된 파일 하나의 프로그램은 오프벡트 파일과 공용 라이브러리로 조합이 되어 하나의 프로그램이 된다. 컴퓨터가 실행할 수 있는 프로그램을 만드는 작업을 링킹이라고 한다, 링킹 작업을 마치면 .exe파일이 생성된다. exe파일을 실행하면 해당프로그램 내용을 메모리에 적재(Load)시키고 프로그램을 수행한다. 이런 일을 수행하는 프로그램을 로더(Loader)라고 한다. 코드 작성 -- (컴파일) --> 오브젝트 파일 -- (링킹) --> 실행 파일 -- (로드) --> 메모리 적재 및 수행 링커(Linker)란? 링킹작업을 마무리 하면 object 파일이 만들어진다고 됩니다! 이런 오브젝트파일은 기계어로 번역되어집니다. 이렇게 만들어진 Object file..
AES (Advanced Encryption Standard) 양방향 암호화 알고리즘의 하나로 양방향 암호화에 속한다. 양방향 알고리즘은 동일한 키로 암호화 / 복호화까지 가능하므로 키의 보완이 상당히 중요하다. 따라서 키는 아주 주요한 공간에 저장해뒀다가 불러오는 방식이 좋다! 운용모드 블록 단위별 암호화 방식으로 2가지 모드가 있다. - ECB : 모든 블록이 동일 key로 암호화 / 내용같을 시 암호화 된 결과 동일! - CBC : 앞의 블록의 암호화 결과가 다음블록에 영향을 끼침 / 내용이 같아도 암호화 결과값 상이 패딩방식 블록 자를때 마지막 블록 사이즈가 정해진 사이즈에 도달하지 못할 경우 패딩을 주는 방식 - PKCS5Padding - PKCS7Padding AES C++ 기능 구현 sample
window 브라우져 객체 브라우저의 정보 DOM에 대한 정보를 나타낸다. 1_ this 전역객체를 가르킴 window객체 2_ this 함수안에 this -> 전역을 가르킨다. 3_this 생성자 함수를 가르킨다 4_this 비동기 처리 vue created 함수에서 호줄 전 this => vue conponent 호출 후 this => undefined 그래서 => 화살표함수를 사용하면 binding 할 필요가 없다.
문제 출처 https://www.acmicpc.net/problem/2667 DFS를 이용해서 풀었다 public class back2667 { static int[] rowD = {-1,1,0,0};//상하좌우 static int[] colD = {0,0,-1,1};//상하좌우 static int num; static boolean[][] arrCheck; static List list = new ArrayList(); static int[][] arr; static int count; public static void main(String[] args) { Scanner sc = new Scanner(System.in); num = sc.nextInt(); sc.nextLine(); arr = new..