목록전체 글 (64)
정글에서 온 개발자
공부 동기쿼리를 통해 나온 결과를 엑셀 파일로 제공하는 기능을 개발하던 중, 일반화 프로그래밍을 위해 쿼리로 가져온 값을 배열로 일반화해야 했다. GPT는 go 리플렉션을 추천했는데 이전부터 공부하고 싶던 주제라 찾아봤다.리플렉션이란?프로그램 실행 중(런타임)에 자기 자신의 구조와 동작(클래스, 메서드, 속성)을 검사하거나 수정할 수 있는 능력동적으로 코드를 조작할 수 있음요약하면 객체의 메타적인 정보를 다루게 해준다사용되는 주요 사례프레임워크와 라이브러리JSON, XML 등 데이터 직렬화테스트 코드단점성능 저하 - 런타임에 메소드, 필드에 접근하기 위한 추가적 처리가 필요하기 때문코드 가독성 떨어짐예상치 못한 동작 - private 메서드 등에도 접근 가능하기 때문지원 언어자바, C#, 파이썬, 자바..
도입 이유기존의 local build → zip 파일을 호스팅 서버로 ftp 전송 → 압축 풀기 → systemctl 실행 의 프로세스를 단축하는 배포 자동화를 구축하고자 함버전별 아카이빙 혹은 추후 버전 롤백을 염두해 호스팅 서버가 ‘버전 스토리지’ 역할도 할 수 있도록 구성하고자 함 (docker image 스토리지 등으로도 사용 가능)구성 후 사용 방법git push 나 PR merge 등으로 배포하고 싶은 git 버전을 구성레포지토리의 Actions에 들어가서 자동 워크플로우 이름 → Run workflow → Run workflow를 클릭배포 완료 후 호스팅 서버에 접속하여 sudo systemctl restart server 실행이제 github에 올라간 새로운 버전이 호스팅 서버에서 돌아간다..
Linux System Service리눅스의 systemd가 관리하는 service를 system service라고 한다.systemd를 컨트롤하기 위해 systemctl을 사용한다.시스템 차원에서 등록한 service의 실행관리를 해준다.아파치나 mongodb, mysql을 직접 설치하고 돌릴 때, 모두 이 system service 가 실재 실행 파일을 찾아서 돌리는 것이였다.sudo systemctl start mongod와 같은 명령처럼, 내가 내 앱(파이썬이나 ,node.js, go로 만든) 서비스를 'myservice' 라고 지정했다면sudo systemctl start myservicesudo systemctl stop myservice와 같은 명령어로 쉽게 컨트롤 할 수 있다.시스템 서비..