Programming 89

(Go) Go 개발환경 세팅

Windows 개발환경에 세팅하는 방법이다. 1. Go SDK다운로드 https://go.dev/dl/ 2. 환경변수 GOPATH 세팅 3. 개발폴더 정하기 개발폴더를 정하고 바탕화면에 바로가기를 만들어 놓는다. (선택) 4. VSCode를 설치 https://code.visualstudio.com/docs/?dv=win Documentation for Visual Studio Code Find out how to set-up and get the most from Visual Studio Code. Optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on..

Programming/기타 2022.03.29

(아키텍처) 현대적 어플리케이션 구축을 위한 Outer아키텍처 시 고려할 점

원문 : https://www.cncf.io/blog/2022/03/15/cluster-out-a-design-approach-to-building-modern-apps/ Cluster out: A design approach to building modern apps | Cloud Native Computing Foundation Guest post by Rob Whiteley, Vice President and General Manager of the NGINX Product Group at F5 This past August at NGINX Sprint 2.0, I discussed the patterns we see customers adopt to successfully… www.cncf.io ..

Programming/MSA 2022.03.16

(JAVA) Gradle Build의 이해

Gradle 이란? Gradle은 Maven을 대체하는 빌드 도구입니다. Grooby 기반의 DSL(Domain Specific Language)를 사용합니다. 스프링 부트, 안드로이드 스튜디오에서는 Gradle을 사용되고 있습니다 Ant vs Maven vs Gradle [1] Ant Ant의 가장 큰 장점은 개발자가 자유롭게 빌드 단위(target)을 지정하고 빌드 단위간의 의존관계를 자유롭게 설정할 수 있다는 것입니다. 하지만 자유도가 높다는 것은 잘 활용할 경우 좋은 도구가 될 수 있지만, 잘 활용하지 못하면 그렇지 않을 수도 있습니다. [2] Maven ​ Maven의 가장 큰 장점은 Convention Over Configuration 전략에 따라 프로젝트 빌드 과정에 대한 많은 부분이 이미 ..

Programming/Java 2022.03.02

(JAVA) SpringBatch 사용을 위한 예제

전자정부 Spring Batch로 좋은 사용례를 보여주신 jydlove님께 감사드린다. 다만 해당 포스팅이 오래되다 보니 POM이 업데이트가 좀 필요했다. 그래서 재정비하고 아래에 포스팅 하였으니 참고하기 바란다. 출처 : https://jydlove.tistory.com/4?category=836164 개발 환경 설정 개발예제를 시작하기전에 프로젝트 설정에 필요한 내용을 정리해보자 전자정부프레임워크 메이븐 로컬 레파지토리 등록하기 메이븐 프로젝트 생성 후 pom.xml 설정하기 데이터 베이스 설치 1.로 jydlove.tistory.com 전자정부프레임워크 Spring Batch Guide https://github.com/eGovFrame/egovframework.rte.root/tree/master..

Programming/Java 2022.02.05

(JAVA, Gitlab) Git Submodule을 사용하여 멀티프로젝트를 진행해보자

Submodule을 가지는 프로젝트 구조의 장점 시스템 개발의 단위(형상)를 분리하여 빌드 및 배포가 용이하고, 모듈별로 레포지토리가 생겨 프로젝트별로 추적이 용이하다는 장점이 있다. Submodule 구조를 위한 Gitlab Repository 생성 및 Client 작업 Main, Sub 레파지토리 만들기 Main Project Repo https://myrepo.gitlab.com/mainproject.git 부모프로젝트로써 Domain의 시작. 전체 모듈의 구조 정의 Common Project Repo https://myrepo.gitlab.com/commonproject.git Sub Project 중 하나로 대부분 모듈에서 사용되는 것들의 집합. 얇은 의존성을 위해 프로젝트 내 기타모듈 참조 없..

Programming/Java 2022.01.21

(SpringFrameWork) Dependency 오류 시 봐야할것. dependencies could not be resolved

