전체 글
-
Spring Security - jwt 인증Java 2026. 2. 19. 18:38
accessToken, refreshToken, refreshTokenRotation을 활용하는 방법을 사용하겠다. refreshToken은 db에 저장해둔다. 의존성 추가(build.gradle)dependencies { // jwt implementation 'io.jsonwebtoken:jjwt-api:0.13.0' runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.13.0' runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.13.0'} 1. SecurityFilterChain 설정@Configuration@EnableWebSecuritypublic class SecurityConfig { private final JWTUtil jwtUtil..
-
Spring Security - SecurityConfig 클래스Java 2026. 2. 19. 11:00
스프링 시큐리티는 다양한 인증과 보안 기능을 제공하는 도구이다. 단순히 개발자의 코드를 줄여주는 것이 아니다. 보안 취약점이 계속 보완된 검증된 보안, 보안 로직과 비즈니스 로직을 분리해 코드가 깔끔해지고, 간단한 로그인에서 jwt나 oauth등으로의 확장도 편하다. 의존성 추가하기dependencies { implementation 'org.springframework.boot:spring-boot-starter-security'} 1. SecurityFilterChain스프링 시큐리티는 http요청이 controller에 도달하기 전, 필터들을 거치게 만든다. 이 필터들을 로그인 했는지, 권한은 있는지, 해킹 시도는 아닌지 등을 검사한다.@Configuration@EnableWebSecurit..
-
postgreSQL 설치 & 설정데이터베이스 (Database) 2026. 2. 11. 15:45
1. Windows 환경더보기1.1. 설치https://www.enterprisedb.com/downloads/postgres-postgresql-downloads 에 접속 후 원하는 플랫폼 선택해 다운로드. 설치파일 실행 후 과정 설치 위치 - 기본으로 설정하자. 컴포넌트 선택 - 모두 선택해도 상관없다. 데이터 디렉토리 - 기본값으로 설정패스워드 설정 - supersuer인 'postgres'의 비밀번호이다. 꼭 기억해야 한다.포트번호 - 기본 5432를 사용하자.locale - 기본으로 사용하자. 설치가 끝나면 Stack Builder 어쩌고 선택이 나오는데, 해제 후 Finish하면 된다. GUI기반 postgresql 관리 도구는 pgAdmin을 설치하면 된다.pgAdmin 4를 사용해 지지고 ..
-
DBMS, BAAS데이터베이스 (Database) 2026. 2. 10. 17:32
대학교를 다닐 때는 MySql만 사용했다. 그런데 실제로 사용되는 거는 많은 DBMS들이 사용된다. 대표적인 DBMS들을 알아보자. 1. rdbms와 nosql dbms1.1. rdbms (relational dbms)rdbms는 관계형 dbms로 데이터를 행(row)과 열(column)이 있는 테이블에 저장하며, 테이블 간의 '관계'를 맺어 데이터를 관리한다.데이터 무결성, 신뢰성, sql활용이 장점이다. 대신 데이터 구조가 미리 정해져야하고 변경이 어렵다. 대표적으로 MySQL, Oracle Database, PostgreSQL, Microsoft SQL Server등이 있다.1.2. nosql 정해진 트리 업이 데이터의 형태에 맞게 저장하는 방식이다. 대규모 분산 처리에 최적화되어있다.유연성, 확장..
-
tailwind cssweb/css 2026. 2. 5. 16:52
- react에 tailwindcss적용하기더보기1. 프로젝트 생성2. tailwindcss vite버전 설치npm install tailwindcss @tailwindcss/vite3. vite.config.ts에 플러그인 추가import { defineConfig } from 'vite'import tailwindcss from '@tailwindcss/vite'export default defineConfig({ plugins: [ tailwindcss(), ],})4. css파일(index.css나 App.css) 에 tailwindcss 가져오기@import "tailwindcss";5. cdn이나 빌드된 css파일 html로 첨부하기6. 자동완성기능은 vscode에 Tailwind C..
-
CSS 웹 디자인 접근, 업그레이드 방법web/css 2026. 2. 5. 12:17
고민더보기css는 자유도가 너무 높다. 내가 원하는 대로 디자인이 가능한 것이다. 하지만 내가 디자인을 정하고 css코드를 치려고 하면 굉장히 어렵다. 내가 디자인을 정하는 것 부터가 문제이다.어떻게 디자인을 해야 접근성이 좋을지, 글자가 너무 크지도 않고 작지도 않을지, 모바일에서와 pc에서 사용경험이 다를지, 사용자 경험이 직관적일지, 일관성 있는 색상 요소들... 너무나 많은 생각을 해 시작부터 난관에 빠지는 것이다. 게다가 내가 생각한 디자인을 css코드로 만들 수 있는 디자인인지조차 생각해보면서 하면, 디자인을 하려고 시작할 때부터 스트레스를 엄청 받는 것이다. 아무 것도 모를 때 알면 좋은 것들더보기디자인 도구 활용(Figma 등): css코드로 구현할 수 있을지는 생각하지 말고 일단 시각화에..
-
Reactweb 2026. 2. 2. 18:34
- 사용 이유와 장점더보기대규모 프로젝트에서 사용할 때 좋다. 대규모 프로젝트에서의 장점은 수만줄의 코드를 수십명의 개발자가 함께 관리할 수 있는 구조이다. ui를 컴포넌트 단위로 개발해서 재사용성이 좋고 작업 영역이 분리되어 유지보수하기 쉽다. 규모가 커질수록 상태가 복잡해져 코드가 꼬이기 쉬운데, 상태에 따른 결과만 정의한다. 단순히 정보를 보여주는 페이지를 만드는데는 react가 불필요하다. 유지보수와 확장성을 생각한다면 괜찮은 선택이다.- 설치, 빌드더보기nodejs가 설치되어있지 않다면 설치한다.- vite버전(React 18버전이상부터 추천되는 방식)npm create vite@latest를 입력하고 프로젝트 이름을 정하고 react를 선택하면 된다.미리보기는 npm run dev를 하면 된다..
-
PyQt5 라이브러리python 2025. 12. 8. 15:14
PyQt5 라이브러리는 많은 것을 지원하지만, 다른 라이브러리보다 뛰어난 기능은 GUI기능이다. 운영체제에 상관없이 코드 호환성이 거의 100%이다. 기본적인 창 띄우기:import sysfrom PyQt5.QtWidgets import QApplication, QWidgetclass MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle("내가 만든 창") self.move(500, 100) self.resize(400, 200) self.show()if __name__ == "__..