-
[nginx] upstream sent too big header while reading response header from upstreamIT Tech/찍어먹는 IT 2021. 8. 17. 18:23
레거시 프로젝트를 다루던 중, 502 Gateway에러를 마주하였다. /var/log/nginx 에서 tail -f error.log로 추적해보았다. 도커 컨테이너 환경에서만 다음과 같은 오류가 있다는 것을 발견했다. 왜이럴까.. 레거시 프로젝트에 필요한 자료들을 분석한 뒤, 로컬 개발 환경을 구성하여 돌렸을 땐 다음과 같은 502 오류가 발생하지는 않았다. 주말을 포함하여 몇 일을 고민해보았는데, 구글링을 통해 어느정도 힌트를 찾을 수 있었다. 구글링을 통해 다음 참고 자료를 통해서, 이분은 라라벨 환경에서 502 관련 에러가 발생이 되었다고 한다. https://dev.jaedong.kim/nginx-upstream-sent-too-big-header-while-reading-response-head..
-
[Github] Arctic Code Vault ContibutorIT Tech/찍어먹는 IT 2021. 7. 28. 00:07
오늘인진 모르겠는데 Git 계정에 뭐가 추가가 되었다. 이런 뱃지 비슷한게 달렸다. 딱히 별로 한거 없긴한데 왜 달렸는지 의문이다. 사이트에서 확인해보니까 특정 시기에 코드를 커밋했던 사람들은 아카이브 대상, 별이 최소 1개이상 있고 특정 시기에 커밋이 된 레포지토리, 별이 250개 이상이 있는 레포지토리가 아카이브 대상 레포지토리들이 스냅샷 대상이다. 이 오픈소스 프로젝트들은 북극에다가 아카이브가 되어 박제가 된다고 한다.ㅋㅋㅋㅋㅋㅋ 1000년 이상 보관이 가능하다고 하니까.. 꽤 나름 뭔가 의미가 있는 것 같기도... '미래세대를 위한 오픈소스 프로젝트 보존' 스냅샷에는 '릴'이라는 필름이 사용이 되었다고 하고, Piql이라는 데이터 저장 회사와 탄광 기업인 Store Norske Spitsberge..
-
[SpringBoot] 스프링부트 2.5.2 설치IT Tech/찍어먹는 IT 2021. 7. 11. 12:50
김영한 무료강의 https://start.spring.io/ IntelliJ 설치 및 Git 연동 파일구조 확인 처음 실행된다면 Gradle이 여러 기본 라이브러리들을 다운받기 때문에 시간이 꽤나 걸린다고 함. package geol.ProjectS; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ProjectSApplication { public static void main(String[] args) { SpringApplication.run(ProjectSApplicat..
-
코드 리뷰IT Tech/찍어먹는 IT 2021. 3. 23. 10:14
CodeReview 에 대해서 아키텍처의 중요성 시장과 비즈니스는 요구사항은 휘발성이며 모호하고 혼란스럽다. 비즈니스 혁신은 더더욱 가속화되고 있으므로 그에 맞는 속도가 필요함. 결국, 소프트웨어 개발은 더 빠르고 더 자주 더 안정적으로 개발되어야 함. 릴리즈 수가 증가함에 따라 개발자의 수는 기하급수적으로 늘어나게 된다. 계속되는 릴리즈마다 코드의 생산량(LOC)은 점점 떨어지게 된다. 릴리즈 수가 증가함에 따라 개발비용 또한 기하급수적으로 늘어나게 된다. 클린 코드, 좋은 설계, 아키텍처의 주의를 기울여야 함. 기능이 동작만 하면 개선없이 다음 기능 구현으로 넘어감. 기능 변경은 복붙 및 일부 수정 ... 향후 수정 시 문제 공유 부족으로 인한 소수 개발인력 의존도가 높아짐 Big Ball of Mu..
-
[Laravel] 라라벨 8.x 설치IT Tech/찍어먹는 IT 2020. 11. 10. 02:59
서버 요구사항 라라벨은 인스톨을 하기위한 몇 가지 필요사항이 존재함. 로컬 개발 환경에서는 라라벨 홈스테드를 사용하기를 권장하고, 홈스테드를 사용하지 않는 경우 아래와 같은 필요사항이 존재함. PHP >= 7.3 BCMath PHP Extension Ctype PHP Extension Fileinfo PHP extension JSON PHP Extension Mbstring PHP Extension OpenSSL PHP Extension PDO PHP Extension Tokenizer PHP Extension XML PHP Extension 라라벨 설치하기 라라벨 인스톨러 사용 라라벨은 의존성을 관리하기 위해 컴포저라는 것을 사용함. 먼저, 컴포저를 사용해서 라라벨을 설치를 하면 됨. composer ..
-
[Docker] 도커(Docker) 란?IT Tech/찍어먹는 IT 2020. 10. 31. 01:57
도커 : 개발자와 시스템 관리자가 컨테이너와 어플리케이션을 구축, 실행 및 공유할 수 있는 플랫폼. 컨테이너화 어플리케이션을 배포하기 위해 컨테이너(도커 이미지)를 사용하는 것. 도커에서 말하는 컨테이너란? 어플리케이션을 쉽게 배포하기 위한 작업. 호스트 및 다른 컨테이너에서 격리되도록 유지하기 위해 추가 캡슐화 기능이 적용된 실행 프로세스. 도커의 개념. 유연성: 가장 복잡한 응용 프로그램도 컨테이너화할 수 있다. 경량성: 컨테이너는 호스트 커널을 활용하고 공유하여 가상 컴퓨터보다 시스템 리소스 측면에서 훨씬 효율적으로 만듭니다. 휴대성: 로컬로 구축하거나 클라우드에 배포할 수 있고, 어디든 실행할 수 있습니다. 느슨한 결합성: 컨테이너는 매우 자가적이고 캡슐화되어 있어 다른 컨테이너를 방해하지 않고 ..
-
[OpenCV] OpenCV 윈도우 개발 환경 및 예제IT Tech/찍어먹는 IT 2020. 10. 2. 19:07
준비 - 필요한 파일을 다운로드 VS ( Visual Studio ) - https://visualstudio.microsoft.com/ko/ Visual Studio IDE, 코드 편집기, Azure DevOps 및 App Center - Visual Studio Visual Studio dev tools & services make app development easy for any platform & language. Try our Mac & Windows code editor, IDE, or Azure DevOps for free. visualstudio.microsoft.com 비주얼 코드 말고 비주얼 스튜디오로 하자 비주얼 코드 쓰기가 어렵다 왠만하면 다 있을 것 같긴함 OpenCV 4.4 -..
-
[ReactJS] Component Life Cycle methodIT Tech/찍어먹는 IT 2020. 9. 29. 14:22
ReactJS 는 컴포넌트 기반의 프레임워크이며 클래스들은 상속보단 합성이 되어 사용이 된다 컴포넌트엔 라이프 사이클 메소드들이 존재하며 React에서 기본적으로 제공되는 함수들이 존재한다 컴포넌트가 DOM 상에 들어갈 때 Mounting 이라고 하는데 순서대로 사용되는 함수들이 있다. 대표적으로 Mounting contruntor() : 자바스크립트에 해당되는 부분이라 봐도 되며, 생성자라 가장 먼저 초기화된다 static getDrivedStateFromProps() : 자주 사용하지 않다고 하나, 컴포넌트가 업데이트 될 때 사용이 되는 함수 render() : 실질적으로 뷰에 해당되는 부분이며, html 코드 삽입을 해주는 부분이다 componentDidMonut() : 렌더링된 직후에 호출되는 부..