본문 바로가기

분류 전체보기

(104)
[AWS] AWS 시작하기 AWS 란?Amazon Web Services의 약어로, 아마존닷컴이 제공하는 클라우드 컴퓨팅 플랫폼입니다. AWS는 전 세계에 분산되어 있는 데이터 센터에서 고객에게 IT 인프라를 제공하며, 이를 사용하여 고객은 필요한 인프라를 빠르고 쉽게 설정하고 관리할 수 있습니다.AWS의 주요 서비스는 다음과 같습니다.컴퓨팅: EC2 (Elastic Compute Cloud), Elastic Beanstalk 등데이터베이스: RDS (Relational Database Service) 등스토리지: S3 (Simple Storage Service), EBS (Elastic Block Store)등네트워킹: VPC (Virtual Private Cloud), CloudFront, Route 53 등보안: IAM (I..
JPQL 관련 트러블 슈팅 프로젝트 진행 중, admin 페이지를 개발하며 일/월별 주문 수와 판매 금액을 보여줘야 했는데 여러 값을 계산해서 한 번에 보여주는 동작이므로 쿼리문을 작성해서 진행했다. jpql로 작성했지만 DATE 부분과 FUNCTION(DATE_FORMAT, ......) 부분이 계속 정상적으로 동작하지 않고 에러를 발생시켰다.  [jpql] 원인을 알지 못하고 찾아도 마땅한 해결 방법이 나오지 않아 결국 native query로 바꿨는데 동작은 잘됐다.아마 DATE, DATE_FORMAT 같은 함수가 MYSQL에 종속적이고 여기서만 사용되는 함수이다 보니 버전이 잘 맞지 않으면서 실행이 안되었던 것 같다.  nativeQuery를 사용한다고 해도 dto를 반환하니 No converter found capable..
Docker 설치 방법 및 오류 해결 WSL2 설치를 위한 사전 준비시작 버튼 → 제어판 → 프로그램 및 기능 → Windows 기능 켜기/끄기.NET Framework 3.5 (includes .NET 2.0 and 3.0) 끄기Windows Hypervisor Platform 켜기Windows Subsystem for Linux 켜기Virtual Machine Platform 켜기재부팅 cmd 창에 가서 다음 명령어 입력하기wsl --updatewsl --install 설치된 ubuntu 열기 여기서 만약wslregisterdistribution failed with error: 0x80370102 오류 발생 시 BIOS에 들어가서 설정을 바꿔줘야 한다. 원래는 위의 Windows 기능 켜기/끄기에서 Hyper-v를 켜줘야 하는데, 자신..
MyBatis 란? MyBatis 란?MyBatis 는 RowMapper 가 가지고있는 단점인 “반복되는 코드”를 줄이고 “함께있는 프로그램 코드와 쿼리 코드를 분리하여 관리”하고 싶은 니즈를 반영하여 탄생하였습니다.SQL Mapper 두번째 주자로 MyBatis 탄생반복적인 JDBC 프로그래밍을 단순화 하고싶다.SQL 쿼리들을 XML 파일에 작성하여 코드와 SQL 을 분리 하고싶다.MyBatis 특징jdbc로 처리하는 코드의 설정(Connection) 부분을 줄이고 실제 sql문에 연결함으로서 빠른 개발이 가능하게 한다. (SQL Mapper 특징)MyBatis 코드는 map 인터페이스(또는 클래스)와 SQL 쿼리와 ResultSet 매핑을 위한 xml 및annotation을 사용한다.다른 방식에 비해 객체자체보다 쿼리에..
세션 (Session) 쿠키, 토큰, 세션쿠키 : 브라우저 저장공간. 사용자의 상태를 유지하기 위해 사용만약 쿠키 없다면 매번 신분 증명 필요.자동으로 요청 헤더에 담겨서 사용.악의적인 사용자가 탈취 가능. 보안 약함.토큰 : JWTJWT는 Base64로 인코딩된 것일 뿐, 암호화된 것이 아님. secretKey는 토큰의 내용이 변조되지 않았는지를 검증하는데 사용. 토큰의 내용은 숨기지 않는다.그렇기에 중요 정보 담으면 안됨.암호화 X, 변조 검증 O세션변조, 위조 불가능. 아무런 의미 없는 문자열.실제 유저 정보는 세션 저장소(외부 db)에 저장됨.사용자 실제 정보는 서버에 저장되어 있기 때문에 브라우저는 해당 정보 참조 가능한 sessionId 갖고 있음.     세션 직접 만들어 보기[SessionData 클래스]pack..
[SQL] 세션 변수 https://school.programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 입양 시각 구하기 (2) 문제의 풀이 과정 중 하나로 다음과 같은 sql 문을 발견했다. SET @HOUR := -1;SELECT (@HOUR := @HOUR + 1) AS HOUR,( SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @HOUR) AS COUNTFROM ANIMAL_OUTSWHERE @HOUR   @ 붙여서 쓰는건 처음봐서 알아..
[SQL] 오프라인/온라인 판매 데이터 통합하기 https://school.programmers.co.kr/learn/courses/30/lessons/131537 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 처음에는 Join을 이용해서 푸는 문제인줄 알았는데 Union을 사용하는 거였다.  [Union 동작 방식]   [문법]SELECT column1, column2, column3,... column_N FROM table1UNION SELECT column1, column2, column3,.. column_NFROM table2;   참고로 union과 join의 차이점은 아래 그림과 같다.   ..
트랜잭션 격리 수준 [CS 스터디 발표 자료 백업]                 [발표 영상]https://www.youtube.com/watch?v=u-lX1GC-y0I