늘 사용하던 환경이 아닌 새로운 환경에서 SpringFramework 세팅을 하다보면 여러 난관에 봉착한다. 회사마다 특정 Private Nexus Central Repository에 연동하는 경우도 많고 보안적인 이유때문에 인증서관련 네트워크 문제도 있다. 이럴때 우선 하나하나 체크해가며 확인해보자. 참고로 Maven Build를 기준하여 설명한다. [Run As]-[Maven Clean]을 하고 [Maven Build]를 하자. 만약 Dependency문제가 있으면 'dependencies could not be resolved...' 라고 뜰것이다. 1. Maven settings.xml 확인 ~/maven/conf/settings.xml 을 에디터로 열어 Central Repository가 어디인..

Programming/Java 2022.01.20

(Python) Pytest로 Unit-test 구현하기

소스 다운로드 : https://github.com/armyost/miniterWithPytest.git armyost/miniterWithPytest This is frame of twitter back-end. Sign-up, Login with JWT, Follow, Unfollow, tweet. And it has pytest also(/test). MVC model project - armyost/miniterWithPytest github.com unit test는 UI test 나 integration test처럼 시스템을 실제로 실행하여 테스트를 진행하는 방식과는 많이 다르다. unit test는 코드를 테스트하는 개념이다. 우선 가상환경에서 pip로 pytest 모듈을 설치하자. pip ..

Programming/Python 2021.05.31

(Python) 트위터 메인프레임만들기

소스 다운로드 : https://github.com/armyost/miniterWithPytest.git armyost/miniter flask를 사용한 백엔드 1. Contribute to armyost/miniter development by creating an account on GitHub. github.com app.py를 실행시키면 완성본이 실행됩니다. 기능은 회원가입, 팔로우/언팔로우, 트윗, 타임라인 입니다. Python에서 Contoller는 다음과 같이 구현됩니다. @app.route("/signup",method=['POST']) def signup(): // 함수정의 Flask가 받은 Json을 파싱하여 사용하는 것은 간단하다. @app.route("/signup",method=[..

Programming/Python 2021.05.04

깔끔한 파이썬 탄탄한 백엔드 2. HTTP 구조와 이해 - 비제이퍼블릭

HTTP는 웹상에서 서로 다른 서버 간에 하이퍼텍스트 문서, 즉 HTML을 서로 주고받을 수 있도록 만들어진 프로토콜, 통신 규약이다. 웹상에서 네트워크를 통해 서버 사이에 통신할 때 어떠한 형식으로 서로 통신하자고 규정해 놓은 "통신 형식" 혹은 "통신 구조"라고 보면 된다. HTTP 통신 방식에는 2가지 특징이 있다. 하나는 HTTP의 요청과 응답 방식이고 또 다른 특징은 stateless다. HTTP 요청과 응답 먼저 HTTP 프로토콜에 대해서 이해해야 할 것은, HTTP는 기본적으로 요청과 응답의 구조로 되어 있다는 것이다. HTTP를 기반으로 통신할때 클라이언트가 먼저 HTTP 요청을 서버에 보내면 서버는 요청을 처리한 후 결과에 따른 HTTP응답을 클라이언트에게 보냄으로써 하나의 HTTP 통신..

Programming/Python 2021.05.02

깔끔한 파이썬 탄탄한 백엔드 1. 환경 설치 - 비제이퍼블릭

Flask Flask는 파이썬으로 웹 에플리케이션을 구현할 때 사용되는 프레임워크다. Flask의 홈페이지에 나온 공식적인 설명은 "micro web framework"이다. 즉 군더더기가 없는 아주 가벼운 웹 프레임워크라는 뜻이다. 파이썬 기반의 웹프레임워크에는 Flask 이외에도 Django등 다른 여러 웹 프레임워크가 있다. 하지만 다른 웹프레임워크들은 여러 모듈과 기능들을 제공하느라 프레임워크 자체가 무겁고, 학습곡선이 높을수 있는데 비해 Flask는 비교적 쉽게 배워서 사용할 수 있다. Flask 설치 Flask는 pip을 통해서 간단하게 설치할 수 있다. pip는 파이썬의 패키지 메니저다. pip를 사용하여 터미널 등의 커맨드라인 환경에서 간단하게 원한는 파이썬 패키지들을 설치할 수 있다. c..

Programming/Python 2021.05.02