전체 글 39

intellij에서 hot reload 설정

IntelliJ IDEA 최신 버전에서의 자동 빌드 설정 방법 기본 설정:File > Settings (Windows/Linux) 또는 IntelliJ IDEA > Preferences (Mac)로 이동Build, Execution, Deployment > Compiler로 이동Build project automatically 옵션 체크고급 설정:File > Settings (Windows/Linux) 또는 IntelliJ IDEA > Preferences (Mac)로 이동Advanced Settings로 이동 (검색창에 "advanced" 입력)Allow auto-make to start even if developed application is currently running 옵션 체크실행/디버그 구..

카테고리 없음 2024.09.11

Spring JPA paging에서 Slice

- Pagable을 하면 필수적으로 count query를 만들므로, 때로는 성능상 손해가 된다.- Spring Data JPA에서 제공하는 Slice 인터페이스를 사용하면 된다.. 이 방법을 사용하면 카운트 쿼리 없이 페이징을 구현할 수 있습니다. -  UI에서 "다음" 버튼만 제공하고 전체 페이지 네비게이션을 표시하지 않는 경우에 적합합니다.// Repository public Slice listAll(Pageable pageable) { return todoRepository.listAll(pageable);}- 첫페이지 또는 마지막 페이지 여부를 간접적으로 알수 있다.1. hasNext() 메소드: slice.hasNext()가 false를 반환하면, 현재 페이지가 마지막 페이지 이 메소드는..

개발 2024.08.06

Mariadb 클러스터 설정관리 위한 Tool : Severalnines ClusterControl

