목록IT (9)
맨땅에 코딩
*화이트햇 스쿨 2기에서 이수한 이론교육 내용을 바탕으로 작성되었습니다. 1. 정보보안 개요정보보안이란?해킹의 원래 의미는 프로그램 원 제작자가 걸어 놓은 프로그램 코드 락 알고리즘을 뚫어서 프로그램 소스를 알아내거나 프로그램 소스를 변경해서 자기 입맛에 맞 게 바꾸는 모든 행위를 포함한다. 즉, 프로그램 자체를 제작자의 의도와 다르게 바꾸는 것이 해킹이고, 그것을 나쁘게 바꾸는 것이 크래킹이다. 보안이란?모의해킹을 통해 취약점을 파악하고 대응방안을 마련 하여 블랙해커(크래커)가 공격 하는 행위를 미리 예방 하고 지키는 것White HackerBlack Hacker모의해킹을 통해 취약점을 파악하고 대응방안을 제시 해주는 해커해킹을 악의적으로 사용하여 이득을 챙기는 해커Gray HackerRed Hacke..
*화이트햇 스쿨 2기에서 이수한 이론교육 내용을 바탕으로 작성되었습니다. 1. "암호학 기초" 개요보안통신(Securing Communications)- 정보시스템 보안의 3가지 기본 목표 1. 기밀성(Confidentiality) 2. 무결성(Integrity) 3. 가용성(Availability)- 안전하게 데이터 주고 받는 보안 통신을 하려면? → 데이터 기밀성(Data Confidentiality - 인가 받은(authorized) 사용자만 메시지를 읽을 수 있음 → 데이터 무결성(Data Integrity) - 메시지가 수정되지 않았음을 확인할 수 있음 → 데이터 출처 인증(Origin Authentication) - 메시지의 출처와 내용이 수정되지 않..
*화이트햇 스쿨 2기에서 이수한 이론교육 내용을 바탕으로 작성되었습니다. 1. 네트워크와 인터넷 기초 1.1 Introduction- Network는 현대 사회에서 커뮤니케이션과 정보 전송의 핵심- 네트워크 시스템이 위혐 받는 경우, 개인정보 침해, 금융적 손실 같은 심각한 결과를 초래- 해킹 분야를 제대로 이해하고 공부하기 위해서는 네트워크 지식을 필수적으로 알아야 함- 네트워크와 관련된 다양한 해킹 공격 시나리오들 → MITM Attack → ARP Spoofing → DDoS 1.2 Network- 네트워크란 여러 객체, 사람, 기기, 시스템 등이 서로 연결되어 정보나 자원을 교환하거나 상호 작용하는 구조나 시스템을 의미- 컴퓨터 네트워크는 여러 컴퓨터 기기들이 서로 연결되어, 정보를 공유할 ..
*화이트햇 스쿨 2기에서 이수한 이론교육 내용을 바탕으로 작성되었습니다. 1. 운영체제란 무엇인가? 리눅스란? 우분투란? 운영체제Windows, Linux 등우리가 사용하는 모든 하드웨어에는 운영체제가 탑재되어 있음 운영체제란?운영체제 또는 오퍼레이팅 시스템(Operating System)은 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어이다. 최근에는 가상화 기술의 발전에 힘입어 실제 하드웨어가 아닌 하이퍼바이저 위에서 실행되기도 한다. 운영체제의 기능1) 프로세스 관리2) 파일 관리3) 네트워크 관리4) 메인 메모리 관리5) 디스크 저장소 관리6) 입출력 장치 관리7) 보안 관리8) 명령어 해석 시스템 운..
*화이트햇 스쿨 2기에서 이수한 이론교육 내용을 바탕으로 작성되었습니다. 1. 컴퓨터 시스템 개요컴퓨터의 정의명령에 따라 작업을 수행하는... 컴퓨터의 다양한 형태1) 슈퍼컴퓨터 (Supercomputer):가장 강력하고 빠른 계산 능력을 가진 컴퓨터이다.과학 연구, 기상 예측, 복잡한 시뮬레이션 등의 큰 규모의 연산을 수행하기 위해 사용된다. 2) 메인프레임 (Mainframe):대규모 기업이나 금융 기관에서 대량의 데이터 처리 및 트랜잭션을 위해 사용된다.다수의 사용자가 동시에 액세스할 수 있는 고성능 시스템이다. 3) 미니컴퓨터 (Minicomputer) 또는 서버 (Server):중소 규모의 기업이나 연구 기관에서 여러 사용자의 요구를 처리하기 위해 사용된다.데이터베이스, 이메일, 웹 호스팅 등의..
어떤 문제일까?https://www.acmicpc.net/problem/1003 문제에서 다음과 같이 피보나치 함수에 대한 소스를 제공해주었다int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); }} 문제를 푸는데 아무 쓸모도 없었다그냥 0과 1의 개수를 구하기 위해 피보나치로 풀어야하고, 시간복잡도 때문에 DP를 써야하는구나를 알 수 있었다.엥 지금 다시 글을 쓰면서 생각해보니 쓸모가 있었다 피보나치 함..
어떤 문제일까?https://www.acmicpc.net/problem/1002 문제에서 조규현과 백승환의 위치가 좌표 (𝑥1, 𝑦1), (𝑥2, 𝑦2)로 주어지고, 그로부터 류재명과의 거리가 𝑟1과 𝑟2로 주어지며, 예제 출력의 형태가 2, 1, 0이라는 것을 우리가 직관적으로 봤을 때, 두 원의 교점의 개수를 구하는 문제와 같다는 것을 알 수 있다. 두 원의 교점의 개수 구하기경우의 수는 총 4가지로, 다음과 같다. 문제에서 주어지는 A (𝑥1, 𝑦1), B(𝑥2, 𝑦2), 𝑟1, 𝑟2를 기준으로 설명하겠다.A와 B 두 점 사이의 거리를 D라고 하겠다. 1. 두 점에서 만난다.D 2. 한 점에서 접한다.D = 𝑟1 + 𝑟2 또는 D = | 𝑟1 - 𝑟2 | 3. 만..
실화입니다.당신은 객체지향프로그래밍을 피하지 못할겁니다.전필이니까요 ㅋㅋ!!힘내세요 진짜 소학의 전공과목의(지옥) 문이 열립니다^_^ 객체지향프로그래밍 그게 뭔데?객체지향프로그래밍(Object-oriented Programming)에 대하여 공부한다.Object-oriented Programming의 핵심 개념을 이해하고 소프트웨어 개발에 적용할 수 있다.Kotlin 언어와 개발도구를 이용하여 소프트웨어를 객체지향 방식으로 구현할 수 있다. 음...강의계획서 내용이었구요 수업 때 정확히 뭘 했냐면요음..일단 이론 수업(Kotlin 냅다 머리에 박기)을 7주 정도하다가 8주차때부터 Android Studio(냅다 또 머리 박기)로 애플리케이션 만드는 프로젝트를 진행합니다. 네. 끝입니다. 네... 후기는요..