본문 바로가기
반응형

Development4

파이썬 faker 모듈 사용하여 웹 서버 access log 만들기 최근 회사에서 관제 시스템 구축 사업을 맡아 진행하면서 웹 서버의 access log를 볼 일이 굉장히 많아졌는데, 머신러닝 라이브러리를 이용해서 이상 탐지를 구현하기 위해 테스트 데이터가 필요하게 되었다. 실제 운영 서버의 데이터를 이용하기에는 회사 정책적으로 조금 무리가 있었기 때문인데, 이 테스트 데이터를 어떻게 구현할까 하다가 파이썬의 faker 모듈을 사용하여 웹 서버의 access log를 비슷하게 만들어보고자 했다. 출처 - 보안프로젝트 유튜브 관련 자료를 찾다가 운이 좋게 얼마 전에 이미 보안 프로젝트의 조정원 대표님이 이와 관련된 영상을 유튜브에 찍어둔게 있어서 위의 영상을 참고하게 되었는데, 여기서 나는 URL 부분만 조금 다르게 변형시켜서 최대한 실제 access log와 유사하게 만.. 2023. 11. 21.
자바스크립트 var, let 차이점과 호이스팅 자바스크립트를 처음 공부하다보면 변수를 정의할 때 사용하는 var와 let을 제대로 구분하지 못하고 사용하는 경우가 많다. 보통 구글링을 해보면 자바스크립트의 표준인 ES6가 나온 2015년 전 글들은 대부분 var을, 그 이후에는 점차 let으로 변수를 표시하는 예제들이 많아진다. 결론은 변수를 선언할 때 var를 쓰지 말고 let을 쓰자는게 관건인데, 어떤 이유에서 그런 것인지 간단하게 설명하도록 하겠다. var num = 100 var name = "jay" console.log(num) C/C++과 같은 언어들과 다르게 자바스크립트에는 특이한 특징이 있는데, 자바스크립트 코드를 실행시킬 때 코드가 실행되기 전에 선언해둔 변수들과 함수들을 미리 검색해서 메모리에 저장을 해둔다. 그러다가 위의 코드에.. 2022. 11. 5.
파이썬(Python) 모듈 동적 로딩하기 작년에 개인적으로 파이썬을 이용하여 안티바이러스를 구현하는 프로젝트를 진행했었다. 다른 것 보다도 특히 코드 보호에 신경을 쓰면서 구현했었는데, 여러 방법 중에서 자신이 만든 모듈을 동적으로 로딩하는 부분에 대해서 소개하고자 한다. 파이썬을 비롯한 다양한 언어에서 모듈 동적 로딩의 경우, 자신이 만든 코드를 남들에게 보이고 싶지 않을 때나 코드가 변조되어선 안되는 상황에서 많이 사용하게 된다. 내가 구현하는 프로젝트에서는 파이썬으로 제작한 모듈을 바이트 코드로 변환 후, 이를 암호화하여 배포하고 프로그램 실행 시 메모리에서 모듈을 복호화하여 동적 로딩을 통해 사용하도록 하였다. 물론 이 방법도 복호화하여 모듈을 로딩하는 순간에 pyc 코드를 별도로 저장하여 추출한 뒤 디컴파일 한다면 코드가 유출될 수 있.. 2022. 5. 7.
python에서 sqlite 사용하기 데이터베이스를 처음 배운다면 MySQL(또는 MariaDB)을 가장 많이 접하게 된다. 하지만 대부분의 규모있는 기업에서는 MySQL보다는 상업용인 Oracle 데이터베이스를 사용하고, 소규모나 로컬 프로그램에서는 sqlite나 tinyDB를 좀 더 많이 활용한다. 실제 내가 이전 회사에서 업무에 사용하고 있는 DB도 sqlite이며 굉장히 가볍게 사용할 수 있어서 편리했다. ​ sqlite는 데이터베이스 조작 언어(SQL)을 사용해 DB를 처리할 수 있어 널리 사용되며 안드로이드 및 iOS에서 표준으로 제공되고 있다. 다른 DB와 다르게 파일 하나가 하나의 데이터베이스로 처리되며, 별도의 DB 전용 앱을 사용하지 않아도 사용할 수 있다는게 큰 장점이다. 파이썬에서는 sqlite3라는 표준 라이브러리를 .. 2021. 12. 21.
반응형