본문 바로가기
728x90
반응형

sparta6

11. Python - Thread를 사용한 여러 기능 동시 실행(1) 최근 필자는 완성하지 못한 개인 프로젝트를 싸그리 중단하고 from the scratch로 다시 하나씩 코드를 작성해나가는 중이다(Linux 제어 코드부터 진행중이다. PEP8 Convention도 맞추고, 몇 개월 지나면 알아볼 수도 없는 코드도 줄일 겸). 필자가 진행 중인 프로젝트 중 하나를 잠깐 소개하자면, Linux로 인가받지 않은 사용자가 로그인을 시도하는 경우 해당 침입자의 IP를 firewalld에 Drop 정책으로 등록하는 과정을 실시간 + 자동으로 진행하도록 만드는 프로그램의 제작이다(필자가 만들고자하는 프로그램과 유사한 프로그램이 오픈 소스로 있었는데 이름을 잊어버렸다...). Linux에 로그인을 시도하는 사용자의 정보는 보통 /var/log/secure 파일에 저장된다. 위의 스크.. 2024. 3. 22.
[Python Flask] 2. HTML 페이지와 데이터 주고 받기 이번 포스팅에서는 Flask 프로젝트 내 Python 파일의 특정 변수값을 HTML에 표시하거나, 반대로 HTML에서 사용자로부터 입력받은 값을 Python에서 받아볼 수 있는 방법에 대해 알아보려한다. 사실 지난 포스팅의 내용으로는 정적인 페이지, 그러니까 내용에 변화가 없는 웹 사이트만 제작이 가능하다. 하지만 최근에는 웹 사이트 접속이나 로그인 시간도 화면에 표시하는 마당인데, 이 값들을 서버 운영자가 매 초마다 HTML 파일의 시간 부분을 변경하면서 있을리도 만무하니, 지난 포스팅만으로 뭔가 의미있는 사이트를 만들기는 매우 어렵다. 물론 이번 포스팅도 모두가 원하는 완벽한 웹 페이지를 만들만한 내용을 담고 있지는 않지만, 적어도 웹의 내용을 변경하기 위한 데이터의 이동이 python과 html 사.. 2024. 2. 27.
[MySQL] 3. Database와 Table의 조회 Database는 필요한 데이터를 저장하는 공간이다. 웹 포탈 등지에서 수 많은 사용자의 계정 정보 및 개인 정보도 Database에 저장되며, 이러한 엔터프라이즈 단위 뿐만 아니라 개인 단위에서도 자신에게 필요한 데이터를 Database에 저장하기도 한다. 예를 들면 조깅을 하는 사람이 자신이 하루동안 뛴 거리를 계속 기록하기 위한 용도라던가... 즉, Database는 특정 업무, 목적을 위한 데이터를 저장하는 용도라고 생각하면 된다. 하나의 DB 서버에는 하나 이상의 Database가 존재한다. 가령, 필자가 개인적으로 DB를 운용한다고 가정하면, "자산 관리"라는 이름의 데이터베이스에서는 필자가 지금까지 개인적으로 사용하는 돈의 액수나 벌어들이는 월급과 관련된 내용을 작성하고, "골프"라는 데이터.. 2024. 2. 22.
[MySQL] 2. MySQL 설치 후 접속 설정 지난 포스팅의 마지막 부분에서 필자가 보였던대로, 막 설치가 끝난 MySQL은 설치된 서버에서만 직접 접속이 가능할 뿐, 외부에서의 접속은 불가하다. 또한 MySQL은 인가받지 않은 사용자가 데이터로 접근하는 것을 막기 위해 계정을 생성하고 데이터베이스마다 권한을 부여하는 기능도 제공하고 있다(이는 PostgreSQL이나 MariaDB 등도 마찬가지이긴 하다). 이번 포스팅에서는 MySQL의 사용자 계정 관리 및 외부 접근 허용 등 설치 후 세팅에 대한 내용에 대해 작성해보려한다. * 본 내용을 참고하시는 분들은 아래의 패키지가 설치되어 있는지 필히 확인하자 - firewalld : Linux 방화벽 관리 패키지 - vim : Linux 텍스트 편집기 패키지 (vi) -> 설치가 되어 있지 않다면 아래의.. 2024. 2. 21.
[MySQL] 1. Ubuntu 23.04에 MySQL 설치 (apt-get) 필자는 지금까지 프로그래밍과 관련된 내용만 포스팅을 해 왔었다. 물론 DB의 중요성을 몰라서 관련 내용을 포스팅하지 않은 것이 아니라 늘상 언급했듯이, 지금까지 시간이 너무 없었다 (최근 포스팅들의 등록 주기를 보면 알 수 있듯이 말이다). 어쩌다보니, 요즘 들어 시간이 다시 남아돌기 시작해서, 이 참에 DB와 관련된 포스팅을 진행해보려한다. 첫 포스팅은 RDBMS(Relational Database Managment System) - MySQL, PostgreSQL 등 DB 프로그램 - 을 Linux에 설치하는 방식에 대한 내용이다. 웹 뿐만 아니라 데이터 저장이 필요한 프로그램은 RDBMS을 많이 활용하기 때문에, 추후 DB 설계 연습 등을 진행하려면 필자의 테스트 서버에 RDBMS을 설치하는 것이 .. 2024. 2. 20.
10. Python - Lamdba의 활용 되도 않는 망상에 빠져 Python으로 "이런 기능 한 번 만들어봐야지" 하면서 지낸 것이 벌써 5년이 되었다. 물론 필자 나름대로 아직까지 잘 쓰고 있는 프로그램도 있긴 하지만 99%가 업무로 바빠서(핑계가 아니다. 진짜...) 엎어진 것들이 많다. 그런데, 최근 어떠한 이유로 갑자기 옛 코드들을 들여다보다가, 공통적으로 개선이 필요한 사항이 필자의 눈에 많이 띄인다. 오늘 다루어 볼 내용은 지금까지 필자의 능력 부족으로 잘 사용하지 못했던 Lambda 함수다. 1. Lambda 식 아래와 같은 상황을 가정해보자. List형 데이터 변수가 있고, 여기에는 5명의 학생의 '국어', '영어', '수학', '프로그래밍' 점수가 Tuple 형태로 저장되어 있다고 가정해보자. 아래와 같은 형태로 나타날 것이다... 2024. 2. 19.
728x90
반응형