본문 바로가기

전체 글

(32)
삼성 sw 역량테스트 후기 다음에 시험볼 때 도움이 될까 해서 자기전에 간단하게 쓴다 8시반까지 입실이라 6시에 일어나서 7시 좀 넘어서 출발 7시 50분쯤 도착개 졸렸음 버스에서 자고 내리자마자 데자와 원샷 그제서야 잠이 좀 깼다도착해서 쾌변하고 양치함. 칸마다 비데 있더라 역시 이게 대한민국 최고의 기업? 옷을 뭐 입고 가야될지 고민하다가 그냥 셔츠에 자켓 입고 나름 단정하게 갔는데그럴 필요 없고 후드티 입고 온 사람 츄리닝 입고 온 사람 다들 제각각이니 마음대로 입고가면 될 것 같다사람들 옷차림이 하스나 진배없다대신 고사실 안에 에어컨 틀어줘서 약간 추울 수 있으니 겉옷 들고가야함 한 고사실에 30명 내외인 것 같았고 내가 본걸로는 11고사실까지 있었다오전 오후 합하면 대략 600명.. 순간 쫄았는데 인턴만 본게 아니라 공채..
[자료구조] Ⅰ-5,6,7. 알고리즘 성능 분석, 복잡도 5. 알고리즘 ● 알고리즘이란 문제를 풀기 위한 방식으로, 예시로는 10장의 카드가 무작위로 펼쳐져 있고 그 중 85를 찾기 위해 순서대로 찾기(Sequential Search - 순차탐색) , 반으로 나누어 중간과 먼저 비교하여 큰지 작은지를 통해 절반씩 탐색 범위를 줄여가며 찾기(Binary Search - 이진탐색), 가장 적은 수의 동전으로 거스름돈을 받기 위한 방법(그리디 알고리즘), 한붓 그리기 등이 있다. ● 알고리즘은 자료구조의 기본적 연산을 구현하기 위한 것으로, 같은 자료라고 해도 어떻게 저장, 표현되느냐에 따라 사용 가능한 알고리즘이 달라지며 알고리즘의 성능은 자료구조에 종속된다. ● 알고리즘의 표현 방식 ● 알고리즘의 조건 1) input: 외부에서 제공되는 자료 0개 이상 2) o..
[자료구조] Ⅰ-1,2,3,4. 용어, 자료구조 분류, 데이터 추상화 ** 시험: 용어 빈칸, 코드 빈칸, 구조 그리기 등의 형태 1. 용어 ● 원자데이터(Atomic data): single piece of information으로 구성되어 다른 의미있는 데이터로 분해 불가 ● 복합데이터(Composite data): 의미 있는 subfield로 분해 가능한 데이터 i.e. 전화번호 ● 자료형: 두 부분(data, operation)으로 구성. ● 자료구조: 원자데이터와 복합데이터를 defined relationships의 집합으로 묶어놓은 것으로, 데이터를 저장하는 일련의 규칙이다. 1) 데이터를 combine 하여 2) relating rules를 정의할 수 있는 structure로 맞출 수 있다면 자료 구조를 만들었다고 할 수 있다. 이러한 자료구조들은 nested..
[SpringBoot] @Controller, @RestController의 차이 이제까지 스프링부트로 강의를 보며 연습(?) 개발을 했을 때는, 강의 예제로 제공되는 jsp 파일을 받아와서 Controller을 이용해 View를 반환하는 방식으로 개발을 진행했었다. 그런데 이번 백엔드 프로젝트를 진행할 때는 프론트 개발자가 따로 없어서, "그럼 뷰는 어떻게 해요? jsp 나 타임리프같은 템플릿 엔진 만들어진거 같은거라도 있어야 하지 않을까요" 라고 질문했더니 (막연히 부트스트랩 같은 사이트처럼 자바 템플릿을 제공해주는 사이트가 있지 않을까 하고 생각했음..) 팀장님께서 "Rest 쓰면 되지 않을까요" 라고 하셨다. RestController은 ResponseBody와 Controller을 합쳐놓은 것이라고만 막연하게 알고 있었는데, 이번 기회에 좀 더 자세히 알아보고자 한다. 서버에..
[Git] Git / Github 기초 git init- git initialize → 로컬 깃 저장소에 등록시켜줌 git status- git 저장소의 상태를 알려줌** untracked: Git의 관리에 들어간 적 없는 파일 .gitignore- .gitignore 파일을 만든 후 본문에 git에 등록하고 싶지 않은 파일 이름들을 써주면 그 파일들은 git 저장소에서 제외할 수 있음.- 즉 무시해도 되는 파일들의 목록! # 모든 file.cfile.c# 최상위 폴더의 file.c/file.c# 모든 .c 확장자 파일*.c# .c 확장자지만 무시하지 않을 파일!not_ignore_this.c# logs란 이름의 파일 또는 폴더와 그 내용들logs# logs란 이름의 폴더와 그 내용들logs/# logs 폴더 바로 안의 debug.log와 ...
[정보보호] Digital Signatures Digital Signature은 message authentication을 위한 보안 기술로, 메시지를 교환하는 2개의 parties를 third party로부터 보호해주지만, 메시지를 교환하는 당사자들 사이의 authentication은 보장하지 않는다. Digital signature은 1) signature의 author, date, time을 verify하고 2) 메시지 내용을 authenticate 하며 3) third party가 이를 검증하게 해 dispute resolution(분쟁 해결)을 할 수 있다. Attack and Forgeries Attacks 1) Key-only attack: signature이 attacked 당하는 A의 public key만 알고 있다. 2) Known..
[정보보호] Message Authentication Codes Message Authentication 1) 메시지의 integrity 보호 2) Originator의 identity validate (발신자의 신원 확인) 3) non-repudiation of origin(dispute resolution): 발신자가 메시지를 보냈다는 사실을 부인하지 못하도록 한다. 1) Hash function 2) Message Encryption: Encryption 자체가 authenticator로 사용될 수 있다. 3) Message Authentication Code(MAC) Symmetric Encryption for Message Authentication Symmetric Encryption은 동일한 키를 사용하여 메시지를 암호화, 복호화 하는 방식이다. Symm..
[정보보호] Cryptographic Hash Functions Hash Function 해시 함수는 arbitrary 메시지를 fixed size로 condense 하는 함수로, ( h = H(M) ) data integrity를 위해 사용되며 메시지에 변화가 생기면 이를 감지할 수 있다. 좋은 해시 함수란 1) 균등하게 distributed 되고 2) random 한 함수를 말하며, 이러한 해시 함수는 주로 public에 공개되어 있다. Cryptographic Hash Function 암호학적으로 해시 함수는 두 가지 중요한 특징을 갖는다. 1) One-way property: 이는 원본 데이터(preimage)에서 해시 값(image)을 찾기는 쉽지만, 주어진 해시 값에서 원래 데이터를 역으로 찾기는 어렵다는 것이다. 2) Collision-free prope..