본문 바로가기

Posts

Posts/Python 파이썬을 이용한 클린 코드를 위한 TDD - 1장 기능테스트를 이용한 장고 프로젝트 설정 Chapter 1. 기능 테스트를 이용한 Django 프로젝트 TDD 학습 겸 정리를 위한 내용입니다. 1. 테스트가 없다면 아무것도 하지 마라 TDD의 접근법은 언제나 같습니다. 테스트를 작성한 후 실행하고 예상 시나리오대로 실패하는지 확인하는 작업의 연속입니다. 단계를 작게 나누어 조금씩 진행해 나갑니다. 1-1. 첫번째 기능테스트 프로젝트에서 selenium webdriver를 사용하기 위해 ChromeDriver를 사전에 설치합니다. 이후 PATH(/usr/local/bin) 경로로 ChromeDriver 파일을 이동시킵니다. from selenium import webdriver from selenium.webdriver.chrome.service import Service # 처음엔 Chrom.. 2021. 10. 30. 00:58
Posts/Django Legacy DB 장고에 연동 후 Table에 Foreign Key 설정시 Migrate로 관리하는 법 기존 데이터베이스를 django로 운영하고자 할 때 통합하기 위해선 inspectdb 를 이용할 수 있습니다. inspectdb라는 유틸리티를 통해 생성된 모델들을 해당 프로젝트 setting.py에 app 패키지에 추가시키고 managed 옵션을 주어 관리하게 됩니다. 라이프사이클 관리를 허용할 때는 True, False이며 모든 앱들의 수정이 완료되면 migrate 명령을 통해 django 테이블 추가 및 통합을 이루게 됩니다. 이렇게 초기에 통합 환경을 만들고 운영하던 중 특정 모델의 추가적로 컬럼(FK)을 추가해야하는 상황에서 발생한 문제와 해결 과정을 정리해보고자 합니다. 1. 문제 발생 기존 레거시 mysql 데이터베이스에 inspectdb 이후 프로젝트에 기존 Model에 FK 컬럼을 추가해.. 2021. 10. 11. 12:58
Posts/Server 백엔드 개발자가 알아두면 좋은 리눅스 명령어 및 로직 SSH Secure Shell의 약자로 원격에 있는 컴퓨터를 안전히 제어하기 위한 프로토콜, 프로토콜 프로그램을 말합니다. SSH 클라이언트와 SSH 서버의 상호작용으로 SSH 서버에 접속하여 설치된 운영체제를 제어할 수 있습니다. 클라이언트와 서버 사이에 강력한 보안 및 암호화 방식을 통해 연결되어 있습니다. 중간에 주고 받는 비밀번호, 카드 정보 등 데이터 정보를 가로채도 해석할 수 없는 암호로 되어 있어 보안상의 이점을 제공하는 역할을 합니다. 가장 대표적 예는 사용자가 컴퓨터 시스템에 원격으로 로그인하는 것입니다. Git의 경우도 Github은 기본적으로 SSH를 지원하고 있습니다. SSH Client 리눅스, macOS와 같은 유닉스 계열의 OS는 기본적으로 SSH 클라이언트와 서버가 설치되어 .. 2021. 10. 7. 00:00
Posts/AWS aws로 웹서버 구성하기 정리 요약-2 aws로 웹서버 구성하기 정리 요약-2 생활코딩 및 jojoldu 님의 블로그를 보며 학습한 내용을 정리한 글입니다.) 목차 1, 2는 이전 aws로 웹서버 구성하기 정리 요약-1 글을 확인해주시면 됩니다. 목차 1. 회원가입 2. 인스턴스 생성 3. 탄력 IP 등록 4. 터미널을 통해 EC2 접속3. 탄력 IP 등록 인스턴스를 생성 후 우리는 탄력 IP(Elastic IP)를 등록해야 합니다. why? AWS에서는 EC2의 인스턴스를 중지/시작할 때마다 유동적으로 IP가 바뀌게 됩니다. 만약 고정적 IP를 하지 않는다면 인스턴스를 중지 후 재시작할 때마다 IP가 변경됨으로 인해 앱을 업데이트를 해줘야 하며 기존의 도메인 주소로도 접속할 수 없는 불편한 현상을 맞이하게 됩니다. 이런 문제를 해결하기 위해.. 2021. 10. 6. 22:11
Posts/AWS aws로 웹서버 구성하기 정리 요약-1 aws로 웹서버 구성하기 정리 요약-1 생활코딩 및 jojoldu 님의 블로그를 보며 학습한 내용을 정리한 글입니다.) 목차 1. 회원가입 2. 인스턴스 생성 3. 탄력 IP 등록 4. 터미널을 통해 EC2 접속1. aws 회원가입 생활코딩 강좌를 통해 쉽게 회원가입할 수 있습니다. 초보분들도 쉽게 할 수 있기에 따로 정리하지 않았습니다. 2. 인스턴스 생성 오른쪽 상단에 위치한 Region을 확인해서 서울이 아니면 서울로 변경해줍니다. Region에 대한 정보는 이전에 올린 aws 기초 용어 및 개념 글을 보면 도움이 되실 겁니다. 이해가 잘 안된다면 생활코딩 강좌를 정독하는 것을 권해드립니다. 이후 메인에 보이는 솔루션 구축 탭에 EC2를 사용하여 를 클릭하여 인스턴스를 바로 생성하겠습니다. 2-1... 2021. 10. 6. 22:07
Posts/Docker Docker 개념 및 명령어 요약 Docker 컨테이너 기반의 오픈소스 가상화 플랫폼, 다양한 프로그램, 실행환경을 컨테이너 단위로 추상화하여 동일한 인터페이스로 프로그램의 배포 및 관리를 단순화 시켜주는 기능을 합니다. 백엔드프로그램, DB서버, 메세지 큐 등 어떤 프로그램도 컨테이너로 추상화가 가능하고 aws, azure, google cloud등 실행 가능합니다. 컨테이너와 VM의 차이 컨테이너 다른 컨테이너들과 호스트 os 자원 커널을 공유해서 사용함, 별개의 프로세스로 독립적인 환경 VM 하이퍼바이저를 통해 호스트 os에 접속, VM은 application이 필요한 리소스보다 더 많은 것을 제공하여 효율적이지 못함 Image 이미지는 실행 가능한 패키지(app이 구동할때 필요한 모든 것 runtime, 라이브러리, 환경변수, 설.. 2021. 10. 4. 20:01
Posts/ETC GA UTM 보고서 작업기 Google Analytice UTM 대시보드 작업기 회사에서 운영중인 서비스의 사용자 통계를 분석하고자 UTM 작업과 대시보드 추가 작업을 진행해야 한다는 말에 재밌어 보여 작업을 진행하며 메모했던 내용을 되짚어 보기 위해 요약 정리한 글입니다. GA에 대한 정보가 전혀 없이 맨 바닥에 학습하며 작업하다보니 용어가 중점적일 수도 있습니다. 개요 GA란? UTM Parameter 획득 목표 설정 기획 및 작업 GA란? 구글에서 무료로 제공하는 웹 분석 서비스를 말합니다. GA를 몰랐을땐 아무런 감정이 없었지만 시스템을 이해하고 나니 매우 대단한 서비스라 생각이 들었습니다. 막강한 기술을 제공하는데 비용은 전부 무료기 때문이죠. GA는 다양한 목표를 설정하여 획득에 대한 보고서를 확인할 수 있으며, 전자상.. 2021. 10. 4. 19:58
Posts/JavaScript Javascript 알아두면 좋은 개념 요약 드림코딩 엘리 강좌를 보며 유용한 것들에 대해 정리한 내용입니다. API or Document를 읽고 보는 습관을 만들기 👍🏻 1. read API // Ex // 2개의 파라미터 (첫번째 callback 함수, thisArg? -> ?는 파라미터를 선택적으로 지정 가능) // 이해가 잘 안될땐 console.log로 파라미터 확인하기 forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg ?: any): void; 2. parameters Premitive parameters : passed by value Object parameters : passed by reference default parameters : undef.. 2021. 10. 4. 19:55