GitHub

https://github.com/Backcoder-June

BackCoder 기록 그리고 숙달

전체 글 171

Git 추가 정리 fetch / log --oneline --all / windows 자격증명

[ git clone ] git clone 주소.git => 최상위폴더 만들어지고 그안에 clone git clone 주소.git . => 현재 디렉에 바로 clone [ fetch / pull ] : version 이 update 되어서 달라졌을 때, 바로 pull 땡기는게 아니라 fetch 를 먼저 땡겨봐야 한다. git fetch origin master => git log --oneline --all : (HEAD - MASTER) => 로컬의 version : (origin/master/HEAD ) => gitHub에서의 version => fetch 를 먼저 땡겨서, 현재 로컬의 버전과, hub 의 버전을 확인을 먼저 하고 이후에 pull 로 땡겨서 사용하자 [ branch ] branch 에..

Git and GitHub 2023.01.11

객체지향 활용하기

[ Object Oriented Programming 활용하기 ] [ 은닉화 ] 특히나 Entity 필드 값에 private 접근제어자를 걸어서 숨겨두고, 직접 조작할 수 없게 할 수 있다. => public 메소드로만 접근하도록 설계 => private 변수들은 은닉화됨 ( final 과 같이 사용 ) [ 캡슐화 ] 논리적 순서에 따라 실행되는 단계별 메소드들을 묶어서 '캡슐화' 해서 사용할 수 있다. 메소드 안에 메소드 넣어서 연계해서 사용 => 순서를 정해두고 사용할 수 있다. [ 상속 ] 자식 생성자는 super() 을 기본값으로 해서 부모 생성자를 먼저 실행시킴 부모생성자 실행 => 자식생성자 실행 @Override public void dance() { super.dance(); wink();..

Back to the Java 2023.01.10

[ eGov ] Mysql 연동, Mybatis 설정

버전문제 3.10 버전 환경이기 때문에 ( 2021 release ) 기본적으로 JDK 1.8 버전과 호환됩니다. 저는 기존의 프로젝트를 진행하며 Java 11 버전을 사용중이었는데 3.10 버전에서 Java11 을 사용할 수 있는가 하는 질문에 대해 eGov 공식사이트에 답변 맥락은 '사용은 가능할 것이나 버전문제 있는 부분들이 있을 수 있다. JDK1.8 버전과의 Test 만 완료된 상태이다.' 였습니다. ( 진행중이던 프로젝트가 있어 Java11 버전으로 eGov 3.10 환경을 이용해 보았습니다. 자잘자잘한 버전문제들이 발생하는 것 같습니다. 프로젝트를 진행한다면 버전일치는 꼭 해두는게 좋을 것 같습니다. ) MySQL 연동 1. dbcp 버전 => Jdk 1.8 필요 commons-dbcp 를 ..

[ eGov ] 전자정부 프레임워크 환경 설정, xml 설정

전자정부 프레임워크의 기반은 Spring 이고, IDE 는 eclipse 를 기반으로 하고있어서 초기 설정과정은 비슷한 부분이 많습니다. 초기 기초적인 설정순서와 xml 기본 설정, Spring 과의 차이점을 정리해보았습니다. 1. 설치 https://www.egovframe.go.kr/home/main.do 표준프레임워크 포털 eGovFrame 본문 내용 바로가기 대메뉴 바로가기 소개 구성 구성상세 버전별 구성 오픈소스 SW 현황 아키텍쳐 라이선스 적용사례 추진성과 기술지원내역 컨트리뷰션 센터소개 지원서비스 적용지원 서비스 www.egovframe.go.kr 공식 사이트의 실행환경 / 개발환경 / 운영환경 등의 다운로드 목록 중, IDE 설치는 개발환경 에서 가능합니다. 4.X 대 버전은 아직은 많이 ..

[ eGovFrame ] 전자정부 프레임워크

전자정부 프레임워크는 공공사업 개발프레임워크의 표준으로, 국가에서 공공기관 웹 프로젝트 제작 시 사용될 수 있도록 요구되고 있으며, 지속적으로 국내에서 활발하게 사용되어오고 있습니다. - “전자정부 표준프레임워크”는 공공사업에 적용되는 개발프레임워크의 표준 정립으로 응용 SW 표준화, 품질 및 재 사용성 향상을 목표로 합니다. - 정보시스템을 개발하거나 운영할 때 필요한 기본 기능을 미리 구현한 것으로 이를 기반으로 추가 기능을 개발하여 조립함으로써 전체 정보시스템을 완성할 수 있습니다. - Java 기반의 정보시스템 구축에 활용하실 수 있는 개발·운영 표준 환경을 제공하기 위한 것입니다. - 출처 : 전자정부 프레임워크 공식 홈 전자정부 프레임워크는 기본적으로 Spring Framework 를 기반으로..

[ Docker ] Spring 프로젝트 컨테이너+ MySQL 컨테이너 연동하기

Docker 에서 각 컨테이너들은 독립적인 상태로 존재합니다. MySQL을 이미지로 가져오고 docker pull mysql 그냥 Mysql 컨테이너를 생성하면 docker run --name dbmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=0000 -e MYSQL_DATABASE=ourproject -e MYSQL_USER=userid -e MYSQL_PASSWORD=0000 -d mysql docker ps ( 실행중인 컨테이너 확인 ) mysql 컨테이너가 생성되어 있습니다. 컨테이너에 접속해서 docker exec -it 컨테이너이름 /bin/bash mysql -u root - p 로 접속, mysql을 사용할 수 있습니다. Spring 프로젝트 컨테이너도, DB ..

Back to the Docker 2022.12.28

[ Docker ] 도커로 Spring 프로젝트 AWS 배포하기 ( DockerHub )

Docker 는 프로젝트를 '이미지' 로 가져와서 '컨테이너' 를 생성해 배포를 가능하게 해줍니다. 열심히 만든 프로젝트를 '이미지' 로 만들기 위해서는 먼저 Spring 프로젝트를 jar 혹은 war 파일로 빌드해주어야 합니다. 프로젝트를 Build 해주기 전에, 먼저 Dockerfile 을 프로젝트에 추가해주어야 합니다. 사진처럼 프로젝트의 최상단 경로에서 Dockerfile 을 생성해줍니다. [ Dockerfile ] FROM openjdk:11-jdk ARG WAR_FILE=build/libs/*.war COPY ${WAR_FILE} app.war ENTRYPOINT ["java","-jar","/app.war"] Dockerfile은 DockerImage를 생성하기 위한 설정파일 스크립트 입니다..

Back to the Docker 2022.12.28

[ Docker ] docker 란

지난 글에서는 AWS 의 EC2 서버를 빌려 개발환경을 한땀한땀 구축하고, Jenkins 를 연동해 Github에 Push => Jenkins 에서 Build만 하면 배포버전이 Update 되도록 했었습니다. 이 과정은 시간을 오래 잡아먹습니다. 깡통인 서버를 빌려, JDK 부터 시작해 Jenkins, Tomcat, MySQL, Apache 등 필요한 요소들을 하나하나 설치, 설정 해주어야 했습니다. => Docker 를 사용해 이러한 과정을 쉽고 빠르고 가볍게 완료할 수 있었습니다. [ Docker ] 를 왜 써야 할까 Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라..

Back to the Docker 2022.12.28

AWS Tomcat 서비스 등록 => 자동시작

AWS 에서 톰캣으로 웹서버를 구성하고 putty등 SSH에서 ~/tomcat.startup.sh 명령어로 톰캣을 시작해주면 웹서버 접속이 가능해집니다. 하지만 Tomcat을 서비스에 등록하지 않고 그냥 이렇게 직접 실행시킬 경우 내가 사용하고 있는 컴퓨터를 끄거나, putty 의 session을 끝내면 tomcat 서버가 자동으로 닫히고 웹 접속도 끊기게 됩니다. ( window ) Tomcat 서버 시작을 서비스에 등록하고 init.d 에 추가해서, 내 로컬 컴퓨터와 상관없이 24시간 유지되도록 설정해 줍니다. [ Ubuntu - 서비스 등록 - 톰캣 자동시작 ] init.d 에 application 파일 생성 sudo vi /etc/init.d/tomcat_내어플이름 파일내용 입력 ( 쉘 명령어 )..

Back to the AWS 2022.12.25

AWS Apache2 VirtualHost 등록 => 80포트로 HTTP 와 WebSocket 사용하기

도메인을 구매하고, 도메인 사이트에서 AWS 인스턴스의 퍼블릭 IP 를 등록해두었다면, apache2 를 이용, VirtualHost 설정에서 ServerName 과 ProxyPass 를 연결해 줍니다. [ 도메인 Freenom 예시 ] 도메인 생성 - manage domain - manage Freenom Domain Name : www Type : A TTL : 300 / 3600 (캐쉬 Time) target : AWS 인스턴스 퍼블릭 IP ( 포트번호 제외 ) [ apache2 웹서버 설치 ] sudo apt-get install apache2 경로이동 cd /etc/apache2/sites-available/ conf 파일을 새로 하나 생성해 줍니다. ( 기존 파일에 해도 되지만 따로 ) sud..

Back to the AWS 2022.12.24