오래된 프로그래머의 요즘 이야기

그리고 소소한 일상들...

허니의 소소한 일상들이 켜켜이 쌓여가고......

Tech Story 40

[Docker] docker compose 와 Container 저장소 연결

친구와 함께 배우는 Docker 마스터 클래스: 컨테이너 호스팅부터 사설 레지스트리까지!친구랑 같이 배우는 Docker 정복기: 컨테이너 호스팅부터 사설 레지스트리까지! (feat. XpressEngine 게시판) 안녕 친구들! 오늘은 나랑 같이 Docker를 좀 더 깊이 파헤쳐 보는 시간을 갖도록 할게. Docker 초보 탈출을 꿈꾸는 너에게 딱 맞는 내용이야! 이번 포스팅에서는 컨테이너 호스팅, 사설 저장소 구축, 그리고 Docker Compose까지, Docker의 핵심 기능들을 실습 위주로 알아볼 거야. 자, 준비됐어? 🚀 **Part 1: XpressEngine 게시판과 함께하는 컨테이너 호스팅!** 먼저, CentOS 7 기반의 XpressEngine(XE) 게시판을 Docker 컨테..

Tech Story 2025.05.31

[Python] 배열 복사 (흔히 하는 실수?)

파이썬 할당과 복사의 핵심: 얕은 복사 vs 깊은 복사, 이제 헷갈리지 마세요!파이썬 할당, 복사 얘기 좀 해볼까? 얕은 복사? 깊은 복사? 뭔 소리야?! 🤔 어이 친구! 오늘은 파이썬에서 엄청 중요하지만, 은근히 헷갈리는 할당과 복사에 대해서 얘기 좀 해볼까 해. 특히 얕은 복사(shallow copy)랑 깊은 복사(deep copy)는 진짜 헷갈리거든! 내가 그림도 잔뜩 넣고, 코드도 보여주면서 쉽게 설명해줄 테니까, 끝까지 따라와 봐! 😎### 1. 할당 vs 복사: 같은 건가, 다른 건가? 먼저 리스트를 예로 들어볼게. 리스트 `a`를 `b`에 할당해보자. ```pythona = [1, 2, 3]b = a``` 이렇게 하면 `a`와 `b`는 같은 리스트를 가리키게 돼. 마치 같은 방의 다..

Tech Story 2025.05.31

[Python] Flask vs Django 특징 및 장단점 비교

장고 vs 플라스크: 나에게 맞는 파이썬 웹 프레임워크 찾기!오늘은 파이썬 웹 개발의 양대 산맥, 장고(Django)와 플라스크(Flask)에 대해 흥미진진한 비교 분석을 해볼 거야! 어떤 프레임워크가 나에게 딱 맞을지 고민하는 친구들을 위해 준비했으니, 팝콘 🍿 챙겨서 편하게 읽어봐 ㅎㅎ **🤔 먼저 둘의 차이는 뭘까?** 간단하게 말하면, 장고는 '풀옵션 자동차'이고, 플라스크는 '내가 꾸미는 자전거'야. 둘 다 A 지점에서 B 지점으로 데려다주는 건 똑같지만, 방식이 다르다는 거지. 장고는 필요한 기능들이 다 갖춰져 있어서 바로 달릴 수 있지만, 플라스크는 내가 원하는 부품을 직접 골라서 조립해야 해. 그래서 상황에 따라 최고의 선택지는 달라진다는 거지! **✨ 장고(Django)의 매력..

Tech Story 2025.05.31

[Python] Dictionary 와 JSon 비교 및 변환

