반응형

다시 시작 Tap to restart 395

gitlab에 있는 저장소를 github로 커밋 포함 전체 복사하기

코드 복사가 필요한 상황Git으로 관리하는 코드를 이 서비스에서 저 서비스로 옮겨야 할 때가 있다예를 들어서 gitlab에 있는 저장소를 github로 옮기고 싶다. 이 때 gitlab 코드를 내려 받고, github에 저장소를 만들고 내려 받은 코드를 복사한 뒤에 새로 커밋하면 기존 커밋 이력이 다 날라간다. 커밋 이력을 포함해서 복사하고 싶다면이때는 remote url을 변경해야 한다. 아래 명령어를 사용해야 한다.$ git remote set-url origin GitHub-저장소-URL 작업 순서 1. 우선 gitlab 저장소를 clone 한다.$ git clone https://gitlab.com/사용자명/저장소명.git 2. github에 저장소를 새로 만든다. 3. 원격 저장소 url을 변경..

개발 Dev/깃 Git 2024.05.15

파이썬 비공개 패키지를 통해 타팀과 협업 및 업무 효율성 개선

# Situation 상황예전에 로봇 플랫폼 서버와 로봇이 주행하게 될 전역 경로 생성 서버가 따로 있었다. 전역 경로 생성 서버가 따로 있는 것이 비효율적이라 로봇 플랫폼 서버와 전역 경로 생성 서버를 하나로 합치면서 코드도 한 저장소로 합치게 되었다. 전역 경로 생성 개발자는 다른 팀이었는데, 백엔드팀 코드 저장소에서 같이 개발하게 되었다. 하지만 전역 경로 생성 개발자는 장고에 대한 이해, 테스트 작성 등 백엔드 개발 관련 지식이 부족했다. 전역 경로 담당자는 예전보다 개발하는데 더 오래 걸리게 되었고, 나와 만날 때 다시 과거로 돌아가 서버 분리를 하면 좋겠다는 이야기를 자주했다. # Task 과제과거로 다시 돌아가 전역 경로 생성 서버를 따로 두는 것은 비효율적이었다. 로봇 플랫폼 서버가 전역 ..

내가 이룬 작은 개선과 성취를 STAR 기법으로 꾸준히 기록하기

피하고 싶지만 피할 수 없는 면접취업준비생이라면 절대 피할 수 없는 게 면접이다. 재직자라도 언제든 맞딱뜨리게 될 일이 바로 면접이다. 기업의 수명은 짧기 때문이다. 운 좋게 대기업에 다니고 있다면 좀 더 길겠지만 스타트업에 다니고 있다면 수명이 정말 짧다. 경제 위기 등 외부 요인으로 기업은 언제든 휘청일 수 있다. 내 의지나 노력과 관계 없이 권고사직을 당해서 다시 취업을 준비해야 하는 상황에 처할 수도 있다. 면접, 자기 홍보가 필요한 상황취업을 준비해야 하는 상황이 되었을 때 면접 시 우리를 평가하는 면접자는 우리를 모른다. 우리가 어떤 장점을 갖고 있는지 말이다. 경력자라 하더라도 지난 회사들에서 어떻게 일해왔는지, 문제를 일으키지는 않았는지, 어떤 성취를 얻었는지 모른다. 자기 스스로 자신의 ..

삼육대 학생들에게 테스트 주도 개발을 강의하다

전 회사 친구로부터 받은 부탁전 회사 친구가 삼육대 학생들을 대상으로 백엔드 강의를 하고 있어서 테스트 주도 개발 특강 부탁을 받았다. 처음에는 호기롭게 하겠다고 했는데, 시간이 다가오자 무슨 말을 어떻게 해야 할지 고민이 많아졌다. 그 친구들한테 뭔가 남았으면 좋겠는데, 시간만 뺐는 것은 아닌지, 별로 도움이 안 되는 것은 아닌지 등등 말이다. 고민테스트 주도 개발을 어떻게 하면 하게 만들 수 있을까. 테스트 주도 개발이 사실 쉽지는 않다. 특강이 끝난 뒤에 바로 시도하지는 못해도, 반드시 하고 싶게 만들려면 어떻게 하는 게 좋을지 고민이 되었다. 평범한 개발자인 내가 하는 말이 설득력이 생기려면 어떻게 해야할까 고민이 컸다. 결국 객관적인 자료나 사례를 바탕으로 설득을 해야겠다고 생각했다. 이야기 시..

