#!/usr/local/bin/python
import re
import os
import sys
import glob
# regex to handle various comment styles.
expression = re.compile('^\s*?[/*|//|#][*]*.*?')
def parse(sourcefile):
lcount, ccount = 0, 0
try:
file = open(sourcefile, 'r')
except IOError:
sys.exit(0)
for line in file.readlines():
lcount += 1
if expression.match(line):
ccount += 1
file.close()
return lcount, ccount
def main():
# total line count, total comment count
tlc = tcc = 0
if not len(sys.argv) > 1:
print 'Provide filename or extension'
else:
for file in glob.glob(sys.argv[1]):
lc, cc = parse(file)
print 'processing file: %(file)s %(lc)s' % locals()
tlc += lc
tcc += cc
print 'total lines = %(tlc)s\ntotal comments = %(tcc)s' % locals()
if __name__ == "__main__": main()
실용적인 디지털 포렌식 기법과 법률 이슈 정리. Linux, UNIX, Python, 임베디드 장치 개발 등의 강좌 수록. Blockchain, FinTech, IoT 등 최신 IT 트렌드와 관련된 취미 자료를 수집하고, 보안 인식 문화 개선을 위한 정보보호 관련 자료와 일상생활 팁들을 소개.
Reentrancy Attack: 블록체인 스마트 컨트랙트의 치명적인 취약점
블록체인 기술이 전 세계적으로 주목받으면서 스마트 컨트랙트(Smart Contract)의 사용이 급격히 증가하고 있습니다. 하지만 그만큼 보안 취약점도 함께 늘어나고 있는데, 그 중에서도 Reentrancy Attack(재진입 공격)은 매우 치명적이고...
-
뉴스출처 : http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&oid=023&aid=0002991158&sid1=001 내 배우자가 바람을 피우는 것이 확실할까. 심증...
-
PHPSCHOOL ( http://www.phpschool.com ) 국내 1위의 PHP 개발자 커뮤니티 사이트이다. PHP Builder ( http://www.phpbuilder.com ) PHP 최고 사이트라고 해도 과언이 아니며, 새로운 P...