일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 가상화
- 리액트
- 쿠버네티스
- 클라우드
- 파이썬
- 프론트엔드
- 이더리움
- TypeScript
- 백엔드
- react
- 자바스크립트
- k8s
- 이슈
- BFS
- node.js
- kubernetes
- 알고리즘
- docker
- 솔리디티
- JavaScript
- next.js
- es6
- 블록체인
- 웹
- CSS
- HTML
- 백준
- 타입스크립트
- 컴퓨터공학
- AWS
- Today
- Total
목록전체보기 (240)
즐겁게, 코드
리액트와 비교했을 때 뷰의 장점 중 하나는 유용한 빌트인 컴포넌트를 제공한다는 점이라 생각한다. 이 중 컴포넌트는 정말 유용하게 사용하고 있는 중인데, 페이지 전환 시에도 트랜지션 효과를 줄 수 있다고 한다. Home About Contact nuxt가 아닌 vue-router로 라우터를 구성하면 위와 같이 router-view 컴포넌트를 사용한다. Home About Contact 그리고 으로 를 감싸면 애니메이션이 잘 적용된 것처럼 보이나, 콘솔에 경고가 출력된다. Home About Contact 대신 router-view는 "Component" 라는 named slot을 expose하는데, expose된 Component 슬롯을 동적으로 렌더한다. (※ 여기서 Component 는 현재 경로에서 ..
1. IAM 기초 IAM : Identity and Access Management, 리전이 구분되지 않는 글로벌 서비스 AWS에 가입하면 루트 계정이 생성되는데, 루트 계정은 계정을 생성할 때만 사용되어야 한다. 사용자 는 조직 에 속하며, 하나 이상의 그룹에 속할 수 있다. 그룹에는 사용자만 속할 수 있으며, 하위 그룹은 존재할 수 없다. 그룹을 분리하는 이유는 *정책 때문이다. (*정책 = 사용자의 권한을 정의하기 위한 JSON 문서) Least Privilege Principle : 필요로 하는 정책 이상으로 부여하면 안된다. 2. IAM 정책 상속 사용자가 그룹에 속하면 그룹이 갖는 정책(= 권한)을 상속받게 된다. 사용가 그룹에 속하지 않아도 inline 정책을 적용해 사용자 개별적으로 정책을..
1. 디펜던시 오류 디버깅 TL;DR : JPA가 jakarta.persistence와 javax.persistence 두 버전으로 분화되어 있다. 둘을 혼용하지 않고 jakarta.persistence로 통일해 문제를 해결할 수 있었다. org.springframework.boot spring-boot-starter-data-jpa 이놈이 없으면 에러는 발생하지 않으나, H2 DB에 접근하지 못하는 문제가 있다. 하지만 위 의존성을 추가하면 H2 Console이 제대로 잡히기는 하나, Class org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider does not implement the requested interface j..
1. MySQL 접속하기 mySQL을 실행하려 할 때 이런 오류가 뜰 때가 있는데, 이는 권한과 관련된 오류로 'using password' 를 봐주면 된다. NO : 비밀번호를 입력하지 않아 생긴 문제 YES : 비밀번호가 일치하지 않아 생긴 문제 비밀번호를 사용해 mySQL에 접속할 때는 -p 플래그를 사용해주면 된다. # 패스워드를 사용한다 mysql -p # 특정 유저로 로그인하면서 패스워드를 사용한다 mysql -u [유저네임] 2. DBeaver SQL에 익숙하지 않은 사람들을 위해 DBeaver GUI 툴을 사용할 수도 있다. 데이터베이스 / 테이블 / 칼럼 생성을 GUI에서 수행할 수 있다. 3. DTO와 엔티티의 차이 DTO와 엔티티는 데이터 구조를 나타내는 역할인데, 엄밀한 차이가 무엇..
1. mysql-connector-java 스프링 어플리케이션을 MySQL과 연결하기 위해 아래처럼 pom.xml에 의존성을 작성했는데 오류를 겪었다. com.mysql mysql-connector-java runtime 무엇이 문제였고 하니, 대략 스프링 3부터는 mysql-connector-j 라는 의존성을 사용해줘야 함을 알 수 있었다. 2. DTO 작성하기 FE에서 타입스크립트로 객체를 구조화하는 것처럼 스프링에서도 DTO를 작성해 사용한다. package com.example.dto; public class TodoDTO { private Long id; private String title; private String description; private boolean completed; //..
BE 1. 스프링 실행 포트 수정하기 스프링은 기본적으로 8080 포트에서 실행된다. 수정을 위해서는 application.properties 파일에 다음 설정을 추가한다. // src/main/resources/application.properties server.port=8081 2. 화이트리스트 페이지 대체하기 기본적으로 보여줄 페이지가 없다면 에러 페이지를 보여주게 된다. /resources/static 폴더에 정적 HTML을 추가해 대체 페이지를 추가할 수 있다. 3. 라우트 설정하기 특정 경로와 페이지를 매핑하고 싶다면 다음과 같이 작성해 활용한다. @Controller public class TodoController { @GetMapping("/todo") public String todo..
깃허브 해킹을 당했어요. 갑자기 메일로 Vercel 배포 실패 메일이 여러 건 동시에 오길래, 처음에는 deps bump가 잘못 동작한건 아닐지 오해했어요. 그런데 조금 더 들여다보니 모든 레포지토리에서 불특정 파일들이 제거됐고, 모르는 유저에게 스타를 약 100개쯤 눌러 놓았더라고요. (그 와중에 레포지토리 자체를 삭제하면 모바일 2FA 요청이 가는 걸 알고, 몰래 공격하기 위해 이런 방식을 사용한 것 같아요.) 어디서 토큰이 노출된걸 탈취해 공격에 사용된 것 같은데, 한번 토이 프로젝트에서 Admin 권한을 갖고 있는 Github Token이 외부에 노출된 건은 없을지 확인해보시면 좋을 것 같아요. 비싼 교훈을 얻긴 했는데, 토이 프로젝트들이 다 망가져서 너무 슬픈 날이네요.