| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- css
- 2차원배열
- 반복문
- Linux
- 시큐리티 로그아웃
- java
- springboot
- 소스트리
- gradle
- 싱글톤
- programmers
- codingtest
- springSecurity
- 시큐리티 로그인
- html
- 시큐리티로그인
- 코딩테스트
- 목록
- StyleSheet
- 프로그래머스
- JAVA11
- input태그
- 시큐리티
- security
- javascript
- 스프링 부트
- 로그인
- sql
- Spring boot
- 리눅스
- Today
- Total
목록lectureNote (75)
JAVAIARY
갑자기 AWS 하는 이유? 사내 해커톤 나가는데 AWS 관련이라서IAM(Identity & Access Management) 이란?간단하게 말해서 통합 계정 관리SSO(Single Sign On) , EAM (Extranet Access Management) 보다 포괄적으로 확장된 개념업무 프로세스를 정의하고 관리하는 인프라왜 IAM?IT시스템 중요도와 사용자가 늘어남에 따라 사용자 ID와 계정 및 권한에 관한 관리에 대한 중요성 증가제대로 관리하지 못할 경우 리스크가 큼IAM 에서 통합 관리하는 것이 효율적1. AWS IAM AWS 계정 내에서 “누가(Who)” 리소스에 접근할 수 있고, “무엇을(What)”, “어떤 리소스에(Which Resource)”, “어떤 조건/언제(Under Which Co..
최근 Scouter에서 SQL Time이 10초 이상 찍히는 과부하 쿼리의 성능 개선 작업을 진행했다.이 과정에서 IN 절을 CTE(Common Table Expression)로 변경하여 쿼리 효율을 대폭 향상시킬 수있었다.1. IN 절이 부하를 일으키는 이유: INLIST ITERATOR사내 테이블 구조상 특정 컬럼에 대해 IN 절을 반복적으로 사용할 수밖에 없었다. (해당 value 에 대한 정의 테이블이 존재하지 않고 코드성으로 사용, 인라인 상수 IN 절) 하지만 이 IN 절이 인라인 서브 쿼리로 자주 사용되어 성능 저하가 일어났다.IN 절이 부하를 많이 발생시키는 이유는 바로 INLIST ITERATOR라는 오퍼레이터(Operation) 때문이다.SELECT *FROM employees eWH..
node.js 프로그램 소스를 관리하게 돼서 일단 시작https://nodejs.org/ko Node.js — 어디서든 JavaScript를 실행하세요Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.nodejs.org일단 설치별다른 설정은 필요 없었고 기본 설정으로 설치 완료. Visual Studio Code에서 실행하기나는 이미 프로젝트가 있었기에 프로젝트가 있는 폴더를 열어주었다.node 버전 확인을 위해 일단 터미널 오픈단축키는 친절하게 알려준다. Ctrl + `node -v최신 lts 버전으로 받아서 현재는 v22.14.0패키지가 있을 경우 패키지 설치를 위해 install 진행 후, 실행npm installnpm..
1.Cache1. Cache 란?캐시는 자주 접근하는 데이터에 더 빠르게 접근할 수 있도록 해 주는 데 특화된 고속 저장소 메커니즘으로, 가져오거나 계산하는 데 비용이 많이 드는 데이터 복사본을 임시로 저장하여 성능을 향상시키기 위해 사용된다.2. Cache 사용 목적캐시의 주요 목적은 데이터에 액세스하는 데 걸리는 시간을 줄이는 것입니다. 자주 사용하는 데이터를 프로세서에 더 가깝게 보관하거나 더 빠르게 액세스할 수 있는 위치에 보관하면 전반적인 시스템 성능이 향상된다.3. Cache의 종류CPU 캐시 : 메인 메모리에서 가장 자주 사용되는 위치의 데이터를 갖고 있는, 크기는 작지만 빠른 메모리디스크 캐시 : 자주 액세스하는 디스크 데이터를 저장하기 위해 운영 체제에서 사용하는 메모리로, 느린 디스크 ..
원격에서 삭제된 브랜치가 있을 때, 소스트리에서 pull 을 받으려고 하면 이미 삭제된 브랜치 때문에 오류가 난다.해당 오류는 소스트리에서 설정된 브랜치가 남아있어서 그렇다.pull을 받을 때 fetch = 이하에 작성된 브랜치들을 전부 패치하기 때문에 원격에서 해당 브랜치를 찾을 수 없을 경우 오류가 나게 된다.원격과 브랜치를 맞춰주면 성공
SQLPLUS를 이용해서 ORACLE 에 유저를 추가해 보도록 한다. 1. CMD창에서 SYS 계정으로 SQLPLUS에 접속한다. SQLPLUS SYS AS SYSDBA 2. 유저 생성 및 접속 CREATE USER SAMPLEUSER IDENTIFIED BY ORACLE CONN SAMPLEUSER/ORACLE 하지만 새로 생성된 신규 유저에 데이터베이스에 대한 접근 권한이 없기 때문에 접속할 수 없다. 3. 권한 부여 GRANT CREATE SESSION TO SAMPLEUSER; 데이터 베이스에 접근할 수 있는 권한을 부여했다. 하지만 해당 권한 만으로는 테이블 생성이나 삭제 등이 불가능하다. 그래서 Connect와 Resource 권한을 함께 주었다. 권한이 부여된 것을 확인할 수 있다. 4. 권..
🔗1. 비동기 적용하기 🔗 2. 비동기 커스텀 1. 비동기 적용하기 SpringBoot 프로젝트에서는 @EnableAsync 어노테이션을 이용해서 간단하게 비동기를 구현할 수 있다. 비동기를 적용하는 방법에는 2가지가 있다. 1. SpringBootApplication 에 @EnableAsync 어노테이션 사용하기 2. AsyncConfig 작성 (+@EnableAsync) 추가로 원하는 메서드에 @Async 어노테이션을 달아주면 해당 메소드가 비동기로 작동하게 된다. 1) SpringBootApplication에 @EnableAsync @EnableAsync @SpringBootApplication public class MyApplication { 어플리케이션에 @EnableAsync 를 사용하는 것..
Jenkins 실행 빌드에 보면 Multibranch Pipeline이라고 있다. 아래 적힌 설명을 보면 한 개의 저장소에서 생성된 브랜치에 따라서 파이프라인 세트를 만들어 준다는 것 같다. 한 번 생성해보자 이름을 지정해 주고, GitLab을 이용할 것이기 때문에 Git 으로 선택해주고 등록된 계정이 있다면 Credentials 에서 선택해준다. 브랜치 별로 빌드할 것이기 때문에 Discoverbranches 를 추가 하고, main과 develop 브랜치만 실행시킬 것이기 때문에 필터를 추가해 주었다. 빌드 시 사용될 스크립트 파일 위치까지 지정해 주고 저장해준다. 저장을 눌러주면 자동으로 branch Scan에 들어간다. 브랜치 들어온 것 확인