닥치고 코딩 84

알고리즘 공부 순서 / 방법

1. 언어 : python 2. 참고할 만한 사이트 : 백준, 알고스팟, 프로그래머스, 유튜브, 등. 3. 공부 순서 브루투포스(완전 탐색) 그리디알고리즘(탐욕법) DFS(깊이우선) BFS(너비우선) 분할 정복 큐 스택 다이나믹 프로그래밍 (초급) 이분 탐색 다이나믹 프로그래밍 (중급) 다익스트라 벨만 포드 플로이드 최소 스패닝 트리 세그먼트 트리(탑-다운) 인덱스 트리(바텀-업) 팬윅트리 LCA(Lowest Common Ancestor) 비트마스크 서로소 집합그리디알고리즘(탐욕법)

알고리즘 2020.09.17

ssh 호스트이름으로 비밀번호 입력없이 접속하기

초간단 ssh 호스트이름으로 비밀번호 입력없이 접속하기 test라는 컴퓨터의 서버에서 dev1(123.123.123.123)이라는 컴퓨터 서버에 비밀번호 없이 ssh연결 1. 호스트 연결 (test) vi /etc/hosts == test서버의 hosts파일 열어서 123.123.123.123 dev1 == 아이피,호스트이름 입력후 저장 2. ssh key생성(개인키, 공유키) (test) ssh-keygen -t rsa -C "test key" -t는 키의 타입이 rsa인지 dsa인지 정하는 플래그고 -C는 코멘트를 남기는 플래그 위와 같이 입력하면ssh_key와 ssh_key.pub이 생성되는데 *.pub 파일이 공개키로, dev1서버에 등록하면 비밀번호 없이 접속이 가능해진다 .pub 내용을 dev..

리눅스 2020.09.10

SSL(Secure Socket Layer)이란?

1. SSL의 개념 SSL(Secure Socket Layer) 프로토콜은 처음에 Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들었다. SSL은 Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이언트의 인증을 하는데 사용된다. 그림은 SSL 아키텍처 구조를 나타낸 그림이다. HTTP 프로토콜 상위에 통신시 보안을 위한 SSL 관련 프로토콜이 있는 방식. 실제 통신 내용을 상세히 살펴보면 클라이언트와 서버간 공유하는 암호화키를 가지고 암호화된 데이터가 송수신 되는 방식. HTTPS vs HTTP HTTP는 암호화되지 않은 방법으로 데이터를 전송하기 때문에 서버와 클라이언트가 주고 받는 메시지를 감청하는 것이 매우 쉽다. HTTPS는 SSL 프로토콜 위에서 ..

기타 2020.09.03

php break, return, exit 구분

break = 루프 탈출 - for, foreach, while 등 여러 번 반복되는 루프의 경우에 해당됨 - 루프 이후에 등장하는 코드를 계속 실행함 - if문은 반복문이 아니라 조건 충족시 1번만 실행되는 코드이므로 해당없음 return = 함수 탈출 또는 인클루드 탈출 - 함수 안에서 쓰면 함수 실행을 종료하고, 그 함수를 호출했던 지점으로 돌아가서 계속 실행함 - 함수 밖에서 쓰면 현재 파일을 인클루드했던 파일로 돌아가서 계속 실행함 - 함수 밖인데 인클루드한 것도 없으면 그냥 종료됨, 즉 exit과 동일한 효과가 됨 exit, die = 무조건 종료 - 말 그대로 프로그램이 죽어버림 정리. break는 루프(for, while, foreach)에서만 사용, 해당 루프가 끝나고 밑으로 흐름. re..

php 2020.09.03

dig 명령어 소개 및 사용방법

dig (domain information groper) 란? dig는 네트워크 관리 도구 중 하나로 DNS (Domain Name System) 를 질의할 수 있는 도구. nslookup 보다 더 편한 인터페이스와 사용법을 제공. 이와 더불어 IDN (Internationalized Domain Name) 쿼리를 지원. (nslookup도 지원) dig 사용법 dig는 간단하게 조회하고자 하는 도메인명을 입력하면 됩니다. dig 기본 문법은 아래와 같습니다. Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt} {global-d-opt} host [@local-server] {local-d-opt} [ host [@local-server] {..

리눅스 2020.08.31

MX 레코드란?

* MX 레코드란? 메일 익스체인저 레코드(mail exchanger record, MX 레코드, MX record)는 인증되고 유효성이 확인된 도메인 네임 시스템의 리소스 레코드의 일종으로, 수신자의 도메인 중간에 이메일 메시지 수용을 책임지는 메일 서버, 또 여러 메일 서버를 이용할 수 있을 경우 메일 전달 우선순위 제어에 사용되는 선호 값을 규정한다. 도메인 네임의 MX 레코드 집합은 이메일이 어떻게 간이 우편 전송 프로토콜(SMTP)로 라우팅되는 것이 좋을지를 규정한다. 즉 MX 레코드란 '메일 서버 주소! 도메인과 메일 서버(메일 서비스 업체)가 있다고 도메인으로 메일 사용이 바로 가능 하지는 않고 해당 도메인에 MX 레코드가 설정돼야 메일 이용이 가능. MX 값 변경시 네임서버 리졸빙 시간 등..

기타 2020.08.31

php array_multisort

들어가기전 기본적인 배열 정렬들 sort() - 배열정렬. 1,2,3처럼 오르차순으로 정렬. (ASC) rsort() - 배열을 역순으로 정렬, reverse의 약자 r. (DESC) asort() - Associative Arrays([키 => 내용])을 내용 기준으로 오름차순으로 정렬합니다. (ASC) ksort() - Associative 배열에서 asort가 내용을 기준으로 했다면 ksort는 키 값을 기준으로 정렬. (ASC) arsort() - Associative 배열에서 내용 기준, 역순으로 정렬합니다. (DESC) krsort() - Associative 배열에서 키 값 기준, 역순으로 정렬합니다. (DESC) array_multisort() 다차원배열 정렬 시간 없는 개발자들을 위해 굵..

php 2020.08.31

프로그래밍 용어 정리

객체 객체(Object)란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른것과 식별 가능한 것. 객체는 속성과 동작으로 구성되어 있다고 보면 되는데 자바에서는 이 속성과 동작을 각각 필드(field) 와 메소드(method) 라 함. 캡슐화(Encapsulation) 캡슐화란 객체의 필드, 메소드를 하나로 묶고, 실제 구현 내용을 감추는 것 외부 객체는 객체내부의 구조를 알지 못하며 객체가 노출해서 제공하는 필드와 메소드만 이용 이렇게 캡슐화를 하는 이유는 외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 하기 위함 상속(Inheritance) 상속이란 객체 지향 프로그래밍에서 부모역할의 상위객체가 자기가 가지고 있는 필드와 메소드를 자식역할의 하위 객체에게 ..

용어정리 2020.08.29