개요더보기Severalnines ClusterControl은 데이터베이스 클러스터의 배포, 관리, 모니터링을 위한 종합적인 플랫폼입니다. MariaDB Galera Cluster를 포함한 여러 유형의 데이터베이스 클러스터를 지원합니다.주요 특징:클러스터 배포 및 구성:웹 기반 GUI를 통해 MariaDB Galera Cluster를 쉽게 구성할 수 있습니다.온프레미스, 클라우드(AWS, Google Cloud, Azure 등) 환경 모두 지원합니다.자동화된 복구 및 장애 조치:노드 장애 발생 시 자동으로 감지하고 복구 프로세스를 시작합니다.필요한 경우 자동으로 장애 조치를 수행합니다.백업 관리:자동화된 백업 스케줄링 기능을 제공합니다.전체 및 증분 백업을 지원합니다.클라우드 스토리지(S3, Google ..

카테고리 없음 2024.08.04

Jetbrains - Intellij에서 Run창에 한글깨질 때

1. 프로젝트 인코딩 설정 확인: File > Settings (윈도우) 또는 IntelliJ IDEA > Preferences (맥)로 이동 Editor > File Encodings에서 Global Encoding과 Project Encoding이 UTF-8로 설정되어 있는지 확인 2. Run/Debug 구성에 VM 옵션 추가: Run > Edit Configurations 메뉴로 이동 해당 테스트의 구성을 선택하고 VM options 필드에 -Dfile.encoding=UTF-8 추가 3. IDE의 .vmoptions 파일 수정: Help > Edit Custom VM Options 선택 파일 끝에 -Dfile.encoding=UTF-8와 -Dconsole.encoding=UTF-8 두 줄 추가 4..

카테고리 없음 2024.07.26

quicktype.io 를 통해서 데이터 객체 생성하기

https://app.quicktype.io/ 여기를 이용하면 귀찮은 데이터 객체 생성하기를 해주고 관련 함수도 만들어 준다. - 나는, Put encoder & decoder in Class 체크를 풀어서 class 밖에 생성되는 목록관련 함수들을 클래스 안으로 넣고 static 메서드로 변환해 주니까 편하드라. import 'dart:convert'; class Product { String name; int age; Product({ required this.name, required this.age, }); factory Product.fromRawJson(String str) => Product.fromJson(json.decode(str)); String toRawJson() => json.e..

flutter 2023.09.04

Getx - Reactive State manager 방식들

사용하는 방법들이 여러가지가 있어서 간단하게 해서 정리나열을 해봄 import 'package:get/get.dart'; import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return GetMaterialApp( home: PersonalCard(), ); } } class Person { int age = 0; String? name = ""; } class Controller extends GetxController { fin..

flutter/기타 2023.09.04

다른 앱으로부터 공유받기 - flutter_sharing_intent

- https://pub.dev/packages/flutter_sharing_intent 사용 - 안드로이드에서는 AndroidManifest.xml에 다음을 추가 main.dart import 'package:flutter/material.dart'; import 'dart:async'; import 'package:flutter_sharing_intent/flutter_sharing_intent.dart'; import 'package:flutter_sharing_intent/model/sharing_file.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatefulWidget { const MyApp({super.key});..

flutter 2023.09.03

Flutter를 Chrome에서 실행할 때 생기는 Cors문제 회피

개발 단계서는 일단 크롬에서 실행해서 개략의 실행을 해보는데, Cors API에러가 잘난다. SDK에서 설정을 일단 이렇게 설정해서 보안문제 넘어가보자. 1. flutter\bin\cache 위치로 이동 후 flutter_tools.stamp 파일 제거 2. flutter\packages\flutter_tools\lib\src\web 위치로 이동 후 chrome.dart 파일 open 3. '--disable-extensions' 찾기 4. 해당 위치에 '--disable-web-security' 추가하기 https://kjmhercules.tistory.com/8

flutter/기타 2023.08.13

infinite scroll 구현 - 패키지 예제 단순화 함

플러터에서 무한스크롤을 구현하는 다음의 패키지가 있는데, 그 안의 예제가 좀 복잡해서 단순화 해 봄. 예제안의 api URL도 동작안하길래 다른 곳으로 바꾸고, 또 혹시 몰라서 첨부파일에 그 json 받은 파일도 넣어 놨음.;;;; https://github.com/EdsonBueno/infinite_scroll_pagination/ https://pub.dev/packages/infinite_scroll_pagination import 'package:flutter/material.dart'; import 'dart:convert'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:http/http.dart..

flutter/기타 2023.08.13

React Recoil

- useState상태관리는 기본적으로 해당 component안에서만 쓰임. 다른 component에서 쓰려면 props를 통해서 써야하므로 props drill hell에 발생 - 상태값을 외부의 일종의 전역적 영역에 두고 여러 component에서 가져다 쓸수 있게 할 필요가 있음. - redux를 제일 많이 쓰는데, 가장 많이 쓰지만 쓰기 너무 쓰레기 - recoil이 괜찮아 보임. 1. 상태 저장 : atom이나 selector를 사용해서 별도의 공간에 저장 2. 가져다 쓰기 : useRecoilValue, useSetRecoilState를 사용 3. RecoilRoot를 상위 요소에 감싼다. 4. 심플한 예 import {atom, RecoilRoot, useRecoilState} from "r..

개발/react 2023.04.09

React Redux 최소 설정 코드 (React Native)

리덕스는 이렇게까지 복잡하게 써야하나 싶게 좀 햇갈리는 면이 있다. 자의로는 쓸거같지 않지만, 개념 파악을 위해 가장 심플한 코드로, 하나의 파일에 작성해 보았다. import {Button, Text, View} from "react-native"; import {Provider, useDispatch, useSelector} from "react-redux"; import {combineReducers, createStore} from "redux"; const initialState = { value: 0 } const counterReducer = (state = initialState, action) => { switch (action.type) { case "PLUS": return { .....

개발/javascript 2023.03.30

jetbrains ide에서 (webstorm, phpstorm 등등) react-router-dom의 자동완성이 안될 때

1. 기본적으로 IDE자체가 내장하고 있는 관련 javascript 설정을 삭제한다. System directory 안에 있는 LocalAppData에서 파일 제거 예1) C:\Users\_____\AppData\Local\JetBrains\WebStorm2022.3 디렉토리에서 javascript > typings > react-router-dom 디렉토리 삭제 윈도우의 경우 그냥 탐색기 창에 %LOCALAPPDATA%\JetBrains 라고 넣자. 참고) https://www.jetbrains.com/help/webstorm/directories-used-by-the-ide-to-store-settings-caches-plugins-and-logs.html#system-directory 2. Help..

개발 2023.01.19

centos 에서 php82 + nginx + codeigniter 설정

nginx 설치 https://8ugust-dev.tistory.com/5 php, php-fpm : https://8ugust-dev.tistory.com/6 codeigniter 설정 : https://krksap.tistory.com/879 if (!-e $request_filename ) { rewrite ^(.*)$ /index.php last; } CI 구버전에서는 dynamic properties are deprecated 메시지가 나오므로, 해당되는 클래스 위에 다음을 붙이자. #[AllowDynamicProperties] str_replace 세번째 인자에 null deprecated나오므로, string 형변환 하자 mariadb 설치 : https://wikidocs.net/16274

개발 2022.11.21

opencv 설치시 ImportError: libGL.so.1 에러

opencv 설치할때 pip로 설치는 되었는데, 실행하면 에러남 File "/usr/local/lib64/python3.6/site-packages/cv2/__init__.py", line 181, in bootstrap() File "/usr/local/lib64/python3.6/site-packages/cv2/__init__.py", line 153, in bootstrap native_module = importlib.import_module("cv2") File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level)..

개발/python 2022.10.08