본문 바로가기

전체 글

(267)
auto,decltype,nullptr,std:array auto -> 자동 형 (var 같은)컴파일 타임 때 추론되어야 함. decltype(i) j = 5 // j 의 형태를 i 의 형태로 선언.decltype(i+j) k = 10; // k 의 형태를 i+j 의 형태로 선언. --> 함수의 형에도 사용 가능함. auto add(T1 a, T2 b) -> decltype(T1+T2) // decltype 의 사용처 (리턴해야할 타입을 모를 때){......} -> 는 타입을 지정해 주는 연산자중 하나.(람다를 위해 생김) nulltype 은 값.nulltype 의 type 이 nulltype_t nullptr =/= nullptr_t 이제 int a = nullptr 안됨 std:array 는 일반적으로 쓰는 배열 대신에 나온건데,일반적 배열에서 사용하는 ..
쓰레드를 이용한 다중 클라이언트 소켓 12345678910111213141516171819202122232425262728#-*-coding:utf-8-*-from socket import *from thread import *from threading import * def handler(clientsock,addr): while 1: data = clientsock.recv(BUFSIZ) if not data: clientsock.close() break print data#clientsock.send("echoed:.." + data) if __name__=="__main__": HOST = "192.168.0.31" PORT = 10101 BUFSIZ = 1024 ADDR = (HOST,PORT) serversock = socket(..
(Fail) 쓰레드를 이용한 소켓 123456789101112131415161718192021222324252627282930313233343536373839from socket import *from thread import *import time global thread_numthread_num=0 lock=allocate_lock() def accept_client(s,id_num): global thread_num lock.acquire() thread_num=thread_num+1 lock.release() while 1: print "Recv Wait!" print str(cnt) + "is alive!" get=conn.recv(1024) print get if get == "exit\n": s.close() lock.acq..
scapy 를 이용한 ARP 패킷 123456789101112131415161718192021222324from scapy.all import *import sysimport os if(len(sys.argv)
scapy 이용 arp 패킷 보내기. scapy 에서, a=ARP()a.hwsrc = "01:01:01:01:01:01"a.psrc = "192.168.9.99"a.pdst = "192.168.0.3" 만 설정해 주면 되는데, 각각 hwsrc 는 출발지 맥주소,psrc 는 출발지 IP 주소,pdst 는 목적지 IP 주소를 뜻한다. 이렇게 패킷 설정후 send(a) 를 이용해 패킷을 보내주면 이렇게 arp 패킷이 보내진다. 이걸 이용해서 arp spoofing 툴을 만들 수 있을 것 같다.
시험정리 + 풀이 객체지향 절차지향절차지향은 공유된 데이터와 문제 해결 절차를 중시하는 반면에,객체지향은 프로그램을 객체들의 집합으로 보며 이러한 객체들이 프로그램의 중심이 됨. 객체와 클래스객체는 효율적인 정보를 관리하기 위해서 사람들이 의미를 부여하고 분류하는 논리적인 단위이다. 이때 클래스는 이 객체를 만드는 틀 개념으로, 같은 형식의 (동일한 속성과 메소드) 객체를 한번에 많이 만들 수 있다. 붕어빵은 객체에, 붕어빵틀은 클래스 라고 볼 수 있다. 아래 코드 처럼 객체를 선언할 때는 new 키워드를 사용하는데,[class] [객체명] = new [class]();식으로 사용한다. [+] 최상위 클래스는 Object 이다. 객체지향 언어의 특징1. 캡슐화12345678910class car { public void ..
자바 언어의 이해 자바 언어의 개요 Sun MicroSystems 사는 1991년 부터 제임스 고슬링을 주축으로 가전 제품을 제어하는 아주 단순하고 버그 없는 프로그래밍 언어인 자바를 개발하기 시작. 초기에는 C++ 언어로 시작하였는데, C++의 여러 문제점을 개선한 자바가 처음 나왔을 때는 관심을 가지지 않았다. 인터넷의 보급 확산으로 핫자바에 의해 인터넷에 응용되면서 애플릿이라는 강력한 출력 형태가 인기를 끌게 된다. 애플릿은 브라우저에서 다운받고 실행해야 하고, 또 그 속도가 매우 느린 탓에 외면 당하기도 하였다. 그러나 자바는 그러한 단점이 없고, 작고 단순한 구조로 변경되어 효율적으로 실행하는 방식이라는 장점을 인정받아 지금과 같은 대중적인 언어로 발달하였다. 자바 언어의 특징1. 단순하다.C++ 언어로 부터 나..
가비지 콜렉션 (Garbage Collection) 자바에서 new로 할당받은 후 사용하지 않게 된 객체 메모리는 어떻게 될까?이들은 가비지(Garbage) 가 되어 자바 가상 기계의 가비지 컬렉터에 의해 적절한 시점에 자동으로 수집되어 가용 메모리에 리턴된다. 1. 다음 소스에서 잘못된 부분을 모두 수정하라.1234567891011class Samp { int id; public void Samp(int x) { this.id = x; } public void Samp() { System.out.println("생성자호출"); this(0); }}cs 2. 다음 소스는 오류를 포함하고 있다. 이유를 설명하고 올바르게 수정하라12345678910111213class ConstructorExample { int x; public void setX(int x..