본문 바로가기

전체 글62

pyinstaller, bootloader는 무엇인가? pyinstaller는 무엇인가? python3는 현대 대표적인 인터프리터 언어로 작성(개발)된 프로그램을 실행시키기 위해서는 개발 환경과 동일하거나 호환 가능한 버전의 인터프리터 프로그램과 개발하면서 사용한 파이썬 패키지가 추가로 필요합니다. pyinstaller는 다른 컴퓨팅 시스템에서도 파이썬 프로그램을 쉽게 배포할 수 있도록 실행에 필요한 모든 것들을 "패키징" 합니다. pyinstaller는 CPU가 바로 이해할 수 있는 기계어로의 "컴파일"이 아닌 실행 환경의 "패키징"임을 명심해야합니다. 그렇기 때문에 인터프리터 언어로서 실행 속도 개선을 기대할 수 없습니다. 파이썬의 실행속도를 개선하고 싶은 경우, cython등을 사용해서 속도 개선을 원하는 모듈, 로직등은 컴파일언어로 작성후 공유 라이브.. 2023. 1. 24.
[컴퓨터 보안] 해싱과 암호화 해싱이란? input으로 들어온 값이 해싱 함수를 거쳐 일정한 길이의 output으로 나오게 됩니다. 일정한 길이의 output이기 때문에 해싱의 종류에 따라 output으로 나오는 경우의 수는 한정됩니다. 통상적으로 비밀번호의 경우 그 길이 제한이 정해져있지만 통상적으로 hash함수의 input은 거의 무한합니다. 그렇기 때문에 서로 다른 input 값은 우연치 않게 동일한 output 값으로 나올수 있습니다. 하지만 보통의 hash 함수는 확률적으로 널리 퍼지게끔, 한쪽으로 쏠리지 않도록 해싱 알고리즘을 만듭니다. 여기서 해싱의 중요한 점은 알고리즘 자체의 특징에서도 봤듯이 거꿀로 되돌리는게 불가능합니다. 즉 태생적으로 여러개의 input이 같은 output으로 나올수 있으므로 그 역은 정확하게 계산.. 2023. 1. 9.
Mac OS, python3 urllib 정상 인증서 SSL 에러 - SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed \Mac OS에서 python3.10.5버전을 새로 설치후 urllib을 사용하여 개발중 아래 에러에 직면했다. urllib은 python3의 기본 패키지로서, 개발물의 목적보다는 스크립트 느낌으로 작성하고 싶을 때 많이 사용하고 있다. (모든 python3가 있는 시스템에서 실행하기 위해) 보통 SSL 에러는 접속하는 site의 인증서를 client가 가지고 있지 않거나, 서버쪽의 ssl 정보를 믿을 수 없을 때 (client가 가지고있는 인증서 정보를 기반으로) 발생한다. 서버측에서 ssl/tls를 사용하나 공인 CA 회사에 등록되지 않은 커스텀 인증서를 사용하거나, 유효기간이 다된 경우도 위 설명에 해당되어 에러가 발생하게된다. 이런 케이스들은 애초에 인증 과정 자체에는 이슈가 없으므로 verify.. 2022. 9. 23.
1. Linux(리눅스) 이해 - 개요 해당 카테고리 포스팅은 기초적인 용어 정의와 내용도 복기하고 다루지만, 학부생수준의 OS 지식을 전제로 진행합니다. 들어가기 앞서, 컴퓨터 공학(이하 CS)에서 여러 용어들은 명확한 차이가 있으면서도 혼용되어 사용됩니다. 큰 틀에서는 무방한 경우가 다수입니다. 하지만 이는 이미 차이를 이해하고 있을 때 괜찮은 것이지 학습과 이해를 목표로한다면 용어의 이해가 먼저 선행되어야합니다. Program vs Software vs Application 일반적으로 3가지 용어는 평상시 혼용되어 사용하며 큰 문제 또한 없습니다. 하지만 OS의 구성들은 위 3가지를 항상 명확하게 구분지을 수 없는 경우가 다수 존재하며 같은 것을 보고도 관점에 따라 위 3가지중 어떤 것으로 정의할 것인지 달라질 수 있습니다. 그렇기 때문.. 2022. 7. 17.