목록CS (22)
거누의 개발노트
텔넷 텔넷(telnet)이란 사용자의 컴퓨터에서 네트워크를 이용하여 원격지에 떨어져 있는 서버에 접속하여 자료를 교환할 수 있는 프로토콜을 말한다. 텔넷은 보안상 문제가 있기 때문에, 텔넷 대신 SSH를 많이 사용한다. 텔넷의 포트 번호는 23번이다. 클라이언트에서 입력한 비밀번호를 변형없이 전송하기 때문에, 데이터를 관찰하는 누구라도 데이터(비밀번호)를 볼 수 있다. SSH SSH는 Secure Shell의 줄임말로, 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜 양방향의 모든 트래픽을 암호한다. ( 출발지, 목적지 ) 안전하게 정보교환이 가능해 널리 사용된다. 22번 포트를 사용한다. SMTP 단순 메일 전송 프로토콜(Simple Mail Transfer Protocol) 25번 포트를 사용한다..
이더넷은 통신선이 필요하다는 점이 결점 그래서 해결방법은 무선 통신을 이용하는 것 무선 전자기파를 사용하여 데이터를 전송하므로 신호가 충분한 장소라면 어디서든 통신 가능 와이파이는 상표 이름 와이파이의 원래 이름은 IEEE 802.11이라는 공식 이름이 있다고 한다. 와이파이는 산업 단체인 와이파이 연합의 등록 상표라고 한다. IEEE는 전기전자기술자협회라는 전문가 단체고 802.11은 표준의 번호이다. 블루투스 블루투스도 802.11 무선 통신과 같은 2.4GHz 주파수 대역을 사용 덴마크 왕 하랄드 블루투스의 이름을 딴 기술, 애드 훅 통신을 위해 만들어짐 애드훅 네트워크는 무선 기기들끼리 네트워크가 가능하도록 만든 기술! RFID 전자 도어록, 식별 태그, 증명서 등에 활용되는 저전력 무선 기술 G..
XSS(CSS) 크로스사이트 스크립트 란 XSS 공격방법은 해커가 웹 페이지에서 악성 스크립트를 넣습니다. 예를들어 게시판 사이트가 있으면 게시판에 글쓰는 공간에 악성 스크립트를 넣는것이죠. 그럼 악성 스크립트가 들어간 게시글이 등록 되고, 그 등록된 게시글을 사용자가 단순히 게시글인줄알고 게시글을 읽으러 들어갔을때 악성 스크립트가 실행되면서 해커에게 사용자의 정보가 넘어오게 되는 공격 방식입니다. 공격자는 이런 공격을 통해 사용자의 개인정보, 세션쿠키정보, 악성코드 다운로드 등을 이용해 공격을 수행합니다. CSRF(크로스사이트 요청 변조)란? XSS와 같이 악성 스크립트를 삽입하는 것까지는 같지만 사용자가 악성 스크립트가 포함된 게시글을 열람했을 때, 사용자의 권한으로 웹서버에 공격을 가합니다. XSS..
파일 시스템 파일 시스템은 운영체제에서 하드디스크, USB메모리 등과 장치 같은 물리적인 저장 매체를 파일과 폴더의 계층 구조처럼 보이게 하는 부분이다. 파일 시스템은 다양한 종류의 정보를 조직화하고 저장하지만, 운영체제는 모두 동일한 인터페이스로 표시한다. 파일 시스템은 모든 정보를 관리하면서 애플리케이션이나 운영체제의 나머지 부분이 정보를 읽고 쓸 수 있도록 접근 가능하게 만든다. 보조 기억장치 파일 시스템 파일 시스템은 한 파일이 사용하는 바이트를 다른 파일이 사용하는 바이트와 같은 블록에 저장하지 않는다. 2,500바이트의 메일이 있다고 하면 1,000바이트 짜리 블록 세 개에 저장되는데 500바이트가 낭비된다. 낭비되는 부분을 관리하는 비용보다 보조기억장치의 용량을 늘리는 비용이 더 저렴하기 때..
도메인이라는것은 웹사이트 주소를 말한다. www.geonoo.com 에서 geonoo.com 이 도메인에 해당한다. www는 호스트 네임이라고 불리고 www 말고도 mail, shop 과같이 다른 것이 올 수도 있다. 우리가 웹 브라우저에서 네이버라는 웹사이트를 들어가고 싶은데 그러려면 네이버 서버의 IP주소를 알아야한다. 하지만 우리가 전화번호를 다 못 외우듯이 IP주소도 숫자로 되어있기 때문에 외우기는 어렵다. 그래서 아래와 같이 전화번호부 처럼 도메인과 IP주소로 관리를 하는것이다. 도메인 : www.naver.com IP : 223.130.200.104 그리고 이러한 도메인과 IP들이 저장되어있는 곳을 DNS라고 한다. 예를 들어 내가 AWS에서 구매한 내 컴퓨터를 가비아, 후이즈같은 사이트에서 ..
면접에서 꼭 질문하는 꼬리에 꼬리를 무는 객체지향에대해서 공부해 보려고 한다. 객체 지향 프로그래밍(Object Oriented Programming) 먼저 객체란 우리가 실생활에서 쓰는 모든 것을 객체라고 한다. 간단한 예로 선풍기, 노트북 주변에 있는 모든것들이 객체가 될 수 있다. 사물뿐만 아니라 동물, 사람도 마찬가지로 객체가 될 수 있는 것이다. 그래서 객체 지향 프로그래밍은 먼저 객체를 파악하고, 이 객체들이 무슨 역할을 하는지 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것을 말한다. 결론, 필요한 데이터를 추상화 시켜서 상태와 행위를 가진 객체를 만들고 그 객체들간의 상호작용을 통해 로직을 구성하는 방법론인거다. 추상화 그럼 추상화시킨다는 말은 어떤 의미일까? 공통의 속성이나 기..
글을 쓰려면 언어를 알아야 한다. 프로그램을 작성하려면 프로그래밍 언어를 알아야 한다. 프로그래밍 언어의 발전 - 간략 설명 1970년대 시스템 프로그램을 만들 용도로, 어셈블러, 컴파일러, 텍스트 편집기 같은 프로그래머 도구와 운영체제까지 작성할 목적으로 사용할 언어들이 만들어졌다. 그 중 C언어가 가장 성공적이었다고 함 C언어는 1973년 벨 연구소에서 일하던 데니스 리치가 개발 아직도 폭넓게 이용하며, 가장인기있는 언어 중 하나이다. C언어는 개발 이후 미미하게 변경돼서 오늘날의 C언어 프로그램은 30~40년 전의 코드와 비슷하다. 1980년대 규모가 매우 큰 프로그램의 복잡성 관리를 위해 설계된 언어들이 개발되었다. 대표적으로 C++ 이 있다. C++은 비야네 스트롭스트룹?이 개발 했는데, 이 사..
DP DP, 즉 다이나믹 프로그래밍(또는 동적 계획법)은 기본적인 아이디어로 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것으로 특정한 알고리즘이 아닌 하나의 문제해결 패러다임으로 볼 수 있다. 피보나치 수열로 예를 들어 본다면, def fibo(n): if n in [1, 2]: return 1 return fibo(n-1) + fibo(n-2) assert fibo(10) == 55 assert fibo(100) == 354224848179261915075 # 안끝난다. 이런식으로 재귀 함수로 푼다면 100번째 값을 찾을 때는 fibo(1)번째, fibo(2)번째를 찾았던 n번째수를 계속해서 찾아나갈 것이다. 그렇지만 찾아 나간 결과를 저장..