야! Python 딕셔너리, JSON으로 변환하는 거 졸라 쉽다!오늘은 Python에서 딕셔너리를 JSON으로 변환하는 방법에 대해 얘기해볼까 해. 웹 개발하다 보면 Python으로 백엔드 짜고, 자바스크립트로 프론트엔드 짜는 경우가 많은데, 이때 데이터 주고받는 게 좀 귀찮잖아? 그럴 때 JSON이 딱인데, Python 딕셔너리랑 JSON 변환하는 게 얼마나 쉬운지 보여줄게!**1. 왜 JSON이 필요할까?** API로 데이터 주고받을 때 JSON 형식 많이 쓰잖아? Python에선 딕셔너리가 JSON이랑 엄청 비슷하게 생겨서 변환하기 편해. 자바스크립트에서도 JSON 다루기 쉽고, 다른 언어들도 마찬가지야. 그래서 데이터 교환에 딱이지!**2. Python 딕셔너리 -> JSON 변환: `j..

Tech Story 2025.05.31

[SQL] SQL vs No-SQL

데이터베이스 선택 고민 끝! SQL vs NoSQL안녕 친구! 요즘 데이터베이스(DB) 고르는 게 은근 고민이지? SQL이니 NoSQL이니… 용어만 봐도 머리 아프잖아. 내가 오늘 쉽게 정리해줄게! 마치 친구끼리 수다 떠는 것처럼! 😉 **1. SQL: 깔끔한 정리정돈, 딱! 정해진 틀!** 상상해봐. 너의 방이 항상 깔끔하게 정리되어 있고, 모든 물건이 제 자리에 있는 모습! SQL 데이터베이스가 바로 그런 거야. 모든 데이터가 **테이블**이라는 칸에, **행(row)**과 **열(column)** 형태로 딱 정해진 틀 안에 가지런히 정리되어 있어. 마치 엑셀 시트처럼 말이지! SQL은 데이터를 관리하는 **구조화된 질의어(Structured Query Language)**야. 데이터..

Tech Story 2025.05.31

[Flutter] 대화상자에서 setState() 사용

여기로 글 옮겼습니다.Flutter의 Dialog 안에서 setState 하기오늘은 Flutter 개발 중에 꽤나 골치 아팠던 문제, 바로 **Dialog 안에서 setState를 사용하는 방법**에 대해 속 시원하게 알려드리려고 합니다. 저도 처음에 이 문제 때문에 몇 시간이고 끙끙댔던 기억이 나네요 😅 하지만 이제 걱정 끝! 이 글을 읽고 나면 Dialog 안에서 데이터 변경을 깔끔하게 처리할 수 있을 거예요. **문제 상황: 왜 Dialog 안에서 setState가 안될까요?** 대부분의 Flutter 개발자들은 화면 업데이트를 위해 `setState`를 사용하는데 익숙하죠. 하지만 Dialog 안에서는 `setState`를 사용해도 화면이 갱신되지 않는 답답한 상황에 직면하게 됩니다. 왜 ..

Tech Story 2025.05.31

[Flutter] RestfulAPI 호출 방법 (Debugging & Release Mode)

Flutter 빌드 모드: 개발부터 배포까지, 어떤 모드를 선택해야 할까요?오늘은 Flutter 개발에서 빼놓을 수 없는 중요한 주제, 바로 **빌드 모드**에 대해 알아보는 시간을 갖도록 하겠습니다. Flutter는 앱을 빌드할 때 개발 단계에 따라 `디버그`, `프로필`, `릴리스` 세 가지 모드를 제공하고, 테스트를 위한 `헤드리스` 모드도 지원합니다. 어떤 모드를 선택해야 할지 고민이시라구요? 걱정 마세요! 지금부터 친절하게 설명해 드릴게요! 😉 ### 1. 핫 리로드의 친구, 개발 모드: 디버그 모드 🐞 개발 중이라면 단연 **디버그 모드**가 최고의 선택입니다! 🚀 이 모드는 핫 리로드를 지원하여 코드 변경 후 바로 결과를 확인할 수 있도록 최적화되어 있습니다. 덕분에 개발 ..

Tech Story 2025.05.31

[Docker / NginX] Docker 와 NginX

Docker와 Nginx를 활용한 Reverse Proxy 구축 및 다중 애플리케이션 배포 전략**초록:** 본 논문에서는 Docker와 Nginx를 활용하여 다중 애플리케이션(Spring Boot, React)을 배포하고, Nginx를 Reverse Proxy로 활용하여 효율적인 트래픽 라우팅을 구현하는 과정을 상세히 기술한다. Ubuntu 22.04 LTS 개발 환경과 Debian 기반 가상 머신(VM) 환경에서의 실제 구축 과정과 발생 가능한 문제점 및 해결 방안을 제시하며, Dockerfile 작성, 이미지 빌드 및 배포, Nginx 설정 등의 구체적인 단계를 소스 코드와 함께 제시한다. **1. 서론** 현대적인 웹 애플리케이션 개발 환경에서는 Docker와 Nginx의 활용이 필수적이다. ..

Tech Story 2025.05.31

[Docker / NginX] 하나의 Domain을 Multi Site로 운영

https://techsuda.tistory.com/71하나의 Docker 컨테이너로 무한한 웹사이트 운영의 세계를 경험하세요요즘 웹 개발은 멀티사이트 운영 없이는 살아남기 힘든 시대입니다. 개발 환경, 테스트 환경, 심지어는 여러 개의 서비스를 동시에 운영해야 할 경우도 많죠. 이럴 때마다 서버를 여러 대 띄워야 한다면? 비용과 관리의 부담은 상상을 초월할 겁니다. 하지만 오늘, 여러분의 고민을 해결해 줄 혁신적인 방법을 소개합니다! 바로 Docker와 Nginx를 활용한 멀티사이트 운영입니다. 단 하나의 Nginx 컨테이너로 여러 웹사이트를 효율적으로 관리하는 마법을 함께 경험해보시죠.**1. Nginx 가상 호스트: 한 서버, 여러 웹사이트의 마술**Nginx는 웹 서버이자 강력한 리버스..

Tech Story 2025.05.31

[Python] System에 반복 및 예약 실행 설정 (Scheduler)

내용을 이곳으로 이동했습니다.파이썬 스케줄러의 꽃, APScheduler로 시간 여행을 떠나요! 오늘은 여러분의 파이썬 코드에 마법 같은 시간 관리 기능을 불어넣어 줄 APScheduler(Advanced Python Scheduler)에 대해 이야기 나눠볼까 합니다. APScheduler의 매력에 흠뻑 빠져 볼까요? ☕️APScheduler는 마치 정교한 시계 장치와 같아요. 여러분의 파이썬 애플리케이션에서 특정 시간이나 주기에 맞춰 작업을 자동으로 실행시켜주는 강력한 도구죠. 작은 규모의 작업부터 분산된 작업까지, 다양한 상황에 유연하게 대처할 수 있답니다. 복잡한 시스템을 구축하는데 필요한 핵심 부품이라고 생각하면 될 것 같아요.**APScheduler의 심장: 네 가지 핵심 요소**APSch..

Tech Story 2025.05.31