가장 많이 사용하는 웹서버이다. 현재는 웹서버 보다는 SSL 인증서를 적용해주는 프록시로 사용하는 경우가 더 많다. 그래서 static 데이터 처리는 신경을 안써도 될 정도다. 우선 기본 설정 파일인 /etc/nginx/nginx.conf 을 알 필요가 있다. 이 파일에서 대부분의 nginx 설정이 들어있는데 마지막 줄을 보면 include /etc/nginx/conf.d/*.conf; 부분이 있는데 모든 설정 후에 conf.d 폴더의 모든 .conf 파일 설정을 추가하라는 의미다. 기본적으로 도커 nginx 이미지의 nginx.conf 는 server 설정이 빠져있다. 그래서 conf.d에 추가해 주면 된다. 아래 부분이 conf.d 폴더의 default.conf 파일인데 여기서 서버 설정을 하면 된다..
해보면 다 아는 내용이겠지만 더 시간 절약되길 바래서 남긴다. Strapi는 콘텐츠를 쉽게 관리하는 용도로 개발된 콘텐츠 관리 시스템이다. 설치시에는 기본적으로 sqlite 데이터베이스를 사용하는데 나중에 mysql이나 postgresql로 데이터베이스를 변경하면, '자동으로 이미 만들어진 데이터까지 스키마 생성을 하면서 같이 복사한다.' 사실 이것이 전부이다. 개발자들이 의문이 생기는 지점이 기본 sqlite에서 mysql 이나 postgresql로 어떻게 바꿀 수 있는지에 대한 것인데, '해답은 설정을 바꾸고 접속하면 알아서 데이터 복사까지 해준다' 이것이 답이다. 아래는 쓴 김에 절차를 추가한다. 절차는 아래 링크에 잘 나와 있다. Database | Strapi Documentation Strap..
Tailwind에서 구글 폰트를 tailwind css으로 사용하면 편리하다. 이전 포스팅에서 Next Js에서 구글 폰트 사용하는 걸 올렸는데, 이해할 것도 없지만, 거기서 시작하면 이해하기 더 쉽다. NextJs 구글 폰트 사용하기 (tistory.com) 1. fonts.js 파일에 import 할 폰트를 import 한다. 여기에 variable을 정의한다. 이 변수는 tailwind 설정에 사용한다. // app/fonts.js import { Noto_Sans_KR } from 'next/font/google' export const notosanskr = Noto_Sans_KR({ subsets: ['latin'], variable: '--font-notosanskr' }) 2. RootLa..
NextJs는 pre rendering 할 때 사용하는 폰트를 다운로드해서 static 페이지를 만든다. 서버에서 패키징 시에만 폰트 사이트에 접속해서 가져온다. 1. fonts.js 파일을 만들어 폰트를 import 한다. 보통 app 폴더 아래 만든다. // app/fonts.js import { Noto_Sans_KR } from 'next/font/google' export const notosanskr = Noto_Sans_KR({ subsets: ['latin'] }) 2. 사용한다. // component/heading.jsx import { notosanskr } from "../app/fonts" import React from 'react' function Heading({ childr..
React나 Next에서 Tailwind를 사용할 때 ' ' 를 사용하면 자동 완성이 안되는 경우가 있다. 이럴 경우 html 설정이나 emmet에서 따옴표 설정을 single에서 double로 바꾸면 동작하지 않는다. 1. 아래 자바 스크립트 속성을 double 로 변경해야 한다. settings json에서 검색할 때 아래 처럼하면 되고 UI에서도 그대로 붙이면 검색이 된다. javascript.preferences.quoteStyle
1. 이론은 대해서는 생략한다. 2. MySQL은 index에서 full text 검색을 지원해서 index를 full text로 설정하고 검색 대상이 될 컬럼을 지정해서 인덱스를 만들면 된다. 3. PostgreSQL은 약간 다른데 특정한 데이터 타입의 컬럼을 추가하여 그 컬럼을 지정해서 검색하는 방식이다. 4. 내용이 별거 없어서 아래 참고하면 된다. 5. 사실 스프링을 사용하면 Hibernate에서 full text search를 지원하는데, Apache Lucene 엔진을 사용한다. 하지만, 설정이 필요하고 파일시스템에 저장하는 방식을 사용하기 때문에 간편함을 추구하다가 더 불편해 질 수도 있다. 개인적으로는 데이터베이스에서 지원하는 것을 사용하는 것을 선호하는데 결국 선택의 문제다. # 자연어 ..
기능을 구현하려는데 라이브러리를 사용하려는 뭔가 복잡하고, 이해하기 힘든다는 생각이 들면, 그 라이브러리 탓이지 사용하는 개발자 문제가 아니다. 기본적으로 프로그램은 은닉성이 중요한데, 내부 동작을 알고 작업해야 한다는 것은 그 프로그램의 심각한 결함이 있다는 말이다. circuit breaker는 그냥 호출하는 서비스가 죽었을 때 대처하는 방법을 우아하게 한 것 뿐이다. 예전에 try catch 에서 다 하던 거라 별 것 없다. 1. io.github.resilience4j:resilience4j-spring-boot3 의존성 사용하여 구현한다면 웬만하면 이 설정 부분 만큼은 자바 쓰는 게 낫다. 설정 많이 추가해서 코클린 컴파일 하는 것 보다 default interface를 자바로 구현하는 것이 안..
같은 증상이 발생하면 해보기 바란다. 현재 스프링 부터 3.2.2 버전을 사용하고 있다. Security는 6.2.2 1. 이 문제는 고질적인 문제이다. Spring Cloud 환경에서 React와 Spring Boot 개발할 때 생기는 문제로 아무리 Spring Cloud Gateway 설정을 만져봤자 브라우저에서는 Origin이 없다고 호출을 차단해 버린다. 즉 아래 설정 같은 거 아무리 만줘 봤지 동작하지 않는다. gateway 서버가 그냥 헤더를 무성히하게 반환한다. sporing: cloud: gateway: default-filters: - DedupeResponseHeader=Access-Control-Allow-Origin Access-Control-Allow-Credentials glob..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- Many-To-Many
- 외부파일
- MYSQL
- 로그인
- WebMvc
- 설정
- jsp
- Validation
- XML
- crud
- Spring
- 상속
- mapping
- 매핑
- spring boot
- one-to-one
- 설정하기
- one-to-many
- Security
- Rest
- Angular
- 스프링
- RestTemplate
- hibernate
- 스프링부트
- 하이버네이트
- 자바
- login
- form
- Spring Security