첫 영어 취업 면접 job Interview in English 후기

우연히 링크드인으로 해외 취업 제안이 왔다. 간략하게 CV를 준비해서 제출했다. 전혀 기대를 안 했는데 면접이 잡혔다. 면접 제목은 'introductory interview'. 다가오는 면접 시간어떻게 준비해야 할 지 잘 몰랐다. 그래서 일단 유튜브에서 검색해서 공통 질문에 대한 답변들을 준비했다. 열심히 소리내서 외웠다. 목이 아프도록. 그동안 영어 공부를 열심히 안 하다가 갑자기 하려니 쉽지 않았다. 아무리 외워도 듣기가 되는 것은 아닌데. 뇌가 멈췄다어떻게 지나갔는지 모르겠다. 인터뷰 시간보다 2분 일찍 줌 링크로 들어갔다. 아무도 없었다. 예정된 시간이 지나도 아무도 없었다. 당황하기 시작했다. 내가 잘못 들어온 것인가. 예정된 시간보다 이분쯤 지나니 들어오기 시작했다. 원래 준비했던 인사는 하..

자주 나오는 영어 취업 면접 질문 Common Job Interview Questions in English

자주 나오는 질문들을 유튜브에서 조사해봤다. 1. Top 10 Job Interview Questions in English출처: https://www.youtube.com/watch?v=jaxgeXPgAz0 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 위 영상에 나온 질문과 답변 예시이다. Q1. Tell me a little about yourselfA: Well I got my bachelor's degree in biochemistry. Q2. How did you hear about the position?A: I found an advertisement about the job on the internet. Q3. Why are you interested in ..

켄트 벡의 테스트 주도 개발 예제대로 따라해보기

켄트 백의 테스트 주도 개발 책에 나온 예제대로 조금만 따라해보면 테스트 주도 개발을 이해할 수 있다.  준비: IntelliJ IDEA 설치하기먼저 IntelliJ IDEA를 내려받는다.https://www.jetbrains.com/idea/download/?section=mac Community Edition을 내려받으면 공짜로 사용할 수 있다. 실행하면 이런 화면이 나온다.  New Project를 누르고 TDD라고 적자.  Create을 누르면 이 상태가 된다.   테스트 만들기테스트 주도 개발은 테스트부터 만드는 것이다. 책에 나온 간단한 곱셈 예제는 아래와 같다.    public void testMultiplication(){        Dollar five = new Dollar(5); ..

첫 해외 출장에서 깨달은 것들

미국 마이애미로 해외 출장을 다녀왔다. 첫 해외 출장, 첫 미국 출장. 나에게는 새로운 경험이었다. 체력의 중요성3월 23일 토요일 오후 4시에 인천공항에서 비행기 탑승해서 마이애미 현지 시간 3월 24일 일요일 새벽 5시 경 마이애미 공항에 도착해서 비행기에서 하차하기까지 25시간이 소요되었다. 24일 오전에 도착했으므로 24일 밤이 되기까지 잠을 잘 수 없었다. 다음 날이 월요일이라 바로 쉬지 못한 상태로 출장 일정이 시작되었고, 출장 기간 내내 피곤했다. 다음에 출장을 가게 된다면 시차 적응을 빨리할 수 있는 방법을 찾아보고 적용해봐야 할 거 같다. 계획대로 진행되지 않는 일정모든 일이 그렇겠지만 계획대로 진행되지 않았다. 출장 기간 내내 네트워크 이슈로 계획대로 진행할 수 없는 상황이었다. 모바일..

