본문 바로가기

프로그래밍135

[깃허브 자동화]깃허브와 젠킨스를 활용한 CI/CD 파이프라인 구축: 상세 가이드 깃허브와 젠킨스란?깃허브(GitHub)깃허브는 전 세계 개발자들이 가장 많이 사용하는 버전 관리 시스템(VCS)사이트다. 깃(Git)을 기반으로 하며, 코드 저장, 협업, 이슈 트래킹, 프로젝트 관리 등의 기능을 제공하며, 특히 유명한 이유는 오픈소스 프로젝트부터 기업 내부의 프라이빗 리포지토리까지 리포지토리 주소만으로도 공유하기가 매우 쉽기 때문이다. 젠킨스(Jenkins)젠킨스는 오픈소스 기반의 자동화 서버로, CI/CD 파이프라인을 구축하는 데 널리 사용된다. 빌드, 테스트, 배포 등의 작업을 자동화하여 개발 생산성을 높이고, 오류를 조기에 발견할 수 있도록 도와줍니다. 플러그인 기반의 확장성이 뛰어나 다양한 도구와 통합이 가능합니다.     깃허브와 젠킨스 통합의 필요성깃허브와 젠킨스를 통합하면 .. 2025. 1. 13.
[FastAPI]FastAPI란 무엇일까? API란???API를 간단하게 요약하자면 "요청과 응답"이라고 할 수 있다.가게마다 메뉴판이 다르고(API Documents) 내가 어떠한 요청을 할때에도 적합한 요청을 해야지만 정상적인 응답이 올것이다,예를 들어 만약 철물점에 들어가서 "돈가스 2개" 주세요. 라고 한다면 안 되고, 관계자 외 시설에 그냥 들어가려고 하면 제지당할 수 있듯이 API란 "적합한 요청"에 대한 "적합한 응답"을 돌려주는 인터넷에서의 약속이다.    FastAPI란???FastAPI는 python을 사용해서 API를 빠르게 개발할때 사용하는 프레임워크(누군가 미리 만들어둔 코드)로 프로그래머가 만든 API를 자동으로 문서로 정리해주는 기능을 가지고 있다.또한 Pydantic 모델을 사용하여 데이터 유효성을 검사하고, API .. 2024. 12. 23.
[도커/Docker]호스트에서 특정 컨테이너로 파일 전송하기 Linux에서는 scp 명령어 Docker에서는???예전에 Tableau Server 마이그레이션할때 어떤 파일을 다른 리눅스로 어떻게 옮기는지 명령어를 잠깐 썼었다.scp "filelocation/filename" 리눅스계정@ip:저장하고 싶은 리눅스경로를 리눅스에서 사용하면 되는데, 예시로 10.111.11.11의 test.txt파일을 10.222.22.22의 /home 폴더로 testuser계정을 사용해서 옮긴다고 할때명령어는 scp 경로/test.txt testuser@10.222.22.22:/home 을 사용 하면된다. [Tableau Server migration 마이그레이션]window to linux migration(윈도우를 그대로 리눅스로 변경하기)How To Install Tablea.. 2024. 11. 28.
[개발자 주저리]개발자로 취업할때 알고 있어야 하는 것 정리 -1 (개발자는 취업해서 뭐함???) Hello World!개발자들이 일하는 모습을 보면 보통 화이트 보드나, 그림판에 알아보질 못할 그림을 그리거나, 천장을 보면서 의자에서 빙글빙글 돌거나, 팔짱 끼고 멍하니 화면만 바라 보는 모습을 볼 수 있을 것이다.보기에는 아무것도 안하는것 같지만 굉장히 빡집중해서 개발중인 모습이다. 도대체 개발자들은 회사에서 무엇을 하는지, 뭘 해서 돈을 버는 건지곧 취업하려는 사람들과 이미 취업이 되었고 곧 개발자로 일하는 사람들이 알고 있어야 하는 것들에 관해서 간략하게 아는 것들만 소개하는 글이다.   개발자 취업 폭증의 원인코로나로 인해 온라인 사업이 폭증하면서 네카쿠라배(네이버,카카오,쿠팡,라인,배민)라는 용어가 생길 정도로 프로그래머들을 원하는 기업이 많아졌다, 이러한 수요로 여러 학원에서는 단기 학습을.. 2024. 11. 28.
[Django/장고]Debug = False static 파일 경로 이슈 - debug false then static href not found -Solved Django  개발중 이슈 발생Django 사이트 개발이 막바지 단계라 이제 Debug를 True에서 False로 변경하여 민감한 정보들을 사용자에게 노출시키지 않으려고 했다.settings.py에서 기존의 Debug = True를 Debug = False로 변경하고 아래 코드를 추가하였다.SECURE_SSL_REDIRECT = TrueSECURE_HSTS_SECONDS = 3600SECURE_HSTS_INCLUDE_SUBDOMAINS = TrueSECURE_HSTS_PRELOAD = TrueSECURE_CONTENT_TYPE_NOSNIFF = TrueSECURE_BROWSER_XSS_FILTER = TrueSESSION_COOKIE_SECURE = TrueCSRF_COOKIE_SECURE = True그.. 2024. 9. 19.
[크롤링 / Python] 셀레니움 디버깅 모드 Selenium Debugging Mod 왜 디버깅 모드를 사용해야 하나요?(캡챠 Capcha)셀레니움(Selenium)으로 크롤링을 할때 몇몇 사이트에서는 봇 감지 기능을 사용하여, 로그인을 할때 질문글을 사용하여 사람인지 아닌지 검증하는 단계를 진행해야 하는 경우가 있다.보통 이런걸 "Capcha"라고 하는데 종류도 굉장히 많다. (일반 캡챠 / 키 캡챠 / 클릭 캡챠 / 회전 캡챠 / GeeTest 캡챠 / 카피 퍼즐 등)    Capcha 우회 방법? OCR(Optical Character Recognition)과 AI를 적절히 활용하여 화면을 캡쳐 후 AI가 분석한 결과를 토대로 Capcha를 해결하는 방법과, 캡챠 발생시 캡챠 화면만 해결하도록 알림 메시지를 전달하여 크롤링을 지속하는 방법도 있습니다.아예 이러한 Capcha만 해결해.. 2024. 8. 19.
[LLM/llama3/sql langchain]라마3로 langchain사용하기 -1 SQL Langchain이란?Database에서 특정 조건을 만족하는 데이터를 가져올때 "조건문"을 설정하거나 다른 Table들과 연관관계를 지정하여 원하는 형태의 데이터를 가져오는데, 이때 Database와 약속된 언어를 사용하여 이러한 요청을 진행하는데 그것이 바로,쿼리(Query)이다.쿼리문이라고도 하는데, 대표적인 예로   SELECT * FROM {Table_Name} WHERE "컬럼명" == "값"    형태가 있다.이러한 쿼리문을 작성하는 것은 조건이 복잡해질수록 난이도가 상승하기에 다른 부서에서 필요한 데이터를 요청할때 데이터 관리자에게 조건을 설명하고 원하는 형태에 관해서 조율 해야 하는 문제가 있어왔습니다만, 최근 SQL Langchain이라는 게임 체인저가 등장하였습니다. SQL L.. 2024. 6. 26.
[유머] 개발자의 분노 웃프네요. 2024. 5. 26.
[Django/장고]페이지 새로고침시 함수가 재실행되지 않는 이슈/Refresh didnt work -Solved 엥???   페이지 새로고침을 했는데 값이 그대로다...Django에서는 return render(request,"/templates/보여줄화면.html", context)를 통해서 화면을 불러오는데....이때 context의 값을 그대로 html 화면에서 사용할 수 있다, php와 매우 유사하다. ()예를 들어 context ={"now_time":datetime.datetime.now()} 라는 값을 입력하면html 에서는 아래와 같이 바로 출력이 가능하다. 현재 시간 : {{now_time}} 그런데 문제가 발생했다. 같은 URL을 다시 접속하거나, 새로고침을 하게되면,"최초로 해당 페이지를 로딩했을때의 값이 고정되어 나타나는 이슈가 발생했다"즉, 설정된 view(함수)가 재실행되지 않은 것이다.... 2024. 5. 22.