반응형

전체보기 160

Spring DI(의존주입), @Autowired (의존 자동주입)

목차 의존주입 방법 설정 클래스에서 직접 의존 주입 설정클래스에서 의존객체를 직접 주입해주는 방법이다. @Configuration public class AppCtx { @Bean public MemberDao memberDao(){ return new MemberDao(); } @Bean public MemberRegisterService memberRegisterService(){ return new MemberRegisterService(memberDao()); } @Bean public ChangePasswordService changePasswordService(){ ChangePasswordService changePasswordService = new ChangePasswordService(..

Backend 2022.04.02

Spring DI(의존주입), Container(객체 조립)

목차 의존이란? public class MemberRegisterService { //객체 직접 생성 private MemberDao memberDao = new MemberDao(); public void register(String email){ //이메일 중복 체크 Member member = memberDao.selectByEmail(email); ... //회원가입 처리 ... } } MemberRegisterService 클래스는 register() 메서드 내부에서 MemberDao의 selectByEmail() 메서드를 사용한다. MemberDao의 selectByEmail() 메서드 이름을 findByEmail()로 변경한다면? -> MemberRegisterService의 소스코드도 변경..

Backend 2022.03.28

Spring Container(ApplicationContext)와 Bean

목차 @Configuration 이 어노테이션을 클래스에 붙이면 해당 클래스를 스프링 설정 클래스로 등록한다. @Bean 빈 스프링이 생성하는 객체를 빈이라고 부른다. @Bean을 메서드에 붙이면 해당 메서드가 생성한 객체를 스프링이 관리하는 빈 객체로 등록한다. @Configuration //AppContext.java를 스프링 설정 클래스로 등록한다 public class AppContext { @Bean public Greeter greeter(){ Greeter greeter = new Greeter(); greeter.setFormat("%s, 안녕하세요."); return greeter; } } Greeter타입이고, "greeter" 라는 이름의 Bean이 스프링 컨테이너에 등록된다. App..

Backend 2022.03.28

운영체제 개요

목차 운영체제란? 컴퓨터 하드웨어와 각종 소프트웨어(포토샵, 크롬, 메모장... 등)를 연결하는 "소프트웨어(운영체제)" 컴퓨터 시스템의 자원(CPU, Memory 등)을 효율적으로 관리하는데에 목적이 있다. 컴퓨터에 전원을 켜면 부팅이 일어난다. 부팅은 다시말해 운영체제가 메모리에 올라가서 실행된다는 것이다. 운영체제는 컴퓨터의 전원이 꺼질때까지 메모리에서 실행되는 프로그램이다. 좁은의미의 운영체제 (= 커널) : 운영체제의 핵심 부분으로 메모리에 상주하는 부분 넓은의미의 운영체제 : 커널 뿐 아니라 각종 주변 시스템 유틸리티(ex. 파일복사, 삭제...등)를 포함한 개념 운영체제의 분류 동시 작업 가능 여부 - 단일 작업(single tasking) : 한번에 하나의 작업만 처리. (ex. dos) ..

Computer Science 2022.03.25

[백준] 9095번 1, 2, 3 더하기 자바 DP

목차 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제풀이 시간제한이 1초이므로 일반적인 for문은 사용할 수 없다. DP로 풀어보겠다. 정수 n은 양수이며 11보다 작다. 1, 2, 3의 합으로 나타내야한다. [0]~[10]인 배열을 생성했다고하자. [0]은 사용하지 않는다. 잘 살펴보면 [2]는 [1]에 +1을 더한값과 자기자신인 2를 가지고 있고 [3]은 [2]에 +1을 더한값과 자기자신인 3을 가지고 있다. [4]는 [3]+1, [2]+2, [1]+3을 더한값을 가지고있지만 자기자신인 "4"는 표현할 수 없기 때문에 제외되었다. [..

Coding Test 2022.03.25

CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(3)

CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(1) 빌드 배포 흐름 사전준비 AWS IAM 역할(Role) 설정 EC2CodeDeployRole 생성 CodeDeployRole 생성 AWS EC2 IAM 역할 수정 AWS IAM 사용자 추가 CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(2) AWS S3 버킷 생성 AWS CodeDeploy 생성 AWS EC2 접속하여 CodeDeploy Agent 설치 AWS EC2 Postgresql 설치 CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(3) 소스코드 수정 .circleci > config.yml파일 프로젝트폴더 > appspec.yml 프로젝트폴더 >..

Infra 2022.03.18

CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(2)

CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(1) 빌드 배포 흐름 사전준비 AWS IAM 역할(Role) 설정 EC2CodeDeployRole 생성 CodeDeployRole 생성 AWS EC2 IAM 역할 수정 AWS IAM 사용자 추가 CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(2) AWS S3 버킷 생성 AWS CodeDeploy 생성 AWS EC2 접속하여 CodeDeploy Agent 설치 AWS EC2 Postgresql 설치 CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(3) 소스코드 수정 .circleci > config.yml파일 프로젝트폴더 > appspec.yml 프로젝트폴더 >..

Infra 2022.03.18

CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(1)

CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(1) 빌드 배포 흐름 사전준비 AWS IAM 역할(Role) 설정 EC2CodeDeployRole 생성 CodeDeployRole 생성 AWS EC2 IAM 역할 수정 AWS IAM 사용자 추가 CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(2) AWS S3 버킷 생성 AWS CodeDeploy 생성 AWS EC2 접속하여 CodeDeploy Agent 설치 AWS EC2 Postgresql 설치 CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(3) 소스코드 수정 .circleci > config.yml파일 프로젝트폴더 > appspec.yml 프로젝트폴더 >..

Infra 2022.03.18

AWS EC2 Jenkins 설치

목차 사전준비 aws ec2 ubuntu ec2 보안그룹 인바운드규칙 9090포트 허용 openjdk 8이상 git 설치 jenkins repository key 추가, 및 패키지 저장소 추가다운로드 $sudo wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - $sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \ /etc/apt/sources.list.d/jenkins.list' apt-get 업데이트 및 젠킨스 설치 $sudo apt-get update $sudo apt-get install jenkins//중간에 y/n 나오면..

Infra 2022.03.18

자바, Spring Boot로 크롤링하기 - Selenium 이용 (동적페이지), 속도 개선 방법

목차 이전글 자바, Spring Boot로 크롤링하기 - Jsoup 이용 (정적페이지) 목차 Jsoup이란? jsoup은 Dom메서드와 CSS Selector를 사용하여 HTML의 데이터를 추출할 수 있는 Java 라이브러리이다. 크롤링해보기 크롤링할 URL 준비, Dom Selector 찾기 나는 단어장 앱을 만들려고한다. 단 lotuus.tistory.com Selenium이란? 셀레니움은 사실 웹사이트 테스트 도구이다. 사람이 손으로 일일이 브라우저를 켜서 웹사이트를 확인하고, 수정하고, 테스트하고... 하는게 번거로워서 코드를 작성하여 웹브라우저를 동작시켜 테스트하자! 하고 나온 기술인데, 웹사이트가 동적으로 변하는 상황을 해결하기 위해 셀레니움을 크롤링에서 활용하게 되었다. 크롤링 해보기 Spr..

Backend 2022.03.08
반응형