'어제보다 오늘이 나아지는 세계'를 만들기

'어제보다 오늘이 나아지는 세계'김연수 소설가의 책 '우리가 보낸 순간'의 책 끝 부분에 '날마다 글을 쓴다는 것'이란 글에 나온 표현이다. 남들이 봤을 때 김연수 소설가는 스물 셋에 시인으로 등단하고, 스물 넷에 장편 소설로 문학상을 받은 천재 작가다. '날마다 글을 쓴다는 것' 글을 보면 천재 작가인 김연수 소설가도 소설 쓰기를 그만둘까 고민한 적이 있다고 한다. '재능이 없다는 의미'몇 번 대학에서 글쓰기를 가르치고 난 뒤에 나는 자신에게 생긴 부정적인 일들을 '재능이 없다는 의미'로 받아들이는 사람이 십대 시절의 나뿐이 아니라는 사실을 발견하게 됐다. 소설창작 시간에 관례대로 합평이라는 걸 한 적이 있었다. 칭찬을 오천 번 정도는 받아도 원래의 밝고 창의적인 아이 때의 모습으로 돌아갈 수 있을까 ..

Pytest로 InfluxDB 병렬 테스트 시 fixture와 테스트 코드 예시

InfluxDB를 사용한 코드에 대한 테스트 코드를 작성 PostgreSQL이나 MySQL을 테스트할 때 테스트 데이터베이스를 만들어서 하는 것처럼 실제로 InfluxDB에 데이터를 저장하고 읽어서 테스트를 하고 싶었다. 그래야 코드가 정상 작동하는지 확실하게 테스트할 수 있기 때문이다. InfluxDB 관련 테스트 팩키지 X InfluxDB관련 테스트 팩키지가 따로 없었다. 그래서 fixture로 추가해서 사용하기로 했다. fixture 함수 conftest.py 파일에 아래 함수를 추가했다. def use_influxdb(func): if "INFLUXDB_TEST_TOKEN" not in os.environ: return pytest.mark.skip(reason="INFLUXDB_TEST_TOKE..

GitOps와 AWS ECS 사용 시 베이스 도커 이미지를 활용한 배포 속도 개선 사례

# Situation 상황사내에서 DRF로 개발하고 있으며, Github Action과 AWS ECR, ECS를 활용해서 배포를 하고 있다. Github Action에서 배포 실행 버튼을 누르면 아래와 같은 순서로 배포가 진행되었다.1. 선택한 브랜치의 코드를 바탕으로 도커 이미지 생성해서 ECR로 이미지 업로드2. 1번에서 업로드한 ECR 이미지로 API 서버, 워커 서버 등 배포 진행 # Task 과제1번이 프로젝트가 커지고 외부 라이브러리나 팩키지 설치가 많아질수록 속도가 오래 걸렸다. 특히 PostGIS를 쓰게 됨에 따라 관련 해서 우분투에 libgdal-dev 팩키지 설치가 필요해졌는데 이 팩키지 설치만 몇 십초 씩 걸려 긴 시간이 소요되었다. 어떻게든 속도 개선 작업이 필요했다. # Actio..

ChatGPT로 고급 개발자의 피해가 클까? 초중급 개발자의 피해가 클까?

사람마다 의견이 갈릴 거 같다. 내 의견은 고급 개발자다. 기업의 입장에서 생각하기기업은 돈을 벌기 위한 조직이다. 투자는 적게 하고, 수익은 많이 나는게 최고다. 기업 입장에서 개발자들은 자원 중 하나다. 그래서 인적 자원(Human Resource, HR)이라고 한다. 기업의 입장에서는 4000만원짜리 개발자 A와 8000만원짜리 개발자 B가 있다면 당연히 두 배 비용을 지불하고 있는 B가 A의 최소 두배만큼 일을 해주길 원할 것이다. </p..

ChatGPT로 "비즈니스 모델 특허 출원 명세서와 요약서 작성기" 만든 후기

쉽다! 정말 누구나 할 수 있다 ChatGPT의 GPT 빌더로 비즈니스 모델 특허 출원 명세서와 요약서 작성기를 만들어보았다. 생각보다 굉장히 쉽게 만들 수 있어서 놀랐다. GPTS(https://chat.openai.com/gpts)에서 Create을 누르면 쉽게 만들 수 있다. 단 무료 사용자는 안 되고, 매달 20$ 내는 Plus 사용자이어야 한다. Name, Description, Instructions만 작성하면 만들어진다. 정말 간단했다. 물론 내가 원하는결과가 나오도록 Instructions를 작성하기는 쉽지 않았다. 비즈니스 모델 특허 출원 명세서와 요약서 작성기 비즈니스 모델 특허 출원 명세서와 요약서 작성기 GPT를 만들었다. 실제 사용 예는 아래와 같다. 테스트를 위해서 본 발명은 기..

개발 Dev 2024.01.21

Q. 슬러그slug란?

A. 보통 URL 끝에 있는 웹 주소의 고유 식별 부분을 뜻한다. 예를 들면 https://en.wikipedia.org/wiki/Clean_URL에서 Clean_URL 부분이 슬러그다. 달팽이를 뜻하는 slug와는 관계가 없다. 제작 중인 신문 기사에 붙이는 짧은 이름을 slug라고 한다(출처: 위키백과 slug) 이쪽에서 파생된 단어로 추정된다. slug 특징 사람이 읽고 파악할 있는 자연어로 되어 있으며 중복 없이 유일하다. 실제 웹 개발에서 slug값을 정의할 때 중복이 발생하지 않도록 unique 설정을 true로 정의한다. 웹 개발 문서에 등장하는 예 웹 개발 문서를 읽다보면 자주 등장한다. Django 예 출처: https://docs.djangoproject.com/en/dev/glossa..

채용 플랫폼이 아니라 홈페이지나 인사팀 메일로 직접 지원하면 결과에 영향이 있을까?

인사 담당자 입장에서 한번 생각해보자. 채용 플랫폼으로 지원하는 것을 더 좋아하지 않을까? 채용 플랫폼을 원티드나 리멤버 등 하나만 이용한다면 관리 차원에서 좋아할 수도 있다. 하지만 보통 채용 플랫폼을 하나만 이용하지는 않는다. 원티드, 사람인, 리멤버, 링크드인 등 여러 플랫폼을 이용하고, 헤드헌터, 사내 추천 등 여러 채널을 이용해서 채용을 진행한다. 직접 지원하면 인사 담당자 입장에서 채용 수수료를 아낄 수 있지 않을까? 채용 수수료를 찾아보자. 원티드 경우 연봉의 7%이다. 프로그래머스의 경우도 연봉의 7%이다. 보통 7% 정도로 생각하면 될 거 같다. 7%가 별 것 아닌 거 같지만 연봉이 5000만원이라면 기업 입장에서는 350만원이나 되는 큰 돈을 수수료로 지불해야 한다. 직접 지원한 경우 ..

벤츠 역사에서 가장 중요한 날, 1886년 7월 3일

세계 최초의 자동차, 벤츠 페이턴트 모터바겐 DDP(동대문디자인플라자)에 가면 아래와 세계 최초의 자동차 모형이 전시되어 있다. 세계 최초의 운전사, 정비사는 베르타 벤츠 세계 최초의 운전사는 칼 벤츠가 아니라 베르타 벤츠다. 왜 칼 벤츠가 아니었을까. "베르타 벤츠는 1888년 8월 어느 날 아침, 남편 카를 벤츠 몰래 자동차를 끌고 나와 두 아들인 오이겐 벤츠, 리하르트 벤츠와 함께 길을 나섰다. 당시 벤츠 가족이 머물고 있던 곳은 독일 서남부의 만하임이었으며, 베르타 벤츠는 그곳에서 약 100km 남쪽으로 떨어진 카를스루에 인근의 포르츠하임의 친정집까지 차를 끌고 갈 계획을 세웠다. 다만 친정집에 가는 건 표면적인 이유였고, 사실 베르타 벤츠는 사실 이동하면서 자동차를 대중에게 유용한 것이라 홍보할..

장고 어드민 무료 테마 Unfold 추천!

기본 장고 어드민 기본 장고 어드민은 예쁘지 않다. 이렇게 생겼다. 모서리도 다 직각이다. 너무 딱딱한 느낌이다. django-unfold Unfold 테마를 적용한 결과다. 기본 장고 어드민 형태를 유지하면서 세련되게 변경된 것을 볼 수 있다. 장고를 웹사이트로 변경해주는 무료 테마도 보이지만, 웹사이트로 쓰는 용도가 아니라 사내 어드민 용도라면 Unfold 테마로도 충분한 거 같다. unfold 적용 시 주의사항 장고 어드민 모델 추가 시 from unfold.admin import ModelAdmin 이용할 것! 기존 장고 from django.contrib.admin import ModelAdmin을 이용하면 안 된다. 그러면 예쁘지 않게 나타난다. 이렇게 보인다. User, Group 등 기본으..

pytest-BDD(Behavior-driven development) REST API 테스트 픽스처fixture 예

BDD(Behavior-driven development)란? BDD는 한국어로 번역하면 행위 주도 개발로, 소프트웨어 개발 방법론 중 하나다. 소프트웨어 기능을 사용자의 행위 중심으로 설명한다. 예를 들면 아래와 같다. Title: Returns and exchanges go to inventory. As a store owner, I want to add items back to inventory when they are returned or exchanged, so that I can sell them again. Scenario 1: Items returned for refund should be added to inventory. Given that a customer previously bou..

야근을 하게 만드는 회사, 야근이 기본인 회사를 최대한 빨리 나와야 하는 이유는?

시간이 지날수록 다른 회사로 갈 수 없고 벗어나기 어려워지기 때문이다. 왜 다른 회사로 갈 수 없을까?이직을 위해서 가장 필요한 것이 무엇일까? 시간이다. 이직을 위해서는 지금까지 작업한 것들을 포트폴리오로 정리도 해야 하고, 이력서도 다듬어야 하고, 구인공고도 찾아보고 지원도 하고 면접도 봐야 한다. 이 모든 것들을 위해서 가장 필요한 것은 바로 시간이다. 여유 시간이 없다면 이직할 수 없다. 야근을 하게 만드는 회사, 야근이 기본인 회사가 빼앗아 가는 것은?당연히 시간이다. 하루 종일 일하고 집에 와서 잠만 자고 다시 일하러 나가는 일상이 반복된다면? 시간이 없다. 주말에는 녹초가 되고, 밀린 집안일을 처리하느라 벅차다. 야근의 굴레에서 벗어나고 싶다는 생각은 스쳐지나가듯 할 수 있지만 실행에 옮길 ..

erdcloud.com에서는 동시에 여러 명이 ERD(Entity Relationship Diagram)를 편집하고 공개된 ERD 예시를 볼 수 있다

erdcloud.com 이란? 클라우드 기반의 ERD(Entity Relationship Diagram) 공유 편집툴이다. 클라우드 기반이라 여러 명이 편집 가능 erdcloud.com에서는 클라우드 기반이라 동시에 여러 명이 편집할 수 있다. 광고를 보면 숫자 제한이 없는 거 같다. 여러 명이 함께 ERD를 설계할 때 유용하다. 공개된 ERD 예시 많아 도움 다른 사람들은 어떻게 데이터베이스 모델링을 하는지 공개된 ERD를 보면서 참고할 수 있다. ERD 옆의 책이 쌓여 있는 아이콘을 누르면 아래처럼 공개된 ERD를 볼 수 있다. 아래 예는 OKKY의 예다. export시 외래키 정보가 사라져 export할 경우 외래키(Foreign Key) 정보가 사라진다. export 한 뒤 import 하면 다시..

반응형