본문 바로가기
반응형

Study64

[Server] APACHE와 NGINX의 특징과 차이 APACHE의 특징 Apache는 서버의 요청에 1:1로 프로세스 또는 쓰레드가 대응하는 방식 요청이 늘어날 수록 CPU와 메모리 사용량이 늘어남 프로세스가 Blocking 현상이 일어나면 요청을 처리하지 못하고 계속해서 대기하는 현상이 생김 ⇒이를 해결하기 위한 방법으로 Keep Alive를 사용. Keep Alive란 설정한 KeepAlive TimeOut 동안 접속을 끊지 않고 다음 접속을 기다리는것 즉, 한번 연결된 클라이언트와의 연결을 지속하고 있는다는 것 → Apache의 성능 향상 기대 but. 바쁜 서버 환경에서 KeepAlive On으로 설정해 놓을 경우, 모든 요청 마다 연결을 유지해야 하기 때문에 프로세스 수가 기하급수적으로 늘어나 MaxClient값을 초과 → Apache의 성능 저.. 2021. 8. 29.
[Design Pattern] 어댑터 패턴(Adapter Pattern) 어댑터 패턴이란? 어댑터를 다들 아실꺼라 생각한다. 어댑터는 기본적으로 이러한 친구들을 어댑터라 한다. 그렇다면 어댑터 패턴이란 무엇일까? 일반적으로 알고있는 어댑터와 비슷하다 생각하면 편할 듯 하다. 예시를 한번 들어보겠다. 비트코인 지갑을 컴퓨터에 연결할 수 있는 type-A의 USB에 저장해 놓았다. 그런데 나는 맥북밖에 없다;; 5분 뒤 비트코인이 반토막 날 것이라는 엄청난 비밀 정보를 들은 나는 지금 가격에 팔아야 하는데 지갑이 없으니 내가 비트코인을 가지고 있다는 것을 증명할 방법이 없다. 하지만 이를 가능하게 해줄 어댑터 라는 것이 있다. type-A의 USB를 type-C를 사용하는 맥북에 연결을 할 수 있게 해주는 위 사진의 어댑터 말이다. 정말 다행이다. 이렇게 실용적인 기기가 있다니!.. 2021. 8. 26.
[Design Pattern] 싱글톤 패턴(Singleton Pattern) with Golang 싱글톤 패턴이란? 싱글톤 패턴(Singleton Pattern)은 GoF가 정의한 23가지 디자인 패턴 중 생성 패턴에 속한다. 불필요한 객체의 생성을 없애고 단 한 번의 객체 생성으로 전역에서 효율적으로 객체를 사용할 수 있게 돕는 유용한 패턴이라 할 수 있다. 장점 한번의 객체 생성을 통해 그 객체를 재활용하기 때문에 불필요한 메모리를 사용하지 않는다. 처음 객체의 초기화 이후에는 따로 객체를 생성하지 않기에 읽어 들이는 시간이 크지 않다. 전역인 하나의 인스턴스를 사용함으로 써 객체의 데이터를 공유하기가 간편하다. 단점 멀티 쓰레드를 사용하는 작업을 진행할 시에 초기화가 여러 번 일어날 수 있다. 멀티 쓰레드를 사용하는 작업을 진행할 시에 데이터 수정에서 데이터 레이스가 일어날 수 있다. Go에서의.. 2021. 8. 26.
[Algorithm]BOJ_20056_마법사 상어와 파이어볼_Go 문제 링크 BOJ 20056 마법사 상어와 파이어볼 풀이 방법 어느정도 구현 문제에 대한 풀이방법을 깨우쳐 가는듯 하다. 다름이 아니라 해야할 것의 순서를 잘 지키는것.. \1. 맵의 필드에 하나 이상의 파이어 볼이 있을 경우 파이어 볼을 섞는다.(X) 이렇게 생각하는 순간 시간은 총알 같이 사라질것이다.. 모든 파이어 볼을 이동한다. 이동한 파이어 볼은 따로 모아둔다. 모든 이동한 파이어볼을 삭제한다. 모든 필드에 따로 모아둔 파이어볼이 있을 경우 파이어볼이 한 개 일 경우 파이어볼이 두 개 이상일 경우 조건에 맞게 조합한 후 따로 모아둔 필드에서 이동 할 파이어 볼 필드로 옮긴다. 따로 모아둔 파이어 볼을 삭제한다. package q20056 import ( "bufio" "fmt" "os" "str.. 2021. 8. 23.
[Git]Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 오잉 이게 뭐시야.. 간만에 맥 쫌 사용해보려 했더니 패스워드 인증을 지원하지 않는다고..? 그것도 고작 4일전부터?? 왜 나한테 이런 시련을 주십니까.. 공부 안 하고 합법적 다른 짓할 수밖에 없잖아요.. 어쩔 수 없지.. 해결법을 찾아 나서야지^^ 너무 빨리 찾아버린 해결책.. (지금 나는 맥을 사용하고 있다) 구글링을 통해 git이 id와 password를 한번 입력하면 키를 생성하여 그 키를 통해 매번 로그인 작업을 하지 않고 간편하게 데이터를 주고받는다는 것을 알게 됐다. 우리는 이 '키'를 수정해.. 2021. 8. 17.
[블록체인] UTXO란? 서론 현재 Go를 빠르게 익히기 위해 평소 관심만 가져왔던 Block Chain과 연계된 클론 코딩 강의를 듣고있다. 클론 코딩이라고 단순히 코드를 따라 쓰는 프로젝트에서 멈추지 않기위해 프로젝트 중 Go의 활용법이나 Block Chain기술들을 포스팅 하려 한다. 그리고 이 프로젝트로 Go와 Block Chain을 열심히 공부하여 Go를 통해 제작한 Block Chain의 원리를 간단히 알 수 있는 페이지도 만들어 볼 예정이다. 즐겁게 니콜라스의 강의를 들으며 블록체인을 만들어 가던 중 첫번째 벽에 부딪혔다. UTXO모델을 통해 유저간 트랜젝션을 기록하는 곳이 그 첫번째 벽이다. UTXO모델을 이해하지 못한다면 이후의 강의는 단순히 코드를 따라 치는 강의로만 남을 것 같아 이렇게 UTXO모델을 따로 공.. 2021. 8. 14.
반응형