공학/정보성

    Istio 인증/인가

    주저리 microservice! microservice는 작디작은 서비스다. 그리고 Microservice Architecture(MSA)는 microservice 집합으로 어플리케이션을 이룬다. From Monolith application to Microservice application 한편 현존하는 과반수의 앱의 구조는 MSA와는 거리가 멀 것이다. (우리 회사 포함) 대대적인 개편의 바람이 불어올 때 그제서야 MSA를 차용할 거란 말이다. 한편 MSA 적용은 마치 18세기 유럽의 산업 혁명의 모습과 비슷하다. 아래와 같은 점에서 말이다. 새로운 도구의 활용 (Docker, Kubernetes, Istio, Argo 등) 새로운 분업 체계 (bounded context) 따라서 MSA의 적용은 단..

    Windows kubectl alias 설정

    제발 K8s는 맥으로 개발하세요..! Windows로 K8s 하려니까 복장이 터집니다. kubectl alias 설정하는 것조차 쉽지가 않습니다. 하지만 어쩌겠습니까! 회사에서는 Windows를 써야하는 것을... (ㅠ.ㅠ) 기꺼운 마음으로 Windows 환경에 적응해봅시다. kubectl alias 설정 방법 1. PowerShell 관리자 권한 실행 PowerShell 관리자 권한 실행 꼭 '관리자 권한'으로 실행하세요. 2. PowerShell 실행 제한 해제 PS C:\Windows\system32> Set-ExecutionPolicy Unrestricted 실행 규칙 변경 실행 정책은 신뢰하지 않는 스크립트로부터 사용자를 보호합니다. 실행 정책을 변경하면 about_Execution_Polici..

    코딩 컨벤션: 예시로 알아보자!

    코딩 컨벤션의 필요성 '코딩 컨벤션'이란 코드 작성 방식에 대한 약속이자 규칙입니다. 코딩 컨벤션은 왜 필요할까요? 제가 생각하는 코딩 컨벤션의 이점은 '일관성' 또는 '안정성' 측면입니다. 사람들은 저마다 생각이 다르고, 생각이 다르니 행동도 다릅니다. 마찬가지로 개인별로 결과물(코딩)의 편차가 존재합니다. 예컨대 김 대리는 VS Code으로 탭(tab) 두 칸 들여쓰기 하고, 박 사원은 웹 스톰으로 스페이스 바 두 칸 들여쓰기 합니다. 왠걸 이 과장 님은 Vim으로 네 칸 들여쓰기를 하고 계시네요? 이러한 기반에서는 결과물의 일관성을 지키기 어렵습니다. 일관성 없음은 곧 혼란으로 이어집니다. 혼란은 곧 무질서 상태를 만들 것이구요. 그래서 우리는 약속이 필요합니다. 코딩 컨벤션이라는 약속이요! 예시로..

    node 프로젝트 라이브러리 버전 관리법

    개인적으로 node 기반의 프로젝트 경험은 즐겁다. 즐거운 이유는 재미가 있기 때문이 아닐까? 이것저것 모듈을 가져다가 쓰는 쏠쏠한 재미가 말이다. 하지만 가져다 쓴만큼의 책임을 필요로 한다. node 생태계는 변화 무쌍하다. 이말인 즉슨 라이브러리의 변화 또한 그렇다는 것이다. 프로젝트의 진행 속도는 결코 종속성들의 진화 속도를 앞서지를 못한다. 근데 잠깐 그냥 라이브러리 버전 픽스하면 안 되는 거냐고? 힙스터, 그것이 약속이니까. 라이브러리 버전 관리 // pacakge.json { "dependencies": { "axios": "^0.19.2", "core-js": "^3.6.4", "vue": "^2.6.11", "vue-router": "^3.1.5", "vuex": "^3.1.2" }, "d..

    자바스크립트 클로저(closure)

    클로저(closure)란? 함수 객체가 외부 함수에 대한 활성 객체(activation object)의 참조를 갖는 방식을 일컫는다. 활성객체(activation object)는 무엇인가요? 활성객체는 숨겨진 데이터 구조다. 함수가 호출되면 활성객체(activation object)가 생성된다. 아래는 활성객체가 갖는 정보의 일부다. 함수 객체에 대한 참조 함수 매개변수 함수 변수 함수가 메소드로 호출 되었을 경우 사용되는 this 참조 다시 함수객체에 대하여 한편 앞서 언급한 함수객체는 두 가지 속성을 갖는다. 함수 실행 코드에 대한 참조 활성 객체에 대한 참조 눈여겨 볼 것은 함수 객체의 두 번째 속성이다. 함수는 중첩될 수 있다. 자바스크립트의 함수는 중첩될 수 있다. 그리고 중첩 함수의 객체는 자..

    오라클 끄기 / 켜기

    개발을 하다 보면 컴퓨터가 느려지곤 합니다. 개발 환경 구축 시에 이것저것 설치하기 때문입니다. 프로세스가 메모리를 왕창 잡아먹거든요. (참고로 금융 거래를 해도 컴은 금방 맛이 가버려요. ahnlab safe, wizvera veraport, delfino... 끔-찍) 개발 환경 중에서 데이터베이스는 특히 메모리를 왕창 잡아먹습니다. mysql은 170MB 정도로 가벼운 편이지만, oracle은 500MB까지 올라가더라구요. 저는 램 4GB 조선컴을 쓰기 때문에 1MB라도 절약해야 합니다. 그러니 안 쓸 때는 DB를 끄려구요. 요컨대 이 글의 요지는 메모리 절약입니다. 오라클 끄기 오라클을 끄는 법은 간단합니다. 명령 프롬프트를 켭니다. 그리고 아래와 같이 입력합니다. $ sqlplus $ conn ..