IT 180

제 42회 SQLD 합격 후기

SQLD 합격 후기 2021.09.05에 시험본 SQLD 결과가 2021.10.01에 발표났다. 그리고 두구두구두구 -합- 70점으로 0.01 여유있게 합격했다. 전반적으로 문제 난이도는 풀면서 무난했다고 생각했는데, 나와서 답을 맞춰보니 틀린 것 투성이었다. 아슬아슬하게 합불이 갈릴 것 같았는데, 생각보다는 많이 맞췄다. 여튼, 결론적으로는 오랜만에 적는 자격증 합격 후기 비전공자인 남친과 같이 시험을 보고 합격했으므로 전공자 ver, 비전공자 ver로 후기를 적을 예정이다. 시험 후기 시험을 한 달도 전에 봐서 정확하게 기억은 나지 않는다. 1. 기간 전공자 순수 공부 시간만 따지면 개념책 1회독 3일 + 노랭이책 3회독 정도 해서 넉넉히 10일정도 걸렸다. 준비 시작은 시험 보기 약 한 달 전부터 ..

IT/Others 2021.10.08

[Spring] Spring Cloud 개념 및 핵심 컴포넌트

Spring Cloud https://happycloud-lee.tistory.com/207 - MSA의 개발, 배포, 운영에 필요한 아키텍처를 쉽게 구성할 수 있도록 지원하는 Spring Boot 기반 프레임워크 - 분산 시스템 상에 필요한 여러 패턴들을 표준 패턴화 시켜 손쉽게 개발 할 수 있도록 지원 🔴중요 컴포넌트 : Spring Cloud Netfix의 Zull, Eureka, hystrix, ribbon EOS, Spring Config Spring Config Spring Cloud Config 서버를 사용하여 Spring Boot Application의 환경설정 파일을 한 곳에 저장, 해당 서버에 접근하여 환경 설정 정보를 가져옴 장점 - 모든 Application의 환경 설정 정보를 한 ..

IT/개발 2021.10.01

[Architecture] MSA

MSA - 하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 나누는 것 ▶️ 변경과 조합이 가능한 아키텍처 - 독립적으로 개발, 배포, 운영, 서비스가 가능 모놀리식(Monolithic) 아키텍처 - 하나의 프로젝트로 구성, 거대한 덩어리 - 단일 서비스 개발 방식, 단일 패키지 배포 🔴 문제점 - 시스템 복잡, 구조/영향도 파악의 어려움 - 추가/변경 신속 대응 X - 부분적/일시적 확장이 어려움 - 장애 발생 시 전체 업무로 전파 - 업무별 독립적인 개발/테스트/배포/유지보수 어려움 마이크로서비스(Micro Service) 아키텍처 - 독립적이고 단순한 개별 서비스로 전체 서비스 구성 - 단인 애플리케이션을 나누어서 작은 서비스들의 조합으로 구성 🔵 장점 - 독립성 (개발/테스트/배포/운영/유..

IT/CS 2021.09.28

[Java] Lambda expression

Lambda expression 익명함수, 메서드를 하나의 식(expression)으로 표현한 것 - 자바8(JDK1.8) 버전부터 도입 - 함수형 언어 람다식 작성 - 메서드에서 이름과 반환타입 제거 - 매개변수 선언부와 몸통{} 사이에 -> 추가 // 기존 함수 int max(int a, int b){ return a > b ? a : b; } // 람다식 (int a, int b) -> { return a > b ? a : b; } //return 형이 존재한다면 {}를 뺄 수 없음 (a, b) -> a > b ? a : b; // 기존 함수 int sum(int[] arr){ int sum = 0; for(int i : arr) sum += i; return sum; } // 람다식 (int[] ..

IT/CS 2021.09.28

[SpringBoot] Transaction 사용하기

Transaction sql 실행 시, 하나의 단위로 묶어서 처리하는 방법 ex) 티켓을 구매하기 위해서 A(티켓수) sql과 B(사람수) sql이 모두 실행되어야 성공일 때 A와 B는 하나의 트랜잭션 안에서 실행됨 ▶️ A 또는 B 실패 시 두 sql 실행X TransactionTemplate SpringBoot에서 사용하는 Trasaction //transation @Autowired TranactionTemplate transactionTemplate; public void outTransaction(){ try{ transactionTemplate.execute(new TransactionCallbackWithoutResult(){ @Override protected void doInTransac..

