전체 글 586

[Nginx] 리버스 프록시로 사용하기 (백업 서버 설정, 로드 밸런싱)

Upstream Nginx를 리버스 프록시로 이용하기 위해서는 nginx의 내장 모듈 중의 하나인 upstream 모듈을 사용하면 된다. upstream 모듈은 proxy_pass등의 지시자에 의해 참조되며 nginx가 받은 요청들을 처리할 서버의 집합을 정의할 수 있다. *리버스 프록시가 무엇인가요? 가정 lou-server1.com, lou-server-2.com, lou-server-3.com이라는 3개의 서버에 각각 웹 애플리케이션이 동작하고 있다고 가정한다. upstream 지시자 바로 뒤의 'backend' 부분은 서버 집합의 그룹명이다. 나중에 proxy_pass에서 이 이름을 가지고 참조 할 수 있다. upstream 블록안에는 현재 동작중인 서버 목록이 들어가게 된다. server 지시자..

DOMContentLoaded와 jQuery document.ready()의 중요한 차이점

포스팅을 보다보면 javascript의 DOMContentLoaded와 jQuery의 ready()가 동일하다고 설명되어있다. 결론부터 말하자면, 동일한 시점에 Trigger되는 것은 맞지만 이들의 작동방식에는 중요한 차이점이 있다. document.addEventListeners('DOMContentLoaded', function () {}) $(document).ready(function () {}) DOM이 준비되어 조작해도 되는 상태가 되면, ready()나 DOMContentLoaded가 호출 된다. 하지만 DOMContentLoaded의 경우 addListener를 한 시점이 이미 이벤트가 일어난 시점(DOM이 준비되어버린)인 경우에는 호출되지 않는다. 반면에, ready()의 경우에는 이미 ..

Ngnix의 개념과 작동방식 정리 (feat. Apache)

Nginx의 등장 배경: Apache 의 문제점 Apache 웹 서버에 대해서 들어본적이 있는가? 아주 어렸을때부터 수차례...(게임에 관심이 많았던 건지) 아파치 톰캣 서버 어쩌고 저쩌고를 많이 본 기억이있다. Apache는 Nginx의 등장 전 까지 가장 널리 쓰이던 웹 서버다. 웹 서버는 World Wide Web에서 만들어진 클라이언트 요청을 서비스하기위해 HTTP나 그 이외의 프로토콜(HTTPS/SMTP/FTP...)을 사용하는 SW/HW다. 하드웨어로서의 웹 서버는 웹 서버가 설치되어있는 컴퓨터를 의미하며, 소프트웨어로서의 웹 서버는 앞서말한 기능을 제공하는 컴퓨터 프로그램을 말한다. Apache, Nginx, IIS 등이 있다. 대부분은 웹 페이지 컨텐츠를 제공하는 역할을 한다. Nginx는..

[Okhttp3] Expected URL scheme 'http' or 'https' but no colon was found 해결방법

Fatal Exception: java.lang.IllegalArgumentException Expected URL scheme 'http' or 'https' but no colon was found okhttp3.HttpUrl$Builder.parse$okhttp (HttpUrl.java:1260) okhttp3.HttpUrl$Companion.get (HttpUrl.java:1633) okhttp3.Request$Builder.url (Request.java:184) okhttp3.Cache$Entry.response (Cache.java:641) okhttp3.Cache.get$okhttp (Cache.java:183) okhttp3.internal.cache.CacheInterceptor.int..

맥에서 ANSI 인코딩 txt 파일 읽는 간단한 해결법

Windows에서 ANSI 인코딩으로 저장된 메모장 txt 파일을 맥에서 읽어들이려하면 다음과 같은 문구가 뜨면서 열리지 않을 것이다. 문서 ~을(를) 열 수 없습니다. 유니코드 (UTF-8) 텍스트 인코딩이 적용되지 않습니다. 파일이 다른 텍스트 인코딩을 사용하여 저장되었거나, 텍스트 파일이 아닐 수 있습니다. 해결방법은...간단하다. 크롬 브라우저를 열어서 해당 txt 파일을 끌어다 놓으면 파일이 열린다. ㅋㅋㅋ 그대로 글자를 긁어서 저장하면 완성! Converter같은걸 찾고 있었는데...너무 어렵게 생각한듯 하다.

[마인크래프트] server.properties 속성 총 정리

server.properties 파일에 대한 간략 설명 server.properties는 마인크래프트 서버 옵션을 설정할 수 있는 파일이다. 메모장, VS code등 일반적인 텍스트 에디터로 수정가능하다. 키와 값의 쌍으로 이루어져있으며 등호 뒤의 내용을 바꿈으로서 값을 바꿀 수 있다. allow-flight=true를 allow-flight=false 이렇게 말이다. 또한 #으로 주석처리를 할 수 있어서 메모하거나 백업용으로 쓸 수 있다. 아래는 그 예시. #max-players=999 max-players=20 # 복돌체크를 끈다. online-mode=false 변경 후 적용방법 서버 실행중에도 변경가능하며, 서버 재시작 또는 /reload 명령어를 통해서 바뀐 내용을 적용 시킬 수 있다. 속성들 ..

