전체 글 111

[Spring Boot 3] 롬복 과 리팩토링

lombok롬복 이란 코드를 간소화 시켜주는 라이브러리 이다. 개발을 진행하다보면 getter(),setter(),contructor(),toStoring() 과 같은 메소들을 생각보다 많이 사용하게 되는데 이를 매번 작성하는것은 번거롭다, 이러한 반복적인 과정을 간소화 해주는 라이브러리가 롬복이다 .Refactoring리펙토링은 코드 기능 에는 변함 없이 코드의 구조 또는 성능 개성하는작업을 뜻함.intallProject > src 경로 아래 build.gradle 파일을 열고 다음과 같이 작성한다 .compileOnly 'org.projectlombok:lombok:1.18.24'annotationProcessor 'org.projectlombok:lombok:1.18.24'Constructor 간소..

[Spring Boot 3] CRUD

CRUD 란DB와 상호작용 하기 위한 Repository의 4가지 동작 을 의미한다 C -> CreateR -> ReadU -> UdateD -> Delete Create말 그대로 db에 새로운 테이블을 생성 시키고 엔티티 데이터를 삽입 시키는 명령이다 .바로 예시를 보자 @PostMapping("/articles/create") public String createArticles(ArticlesForm form) { log.info(form.toString()); Article article = form.toEntity(); log.info(article.toString()); Article saved = articleRepository.save..

[Spring Boot 3] MVC 패턴 과 View 탬플릿

MVC 패턴웹을 구성하는 것들은 무엇들이 있을까? 화면 (View)데이터를 관리(Model)유저가 요청하는 기능을 처리해줄 api(Controller) 크게 이 3가지가 있다. 우리는 이것들을 합쳐 MVC 라 칭한다.ModelModel 은 데이터를 관리하는 클래스 이다.Repository가 db에서 데이터를 받아오면 Model 클래스 에 저장하게 된다.그럼 Model 클래스 는 view 탬플릿에서 불러올수 있다.헷갈리지 말아야할게 Model 클래스는 dto 도 아니고 db 도 아니다.음.. 리액트 에서 use effect로 받아온 데이터를 usestate 에 저장해놓고 꺼내서 띄우듯이 , Model 클래스는 스프링의 state hook 이라고 생각하면 될듯하다.아래는 articleList 라는 model..

[Spring Boot 3]Form, DTO, Entity, Repository

CRUD 에 들어가기에 앞서 데이터를 다루는 객체 들의 개념을 미리 정리 하고 들어가고자 한다. Form폼 객체는 페이지에서 Controller 로 데이터를 넘기기 전 데이터를 입력받고 입력 받은 데이터를 저장하고 있는 객체 를 말한다. 사진에 보다시피 form 태그 안에 input 태그 통해 Controller로 넘길 데이터들을 입력받는다.(벨로그 에서 이거 안에 쓰면 자꾸 사라지는데 어떻게 써야 될까요?)form 태그의 메소드들의 대해서 알아보자면 1.action -> action 메소드는 입력받은 데이터를 넘길 Controller 메소드 의 url 이다.2.class -> form 태그 의 css 스타일 을 지정한다.3.method -> api의 타입을 지정 한다.DTOData Transfer O..

객체 지향 언어

특징1.코드 재사용률이 높음2.코드의 관리가 용이함3.신뢰성이 높은 프로그래밍을 가능하게 함상속,다형성과 같은 객체 지향개념을 학습할 때 재사용성과 유지보수 그리고 중복된 코드의 제거 이 세가지 관점에서 보면 보다 쉽게 이해할 수 있다. 클래스정의 : 객체를 정의 해 놓은것용도 : 클래스는 객체를 생성하는 데 사용 객체의 사전적 의미는 실제로 존재하는 것 이다.우리주변에서 볼수 있는 의자,책상,자동차 같은것들이 객체 이다.객체지향이론 에서는 사물과 같은 유형적인 것 뿐만 아니라 개념이나 논리 같은 무형적인 것들도 객체로 간주한다. 객체의 정의 : 실제로 존재하는것, 사물 또는 개념객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 달라짐유형의 객체 : 책상, 의자, 자동차 , tv와 같은 사물무형의 ..

[자바] 입력받기

scannerimport java.util.Scanner; //Scanner 클래스를 사용하기 위해 추가Scanner scanner = new Scanner(System.in); // 스캐너 클래스 객체 생성String input = scanner.nextLine();//입력받는 내용을 input에 저장int num - Integer.parseInt(input);//입력내용을 정수로 변환int num = scanner.nextInt();// 이거 쓰면 변환 안해두됨 자동으로 변환BufferedReaderimport java.io.BufferedReader;//BufferedReader 를사용하기위해 불러옴import java.io.IOException;// 예외 처리를 위해 불러옴import java.i..

자바의 기본개념

썬 마이크로 시스템즈 에서 1996년 발표한 객체지향성 언어 이다.특징1.운영체제에 독립적이다.이러한 특징덕에 운영체제에 따라 프로그램의 변경없이 실행이 가능하고, 다양한 기종의 컴퓨터와 운영체제가 존재하는 인터넷 환경에서 적합 한 언어로 써 많은 사용자층 확보와 발전이 가능했음.2.객체 지형적이다.자바는 c++의 기본구문과 스몰톡 객체 지향 의 장점을 합쳐 만들어졌다.그럼에도 복잡하고 불필요한 부분은 과감히 없애어 객체 지향의 특징인 상속, 캡슐화,다형성등이 잘구현된 언어임에도 배우기가 쉽다. 3.자동 메모리 관리자바로 작성된 프로그램이 실행되면 가비지 컬랙토 가 자동적으로 메모리를 관리 해준다. 가비지 컬랙터 가 없다면 프로그래머가 일일 이 메모리를 체크 하고 반환하는 일을 수동으로 해주어야 한다...

Server_Chroot_nginx start 실패시 대응법

1. 필수 패키지 설치chroot 환경 내에서 필요한 패키지가 설치되어 있는지 확인합니다. net-tools 패키지가 필요할 수 있습니다.sudo chroot /home/woody /bin/bashapt-get updateapt-get install net-tools2. 파일 시스템 마운트chroot 환경 내에서 네트워크 관련 파일 시스템을 마운트합니다. 이는 proc 및 sys 파일 시스템을 포함합니다.sudo mount --bind /proc /home/woody/procsudo mount --bind /sys /home/woody/sys3. 네트워크 설정 복사chroot 환경 내에서 네트워크 설정 파일을 복사합니다.sudo cp /etc/hosts /home/woody/etc/hostssudo cp..

인프라 2024.07.08

Server_chroot환경_nginx_설치 및 세팅

1. nginx 설치# 일반설치와 차이없음sudo apt-get install nginx x2.필요 디렉토리 생성sudo mkdir -p /mnt/chroot/ubuntu/var/log/nginxsudo mkdir -p /mnt/chroot/ubuntu/var/runsudo mkdir -p /mnt/chroot/ubuntu/var/cache/nginx확인 사항80포트 사용중이라면 /etc/nginx/site-enabled/default 파일 에서 포트 변경sudo netstat -tuln | grep :80 # 해당 포트 사용 여부실행nginx # 수동실행 #또는nginx -c /etc/nginx/nginx.conf # 설정 파일 지정 수동실행

인프라 2024.07.08

Server_chroot환경_docker,docker-compose_설치

혹여 이글을 보게 된다면! -> 이거 뻘짖임 하지 마셈! did 쓰면됨 이거 할때는 did를 생각 못함.!chrrot 환경을 root로 접근할것!1. chroot 환경으로 이동먼저 chroot 환경으로 이동합니다. chroot 환경이 /home/woody에 있다고 가정,이동하지 말것!,sudo chroot /home/woody2. 필요한 디렉토리 마운트chroot 환경 내에서 Docker를 실행하려면 몇 가지 중요한 파일 시스템을 마운트해야 함,단 확인결과 도커는 메인 시스템과 완전 분리는 어려운것으로 확인됨 완전 분리를 위해서는 분리된 환경에 시스템파일을 복제하고 아래 명령을 통해 재마운트하는 과정이 필요하지만 mount -t proc /proc /procmount --rbind /sys /sysmou..

인프라 2024.07.08