IT/개발 2021.09.24

[SpringBoot] MyBatis 간단 기초

MyBatis 스프링부트에서 sql 쿼리문을 쉽게 작성하기 위한 프레임워크 xml 파일을 이용해서 일반적인 sql 작성 사용방법 1. application.properties //mapper하위 디렉토리에 모든 xml을 다 사용함 mybatis.mapper-locations:classpath:mybatis/mapper/**/**.xml 2. Mapper XML select id, pw from Login where id=#{_id} - where문 뒤에는 변수명으로 _id가 파라미터명이 됨 - resultType은 해당하는 패키지 밑에 있는 DTO가 됨 3. DAO //xml에서 같은 이름 실행 @Mapper public interface LoginDao{ List list(@Param("_id") St..

IT/개발 2021.09.22

[SpringBoot] 백엔드에서 Form 데이터 받기

목적 프론트엔드(JSP)에서 백엔드(Servlet)로 Form 데이터를 전달할 때, 백엔드에서 데이터를 활용하기 위해 파라미터로 전달받음 이 때, 전달받는 방법에 여러가지가 있어서 정리함 방법 1. HttpServletRequest 이용 // HttpServletRequest @RequestMapping("/FormData1") public String FormData1(HttpServletRequest httpServletRequest, Model model){ // httpServletRequest를 이용하여 id와 pw를 가져옴 String id = httpServletRequest.getParameter("id"); String pw = httpServletRequest.getParameter("..

IT/개발 2021.09.21

[SpringBoot] DI(의존성 주입)

의존성 주입(Dependency Injection)이란 - 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴 - 인터페이스를 사이에 둬서 클래스 레벨에서 의존관계가 고정되지 않도록 런타임 시에 관계를 다이나믹하게 중집 예시 public Class DI{ // 강한 결합 // private로 선언되어 있어서 오류가 난다. public static void companyTest1(){ Company c1 = new Company(); } // 약한 결합 // DI로 인해 오류가 나지 않는다. public static void companyTest2(Company c){ Company c2 = c; } } class Company{ String empNo; String empName; private Com..

IT/개발 2021.09.19

[SpringBoot] Visual Studio Code로 Spring Boot 프로젝트 만들기

자바 개발 환경을 선택 할 때, 이클립스, STS 등 많이 사용하지만 무겁다는 단점이 있다. Visual Studio Code 줄여서 vscode는 자바 뿐만 아니라 C++, python등도 사용할 수 있고, 커뮤니티가 잘 형성되어 있어서 확장팩이 많이 존재한다. Download 1. Visual Studio Code https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is..

IT/개발 2021.09.19

[git] 깃 브랜치 연결 (간단사용법) in Linux

사전 설치 - WSL (Windows에서 Linux 접근) - ubuntu - git 1. git Lab 연결 sudo bash -c 'echo "192.0.0.0 gitlab~.com" >> /etc/hosts' - /etc/hosts에 gitlab 연결하는 과정 - 192.0.0.0에는 gitlab의 ip 주소 입력 2. 로컬에 git 저장 git clone http://gitlab.~ - 온라인에 있는 git 내용을 로컬에 저장하는 과정 - 저장소 이름으로 된 폴더가 생김 3. git 폴더로 이동 cd TIL - git의 TIL 저장소를 가져왔기 때문에 TIL 폴더가 만들어진다. 4. branch 확인 git branch - 기본 master branch 존재 - 그 외 branch들이 나온다. 5..

IT/개발 2021.09.07