개요Spring Security의 SecurityFilterChain을 활용한 기본 로그인(formLogin)에서 로그인을 처리할 때 405 이슈가 발생했다. 경과 @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .authorizeRequests() .anyRequest().permitAll() .and() .formLogin() .loginPage("/user/login") .usernameParameter("username") .passwordPar..
개요Spring boot 와 react 프로젝트 연동 테스트에서 CORS 이슈 방지를 위해 proxy 설정을 했지만, proxy error가 발생했다. Proxy error: Could not proxy request /api/test from localhost:3000 to http://localhost:8083/. See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED). 과정간단하게 Spring Boot 프로젝트에 API 컨트롤러를 만들고, React 프로젝트 쪽에서 접근하도록 했다. @RequestMapping(method = RequestMethod.GET, ..
스크린샷 버전 정보Electron v28.1.3Electron forge v7.2.0Node.js v18.18.0SQLite3 v3.39.0Jquery v3.7.1기능검색 기능다운로드 기능상세 보기 기능추가SQLite - Full Text Search를 활용한 검색 기능 최적화Web worker를 활용한 앱 성능 안정화 (응답 없음 이슈 해결)DB 내에 파일을 압축하고 바이너리화하여 데이터 용량 경량화요약Kaggle에서 csv 데이터 및 이미지 파일 탐색데이터 및 이미지 DB 테이블 삽입 자동화SQLite - FTS 테이블 및 쿼리문 구현기능 구현HTML 마크업 및 CSS 소스 반영이슈 및 기능 수정빌드 및 패키징 설정
GitHubhttps://github.com/bsorryman/recipe-bag 개요생각해두었던 기능은 모두 구현 완료했고, 이제 마지막으로 빌드와 패키징이 남았다. electron forge를 이용해 프로젝트를 구성했기 때문에, 간단한 script 명령어 하나로 설치파일(setup)을 패키징할 수 있다. 패키징 설정{ "name": "recipe.electron", "productName": "Recipe Bag", "version": "1.0.0", "description": "What should I eat today", "main": ".webpack/main", "scripts": { "start": "electron-forge start", "package": "ele..
GitHubhttps://github.com/bsorryman/recipe-bag 개요메인 화면 및 검색 결과 화면 내의 검색창에서 최근 검색어를 저장하는 기능을 추가한다. JavaScript 코드 req_loadRecentKeywords: () => ipcRenderer.send("req_loadRecentKeywords"), resp_loadRecentKeywords: (keywordList) => ipcRenderer.on('resp_loadRecentKeywords', keywordList), req_pushRecentKeyword: (keyword) => ipcRenderer.send("req_pushRecentKeyword", keyword), req_delRece..