[안드로이드] Koin에서 Hilt로, Hilt 배워보기

단지 쉽다는 이유만으로 Koin 라이브러리를 사용하고 있었는데 최근 앱의 리팩토링 고민을 하면서, 다른 프로젝트 코드들을 읽어보다가 내가 Hilt에 대해서 너무 모르는거 아닌가라는 생각이 들었다. 참고자료에 있는 Droid Knights 2020 영상에 따르면 상위 10,000개의 안드로이드 앱 중 74%가 Dagger를 사용하고 있다고 한다... github에 올라온 많은 프로젝트들도 Dagger/Hilt를 사용하고있으니 이번기회에 확실히 짚고 넘어가면 좋을 것 같다. Koin의 특징 Koin은 확실히 쉽다. Hilt가 쉬워졌다고 하지만 Koin급은 아니다. 그리고 어노테이션을 사용하지 않고 Stub 파일을 만들지 않기 때문에 빌드 시간이 빠르다. 하지만 런타임에 바이트 코드를 생성하기 때문에 Hilt..

[잠실 아쿠아가든] 비주얼 깡패 - 오징어먹물 감태스콘

잠실 롯데몰 아쿠아가든은 물생활에 관심이있는 분들이라면 꼭꼭 가보면 좋은 카페다. 해수어는 없지만 열대어, 금붕어, 거북이, 민물고기들, 베타까지 다양한 종이 사는 수조가 수십개씩있다. 몇백만원을 호가하는 디자인된 수조들도 많아서 이쪽에관심이 잇으신분들도 참고하기 좋다. 일어서서 돌아다니며 수조만 구경해도 30분은 걸리는거같다 ㅋㅋㅋ 하지만 오늘 리뷰하고 싶은 것은 오징어 먹물 감태스콘 메뉴다. 방금 어항에서 꺼낸 것같은 비주얼때문에 딱 봐도 아! 이곳의 시그니쳐 메뉴구나! 생각이 들어서 시켜보았다. 돌처럼 생긴 것은 오징어 먹물 스콘 소스는 명란마요, 가장 위에올린 것은 감태다. 원래 음식은 눈으로 한번 코로 한 앜! 물고기 사료냄새 플래티를 키울때 주던 팰릿형 물고기 사료냄새가 난다. 그냥 다른 장소..

나/리뷰 2021.09.26

Nothing ear (1) 투명 이어폰 : 남이 산거 빌려 써 본 후기

오랜만에 테크~리뷰다. 여태까지 자랑할만한걸...못샀는데 이번에도 내가 산 건 아니지만 이걸 사신 분이 빌려주셔서 리뷰를 써본다..ㅋㅋㅋ 내가보는 유튜버 MKBHD / Dave Lee가 갑자기 이어폰 리뷰를 해서 알게되었는데, 보이는 것 처럼...이쁜걸로 화제가 되었다. 회로판이 보이는 파격적인 투명 마감처리, 빨간색 포인트로 심심하지 않은 느낌까지..디자인이 아주 완벽하다....캬.... 힙스터~아이폰 감성이라 이 이어폰의 라이벌은 에어팟라인이다. 하지만 가격은 단돈 $99. 한화로 119,000원인데 에어팟과 싸우기 아주 좋은 가격이다. 무신사에서 (들리는 소문에의하면) 50대 한정판매를 했다고 한다. 약 1분만에 매진! 외관 알아보기 USB-C 요즘 나오는 이어폰 답게 USB-C 포트로 충전 가능하..

나/리뷰 2021.09.23

[무료] GCP (Google Cloud Platform)으로 마인크래프트 서버 여는 법

Step 1 구글 로그인 하기 먼저 구글 로그인을 해주세요! 저는 loki24park이라는 구글 아이디로 시작 해보겠습니다. 로그인 후 https://console.cloud.google.com 으로 이동하셔서 아래와 같이 무료 평가판을 사용할 수 있는지 확인 해 주세요. 아래 사진처럼 무료 평가판을 사용할 수 있는지 확인하세요. (안되면 다른 구글아이디로 Gogo~) Step2 동의하기 아래 사진과 같은 다이얼로그가 뜰텐데 대충 체크체크하고 넘어갑니다. 그리고 무료 평가판 배너 우측 활성화를 눌러줍니다. Step3 결제 정보 등록하기 결제 정보를 등록해야합니다. 유료 계정으로 직접 업그레이드 하지 않는 이상 요금이 청구되지 않는다고 하지만 조심하면 좋죠~ 자연스럽게 3단계를 채워주세요. 카드번호까지 입..