반응형 전체 글403 Flutter 앱 개발 시리즈: SQLite 데이터베이스 다루기 + 버전관리 모바일 앱 개발에서 로컬데이터베이스 활용을 하려는데 SQLite를 쓰기로 했다. 항상 서버사이드에서 다루다가 앱에서 다루려니까 미숙한 부분이 있는데, 테이블을 직접 만들어줘야 하고, 그 DDL을 앱 설정에 포함되어야 한다는 점이다. 우선 SQLite를 쓰면서 순서대로 살펴보도록 하자. SQLite 테이블 설계시 주의사항SQLite는 다른 RDBMS와 달리 동적 타입 시스템을 사용한다. 이게 어떤의미냐면 VARCHAR나 INT를 지정할떄 자릿수 등을 명확히 정해야하는 그런 것을 하지 않아도 된다는 점이다. 그로인해 유연한 데이터 저장은 가능하겠지만, 단점은 타입 불일치로 인한 버그 발생 가능성이 높아진다. 또한 서버사이드에서 다루는 데이터베이스인 Mysql이나 PostgreSQL등은 테이블을 미리 만들어.. 2024. 11. 28. Flutter 앱 개발 시리즈: Riverpod과 비동기 데이터 초기화 문제 해결하기 들어가며Flutter로 앱을 개발하다 보면 앱 시작 시 여러 데이터를 동시에 불러와야 하는 상황이 자주 발생한다. 특히 로컬저장소, SQLite, API 등 여러 데이터소스를 활용할때는 더욱 그렇다. 오늘은 앱을 개발하면서 마주친 비동기 초기화 문제와 그 해결 과정을 공유하려 한다. 문제상황최근 개발중인 사진 앱에서는 시작 시 두가지 데이터를 불러와야 했다.로컬 파일 시스템의 파일 정보SQLite 데이터베이스에 저장된 ID 정보 처음에는 단순하게 다음과 같이 구현하였다.class HomeScreen extends ConsumerStatefulWidget { @override ConsumerState createState() => _HomeScreenState();}class _HomeScreenS.. 2024. 11. 27. [springboot 3.x, querydsl] QClass 생성 및 경로 설정 springboot 2.x 와 달라진점이 있다면 plugins 에 편의상으로 추가했던 다음항목을 사용하지 못하면서 문제가 시작된다. id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" 위 플러그인을 사용하면 compileQuerdsl 이라는 Task 가 생기고 실행하면 QClass 를 정해진 위치에 생성한다. 그래서 querydsl 을 사용하는데 경로에러 등이 발생하지 않는다. 그런데 이 플러그인을 사용하지 못하면서 task에 직접 설정을 추가해야 한다. 우선 설정 완성형을 먼저 공개하고, 이후 왜 이렇게 설정이 되었는지 설명하고자 한다 plugins { id 'java' id 'org.springframework.boot' version '3.0.5' i.. 2023. 3. 31. springboot Test 중에 403, 401 에러가 날때(spring security) Spring Security 가 구성되어 있는 프로젝트에서 Controller 테스트를 하다보면 인증때문에 에러가 난다. WebMvcTest로 수행했다 하더라도 Security 는 Filter 영역에 추가되는 것이기 때문에 그렇다. WebMvcTest를 사용하게 되면 내가 설정한 Spring Security Configuration 들을 불러오지 않고 최소한의 것들을 넣기 때문에 내가 필터한 URL도 모두 무시하게 되서 403, 401 에러가 나게 되는 것이다. 일단 이 상황에서 2가지 방법이 있는데 mockMvc에 .with(SecurityMockMvcRequestPostProcessors.csrf()) 를 추가 클래스에 @AutoConfigureMockMvc(addFilters = false) 추가 .. 2023. 3. 22. [Linux] 젠킨스(jenkins) 포트번호 변경 이전에 리눅스에 젠킨스를 설치하면서 포트번호 수정하는걸 추가했는데, 요즘 버전에 이게 안되는 경우가 있다. https://lemontia.tistory.com/656 [Linux] centos7 젠킨스 설치 1. jenkins repository를 설정파일을 생성wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo 2. /etc/yum.repos.d/jenkins.repo 경로에 파일을 다운로드 받았는지 확인하고 있으면 아래 실행rpm -- lemontia.tistory.com 확인해 봤더니, systemctl 로 시작할때 스크립트 안에 포트번호를 파라미터로 주는게 있고, 그게 적용되서 안되는 것을 확.. 2023. 3. 20. [mac] ppk 키를 pem 키로 변환하기(ec2 접속) 윈도우의 경우 ppk를 이용해 putty 로 접속하지만, mac은 pem 키가 있으면 터미널로 접속이 가능하다. 이전에 담당하던 사람이 ppk로만 가지고 있어 이것을 pem으로 변환해야 하는 상황이었다. 간단하게 brew를 통해 putty 를 설치하고, 명령어 하나로 변경할 수 있다. 우선 brew를 통해 putty를 설치한다 brew install putty 다음으로 ppk 파일이 있는 곳으로 이동하여 다음처럼 커멘드를 입력한다 puttygen [ppk파일].ppk -O private-openssh -o [pem파일명].pem 이렇게 하면 지정한 이름으로 .pem 파일이 생성된다. 여기서 사용하려면 권한을 600으로 주어야 한다 chmod 600 [pem파일명].pem 이제 변경한 키를 가지고 서버에 .. 2023. 3. 16. 이전 1 2 3 4 5 6 7 ··· 68 다음 반응형