분류 전체보기 (644) 썸네일형 리스트형 [Spring] AOP AOP(Aspect Oriented Programming) - 관점 지향 프로그래밍 - 관점 지향 => 핵심적인 관점, 부가적인 관점으로 나누어서 그 관점을 기준으로 각각 모듈화한다. MVC 웹 어플리케이션에서는 대부분 Web Layer, Business Layer, Data Layer로 정의된다. - Web layer : REST API를 제공, 클라이언트 중심의 로직 적용 - Business layer : 내부 정책에 따른 로직 개발 - Data layer : DB 및 외부와의 연동 처리 - 특정한 함수 호출 전이나 후에 공통적인 처리가 필요할 때 유용하다. => 로깅, 트랜잭션, 인증 - OOP로 처리하기에는 다소 까다로운 부분을 AOP를 도입하여 공통 기능을 쉽게 추가/수정/삭제할 수 있도록 한다.. 25일차 - Git Bash 명령어 Git Bash 명령어 history | fgrep ls | fgrep al : history 결과에서 ls, al이 포함된 결과만 추려서 보여준다. mv a.txt a : a 폴더로 a.txt를 옮긴다. mv a/a.txt b.txt : a 폴더에 있는 a.txt를 가져오면서, b.txt로 이름도 바꾼다. cp a.txt b.txt : a.txt 파일을 복사해서 b.txt 파일 생성 cp -r b a : b 폴더를 a 폴더 안에 복사한다. [프로그래머스/자바] 피자 나눠 먹기 (3) class Solution { public int solution(int slice, int n) { int answer = n/slice; if(n%slice >= 1){ answer ++; } return answer; } } class Solution { public int solution(int slice, int n) { return n % slice > 0 ? n/slice+1 : n/slice; } } [Talk&Talk] 누구나 쉽게 이해할수 있는 마이크로서비스 아키텍처(MSA) https://youtu.be/8d4h7K_Fq-0 Monolithic Architecture : 애플리케이션 안에 모든 비즈니스 로직이 다 들어가 있는 구조 마이크로서비스 : 서비스를 비즈니스 경계에 맞게 세분화하고, 서비스 간 통신은 네트워크 호출을 통해 진행하여 확장 가능하고 회복적이며 유연한 어플리케이션을 구성하는 것. 앞단에 API Gateway를 둬서 서비스를 외부에 노출하지 않음 MSA는 기존 Monolithic 방법론의 문제점들(개발 유연성의 한계, 요구사항 대처 시간 소요, 장애 격리/신뢰성, 배포/롤백 리스크, 리소스 낭비 => 여러 기능이 뭉쳐 강하게 결합되어 있다는 문제점에서 비롯됨)을 보완했다. MSA를 구성하는 주요 Component 1. Config Management : 서비.. 도커 한방에 정리 (모든 개발자들이 배워보고 싶어 하는 툴!) + 실습 https://youtu.be/LXJhA3VWXFA 도커 : 어플리케이션을 패키징할 수 있는 툴 Building Containers : Dockerfile -> Image -> Container Shipping Containers : Container Registry에 push 또는 pull 1. 로컬, 서버에 도커 설치 2. 로컬에서 Dockerfile을 통해 Image build, Container Registry로 push 3. 서버는 pull로 다운로드, 컨테이너 run 가장 쉬운 리눅스 강좌 https://youtu.be/tPWBF13JIVk 커널 : 하드웨어 요소들을 OS의 최하단, 기계를 상대하는 최전선에서 직접 다루고 관리한다. 우분투 리눅스 환경 준비 - 가상머신 소프트웨어(VirtualBox) - 온라인 IDE/터미널(구름IDE) - 윈도우10의 WSL https://www.yalco.kr/35_linux/ 가장 쉽게 배우는 리눅스 어려운 프로그래밍 개념들을 쉽게 설명해주는 유튜브 채널 '얄팍한 코딩사전'. 영상에서 다 알려주지 못한 정보들이나 자주 묻는 질문들의 답변들, 예제 코드들을 얄코에서 확인하세요! www.yalco.kr DBCP (DB connection pool)의 개념부터 설정 방법까지! hikariCP와 MySQL을 예제로 설명합니다! https://youtu.be/zowzVqx3MQ4 DBCP(DataBase Connection Pool) DB와 연결된 커넥션 풀을 API 요청에 따라 빌리고 반납하는 식으로 사용한다. 연결하고 끊는 것을 반복하는 것이 아니라 미리 맺어진 커넥션을 재사용하는 개념이기 때문에 열고 닫는 시간이 절약됨 DBCP 설정 방법 * DB connection은 백엔드 서버와 DB 서버 사이의 연결을 의미하기 때문에 백엔드 서버와 DB 서버 각각에서의 설정 방법을 잘 알고 있어야 한다. * 아래의 파라미터를 적절하게 설정하는 것이 중요함 DB 서버 설정 - max_connections : 클라이언트와 맺을 수 있는 최대 커넥션 수 - wait_timeout : 커넥션이 inactive할 때 다시 요청이 오기까지 얼마.. DB 인덱스(DB index) !! 핵심만 모아서 설명합니다 !! https://youtu.be/IMDH4iAQ6zM DB에서 Index를 쓰는 이유 - 조건을 만족하는 튜플(들)을 빠르게 조회하기 위해. 빠르게 정렬하거나 그룹핑하기 위해 CREATE INDEX 인덱스명 ON 테이블명 (컬럼명); CREATE UNIQUE INDEX 인덱스명 ON 테이블명 (컬럼1, 컬럼2); SHOW INDEX FROM 테이블명; # 인덱스 조회 PK에서는 인덱스가 자동 생성된다. 사용되는 쿼리에 맞춰서 적절하게 인덱스를 걸어줘야 쿼리가 빠르게 처리될 수 있다. EXPLAIN SELECT ~; ===> 사용 가능한 키(인덱스)와 실제 사용한 키(인덱스)를 보여준다. DB의 optimizer가 적절하게 인덱스를 선택해준다. 특정 인덱스를 사용하도록 명시하고 싶다면? - SELECT * .. 이전 1 ··· 57 58 59 60 61 62 63 ··· 81 다음