Nov 18, 2019 - gitignore 와 git commit 제외

회사에서 git에서 import 받은 설정파일에 DB관련 접속정보를 local 에서는 select 권한만 받습니다. 각각 개인이 관리하고 보호를 위해, 해당 datasource 를 .gitignore에 예외를 추가하였지만, 이미 사람들의 실수로 인해 push 된 이력들이 많아졌습니다.

그로 인해, git이 수정여부를 여전히 체크를 하여 실수로 commit 및 push가 이루어지고 있었습니다.

한번이라도 버전 관리에 들어갔다면 단순하게 gitignore에 등록한다고 그때부터 버전 관리를 안하는건 아니고, 기존에 버전관리 했던 내역을 삭제해주어야합니다.

git update-index --assume-unchanged [file path]

형태로 처리하고 있었으나, 지속적으로 문제가 발생하여, 그럴 경우마다 전부 –assume를 풀었다가 넣었다가 해야하는 문제가 발생하여 아예 캐시를 삭제하도록 하였습니다.

git rm --cached [file path]

이후에 add, commit, push 등을 테스트하면, gitignore가 정상 적용되어있는것을 확인할 수 있었습니다.

Sep 30, 2019 - 프로그래밍 원칙

– 면접봤던 질문 내용에 대해 간략하게 정리합니다.–

SOLID (객체 지향 설계)

두문자 약어 개념 설명
S SRP 단일 책임 원칙 (Single responsibility principle) 한 클래스는 하나의 책임만 가져야 함.
O OCP 개방-폐쇄 원칙 (Open/closed principle) 소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 함
L LSP 리스코프 치환 원칙 (Liskov substitution principle) 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야함.
I ISP 인터페이스 분리 원칙 (Interface segregation principle) 특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 나음.
D DIP 의존관계 역전 원칙 (Dependency inversion principle) 프로그래머는 추상화에 의존해야지, 구체화에 의존하면 안됨

YAGNI

You aren’t gonna need it

Sep 30, 2019 - GA 인식코드 설정

-에버노트에 정리했던 내용을 옮깁니다.-

  • 기본 적인 GA 코드값
1. utm_source : 유입소스명 (예: facebook, naver)
2. utm_medium : 매체유형 (예: social, email, cpc, display)
3. utm_campaign : 캠페인명 (예: 1월 쿠폰 프로모션)
4. utm_term : 키워드 (예: 화장품 (검색광고 키워드))
5. utm_content : 소재명 또는 기타 메모 (예: 모델있음, 모델없음)
  1. 랜딩 후 결과 URL에서 GA 인식코드 값이 정상적으로 존재하는지 확인을 해야합니다.

정상적인 랜딩 예시

http://haetbitkim.cafe24.com/?utm_source=mobon&utm_medium=banner&utm_campaign=HU&utm_term=PC&utm_content=first

잘못된 랜딩 예시(인코딩된 값)

http://haetbitkim.cafe24.com/?utm_source=mobon%26utm_medium=banner%26utm_campaign=HU%26utm_term=PC%26utm_content=first
  1. 랜딩 후 페이지 리다이렉트가 이뤄지는 확인
    사용자가 페이지에 완전히 도달하기 전에 리다이렉트 된다면 다시 ‘direct/none’으로 분류됩니다. 랜딩된 페이지가 바뀌지 않고 GA 인식코드 값이 존재하는지 확인
http://haetbitkim.cafe24.com/?utm_source=mobon&utm_medium=banner&utm_campaign=HU&utm_term=PC&utm_content=first