솔리디티(solidity) 생성자, modifier, import, 상속 솔리디티는 이더리움의 스마트컨트랙트 개발용 언어로 이더리움만의 자체 언어입니다. 스마트계약에서 그리고 이더리움네트워크 에서 돌아간다는 것 빼고는 다른 언어와 별 다른 차이점이 없지만, 알아야하는 문법은 존재합니다.생성자 위는 생성자 예시입니다. Ownable이라는 컨트랙트(contract)가 있고 그 이름을 똑같이 가지는 생성자(함수)는 바로 밑에 처럼 function으로 해주며 접근 지정자는 public으로 지정해줍니다. (다른 언어와 다른 점은 접근 지정자를 마지막에 붙여줍니다.) 함수 제어자(modifier) 함수제어자는 함수가 실행되기전에 요구조건을 만족시키는지 확인하는 작업을 해준다. 위에서는 오너와 현재 메세지 보내는 사..
Delfino G3 버전 3.3.1.5 어떤 프로그램인가 삭제할까컴퓨터의 용량확보를 위해서 설치된 프로그램들을 보던 도중에 용량이 꽤 되는 delfino g3라는 프로그램을 발견했다. (자그마치 30메가다.)이게 보안때문에 nprotect등.. 깔린건지 아니면 내가 진짜 필요해서 깐 패키지 중에서 사용되고 있는 종속적인 녀석인지 모르기때문에 지울지 말지 갈등이신 분들을 위해 알아왔습니다.결론 부터 말하자면 지워도됩니다. 그래도 읽어보세요.. 힝 어떤프로그램인지우리나라의 보안개발사인 Wizvera에서 만든 보안프로그램입니다. 즉 공인인증같은 은행거래를 할 경우에 필요한 녀석중 하나가 바로 Delfino G3라는 녀석인데요.매일 같이 은행업무나 보안업무를 보는 분이 아닐 경우에 메모리 낭비와, 컴퓨터 속도가..
python ECDSA library Examples of use 이전 글에서 보았던 파이썬 ECDSA라이브러리 사용 예시를 보도록하겠습니다. 본 게시글은 ECDSA라이브러리의 사용방법을 설명하며, ECDSA에 대한 이론적인 내용은 따로 공부하시기바랍니다. step1: 5,6라인에서 키 쌍을 생성합니다. 그리고 7,8라인의 파일입출력을 통해서 확장자 .pem파일로 저장을 해줍니다. step2: 5번라인에서 사인키를 open해줍니다. (step1 에서 저장해주었던 파일이죠.) 그 후에 message를 열어서 사인키로 서명을 진행합니다.(6~7라인) 이 때 message파일은 없어서 제가 text로 작성해준뒤 따로 먼저 만들어 주었습니다. 8라인에서 signature파일에 서명을 저장합니다. step3: 5..
ECDSA(타원 곡선 전자 서명 알고리즘) for 파이썬(python) library 타원 곡선 알고리즘은 기존에 많이 사용되던 RSA알고리즘보다 작은용량을 가지면서도 더 빠른 수행능력을 가진 암호화기술입니다. 그 때문에 최근 차세대 암호화기술로 조명받고 있으며, 그 예시로는 비트코인에서도 타원곡선알고리즘(Elliptic Curve Cryptography)을 사용하고 있습니다. 보다 자세한 내용은 생략하고 본 글에서는 파이썬에 있는 ECDSA 라이브러리를 사용하는 방법을 알아보도록 하겠습니다. 참고 사이트 : python-ecdsa 라이브러리 주요 특징 해당 라이브러리(Pure-Python ECDSA)의 주요 특징은 키생성,인증생성 그리고 확인하는 방식을 제공합니다. 키 길이는 192, 224, 256,..
파이썬(Python) - 내장함수,외장함수 사용법 모음 (+공부후기)오후 4:44 2018-05-22[파이썬 내장함수]Don't Reinvent The Wheel=누가 만든걸 너가 다시만들지말고 그냥 갖다 써라.내장함수는 이미 만들어져있고 import시킬 필요또한 없다. abs()함수는 절댓값을 돌려준다.all(x)은 반복되는 자료형x을 받아서 해당 자료형 요소가 모두 참일 때만, True를 반환한다.any(x)는 하나라도 참이 있으면 True를 반환한다.chr(n)은 아스키 코드를 받아서 문자로 출력해준다.dir(object)는 해당 객체의 관련 함수를 보여준다.divmod(a,b)는 a를 b로 나눈 a/b 몫이랑 나머지를 튜플로 반환해준다.enumeratefor index, name in enumer..
파이썬(Python) - 패키지(package), 예외처리(try, catch), 예외생성 등 하위 내용은 파이썬을 공부하며 간단요약한 내용입니다. (공부/포스팅방식 참고) 좀 더 자세한 내용은 관련 도서를 참고해주세요.오후 3:54 2018-05-22[패키지]모듈을 계층적으로 관리할 수 있게 도와준다.위처럼 작성 해준뒤 인터프리터에서 set PYTHONPATH=경로 를 지정해준뒤 python을 입력한 후 import하는 식으로 사용할 수 있다..를 사용해서 임포트할시 마지막 항복은 무조건 모듈이나 패키지 이어야한다. [__init__.py는 어떤 파일인가]이 파일은 해당 디렉토리가 package의 일부라는 것을 알려주는 역할이다.없다면 import시 오류가 나타날 수 있다. (최신버전에서는 가능하지만 ..
파이썬(Python) - 클래스(Class), self, def, 생성자, 상속, 오버라이딩, 모듈오후 2:11 2018-05-22[파이썬(Python) 클래스(Class)]class 클래스이름: 구현클래스 내부에는 def로 매서드를 구현할 수 있다. [type함수] 내장함수로 객체의 타입을 출력한다. [self]def add(self,a,b) 구현이런식으로 하게되면 add(1,2) 이렇게 호출이 가능한데 이때 self 덕분에 함수호출시 self에 자동으로 호출한 객체가 전달된다.(매서드의 첫번째 인자는 항상 self가 와야한다.)그래서 클래스이름.매서드이름(객체,1,2) 이런식으로도 호출이 가능하다. 하지만 위처럼 객체로 호출시에는 반드시 첫인자는 생략한다.[객체변수(멤버변수) 생성]def set(se..
파이썬(Python) - 파일입출력(File IO), with, sys, strip, read, write[파일입출력]file_ = open("새파일.txt",'w') file_.close()파일 생성에는 open이라는 파이썬 내장함수사용 파일객체=open(파일이름,file열기모드)[파일 열기 모드] r,w,a(읽기,쓰기,추가)쓰기모드: 이미존재시 원본내용 모두사라짐, 존재하지않으면 새로운파일생성파일 생성경로 지정하고싶을 시, open("C:/...",'w') 이와같이 사용한다.쓰기 file객체.write()[외부 파일 읽어오기]readline() 함수f=open(...,'r')line=f.readline()print(line)f.close위와 같은 식으로 사용할 수 있다. 첫번 째 줄을 읽어온다. 모든..
파이썬(Python) - 람다(lambda) 및 for, range, kwargs 요약파이썬 공부를 시작한 계기 및 공부방법[for문]for 변수 in 리스트(또는 튜플, 문자열): 수행할 문장test_list=['one','two','three']for i in test_list: print(i)continue사용도 가능하다.[range() 함수]숫자 리스트를 자동으로 만들어주는 함수다.range(0,10)은 0부터 10미만 숫자를 가지는 range객체를 만들어준다.[len()함수]리스트 요소의 개수를 돌려주는 함수입니다.[print 사용시 자동 줄바꿈취소시]print(i,end=" ") 와 같이 입력한다.2.7버전에서는 print i, 와같이 콤마를 사용해주어야한다.[리스트의 내포]result = [..
파이썬(Python) - set, elif, while 요약파이썬 공부를 시작한 계기 및 공부방법[집합 자료형]set을 이용해서 만든다.arr=set([1,2,3])set으로 집합자료형을 만들게되면1. 중복을 허용하지 않으며2. 순서가 없다.순서가 없기 때문에 인덱스연산이 불가하며, 인덱스연산필요시 튜플이나 리스트로 변환해서 사용한다. 교집합은 &, 합집합은 |, 차집합은 - 연산자를 쓴다.연산자로는 intersection,union,difference를 사용한다. [집합자료형 관련 함수모음].add(value) 값을 추가한다..update([,,,...]) 여러개의 값을 추가한다..remove(value) 특정한 값을 제거한다. 비어있는 집합 자료형을 만들때는 set()을 사용한다. [불 자료형]Tru..