전체 글 21

CI/CD(Continuous Integration/Delivery & Deployment)

파이프라인코드 구축 ~ 배포까지 일련의 과정들을 CI/CD 파이프라인이라 함총 3가지 단계로 구성됨continuous integration : 코드를 빌드하고 테스트하고 합침. continuous delivery : 해당 레퍼지토리에 릴리즈.continuous deployment : 이를 프로덕션, 즉 실제 서비스에 배포. 테스트함수 등 작은 단위를 테스팅하는 단위테스트, 모듈을 통합할 때 테스트하는 통합테스트, 사용자가 서비스를 사용하는 상황을 가정해서 테스트하는 엔드투엔드 테스트가 대표적, 이외에 코드 보안 테스트도 포함됨머지git이나 svn을 이용해 머지함. 충돌 - 조금 더 작은 단위로 충돌이 일어나게 하는것이 중요함, 작은 이슈 기반으로배포사용자를 위한 서비스 뿐 아닌 내부적으로 QA엔지니어나 ..

카테고리 없음 2024.11.12

클라우드

#1. 가상머신전통적 배포방식물리적 컴퓨터 한 대에 하나의 OS를 깔고 여러 가지 프로그램을 설치하는 방식. 계정을 나눠 여러명의 사용자가 이용할 수 있음. 어떤 프로그램을 설치했을 때 다른 앱에 영향을 미침가상화 배포방식가상머신을 기반으로 배포하는 것을 말함. 가상머신이란 컴퓨터의 하드웨어를 소프트웨어적으로 구현한 것을 말함. 계정을 나누는 것이 아니라 한대의 컴퓨터를 가지고 여러개의 OS를 구동할 수 있게 되며 CPU, RAM을 물리적으로 갈아끼는 것이 아니라 설정만으로 이를 수행할 수 있게 됨중간의 하이퍼바이저는 하나의 시스템 상에서 가상 컴퓨터를 여러 개 구동할 수 있도록 해주는 중간계층을 의미하며 이 위에 여러개의 가상머신을 구축할 수 있고 가상머신 위에 OS 그리고 그 위에 앱이 올라가는 형태..

카테고리 없음 2024.11.12

API

API(Application Programming Interface)는 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층을 의미함예를 들어 A라는 컴퓨터가 요청을 하고 B라는 컴퓨터가 응답을 했을 때 어떻게 통신할 것인지, 어떠한 데이터를 주고 받을것인지에 대한 방법(HTTP or HTTPS, GET POST,,,)이 정의된 중계 계층을 의미API는 과거로부터 발전되어온 용어로 라이브러리 및 프레임워크를 설명하는 명세서, 웹상에서 WEB API, WEB Socket API등을 가리키는데 현재를 기준으로 API라고 할 때 보통 WEB API를 기준으로 설명함인터페이스인터페이스는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면.이를 통..

카테고리 없음 2024.11.12

JSON과 XML

#데이터 포맷#1. JSON(JavaSript Object Nitation): Javascript 객체 문법으로 구조화된 데이터 교환형식. python, javascript, java 등 여러 언어에서 데이터 교환형식으로 쓰이며 객체 문법 말고도 단순 배열, 문자도 표현 가능.1. javascript 객체 문법키 : 값 으로 구성됨, 이미 존재하는 키를 중복 선언하면 나중에 선언한 해당 키에 대응한 값이 덮어씌워짐{         "Name" : "hangyeol",         "age" : "30"}const fs = require('fs')const path = require('path')const a = fs.readFileSync(path.join(__dirname,"a.json")) cons..

Etc... 2024.11.12

[Bank Application] 2-1. Security Config

BankApplication > config > SecurityConfig.java 파일을 생성해준다@Bean //Ioc 컴테이너에 BCryptPasswordEncoder() 객체가 등록됨 , @Configuration이 붙여진 곳에서만 등록 가능public BCryptPasswordEncoder passwordEncoder(){ log.debug("디버그: BCryptPasswordEncoder 빈 등록"); return new BCryptPasswordEncoder();} //JWT 서버를 만들것 -> Session 사용 안함 @Bean public SecurityFilterChain filterChain(HttpSecurity http)throws Exception{ ..

Bank Application 2024.09.26

git repository 연결 후 push

다른 연결들은 예전에 해두었고 새로운 프로젝트로 repository와 처음 연결, 실행하는 순서 1. git init프로젝트의 폴더에 .git 파일이 생성된다 2. git add .올릴 파일들을 선택하는 과정'.' 은 모든 파일을 뜻함 3. git commit -m "commit message"커밋메세지와 함께 파일들을 커밋한다 4. git push여기에서부터 연결 이미 되어있을거라 생각해서 아무리 푸시를 하는데 안되는것임...토큰/비밀번호가 틀렸다고 하거나 새로 만든 토큰은 auth가 실패라고... 찾아보니 내가 repo를 선택하지 않고 새로운 버전으로 만들어서 계속 실패한듯 싶었다'Settings > Developer settings > Personal access tokens'로 이동하여 클래식 토..

Bank Application 2024.09.26

[Bank Application] 1-4. 테이블 별 엔티티 생성

domain 하위에 account, user, transaction 폴더를 만들고각각의 엔티티를 생성해 주었다.USER@NoArgsConstructor //스프링이 User 객체생성할때 빈 생성자로 new 하기 때문@EntityListeners(AuditingEntityListener.class)@Table(name = "user_tb")@Entitypublic class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Column(unique = true, nullable = false, length = 20)private String username;@Column(nullable = false, length = ..

Bank Application 2024.09.26

[Bank Application] 1-1. 프로젝트 생성

1.start.spring.io 사이트를 사용하여 생성해줬다.spring.io에서 추가한 dependency는 8가지이고,1. Lombok2. Spring Web3. Spring Boot DevTools4. Spring Data JPA5. H2 Database6. MariaDB Driver7. Validation8. Spring Security mvn에서 자체적으로 jwt 를 추가해줬다+9. JSON WEB TOKEN build.gradle implementation group: 'com.auth0', name: 'java-jwt', version: '4.4.0' 2.이 설정 파일을 기본적으로 실행, 아래에 보이는 application-dev.yml이 기본적으로 실행이 된다와 같이 개발 환경을 설정해주고..

Bank Application 2024.09.25