프로젝트 폴더 내에 클라이언트와 api서버가 함께 있을 때 서버를 키기 위해서는 각각 packge.json이 있는 폴더로 이동하여 npm 명령어를 실행해야 하는 번거로움이 있다. 이런 불편함을 해소하고 하나의 명령어로 두개의 서버를 킬 수 있는 concurrently라는 npm 패키지가 있다. npm install concurrently --save 설치 후에 아래의 dev명령어와 같이 입력하면 동시에 두개의 서버가 실행된다 --prefix 명령어는 client폴더 안에서 "npm run start"를 실행한다는 뜻이다 "scripts": { "start": "nodemon server/index.js", "dev": "concurrently \"npm run start\" \"npm run start ..
pwa 설치가 가능하다는 것은 명시적으로 보여주기 위해 배너에 pwa 다운로드 버튼을 넣어서 노출시켰다. 이 배너는 pwa를 다운로드 받았을 시에 노출이 되지 않기는 원했다. 안드로이드에서는 beforeinstallpropmt 이벤트를 통해 pwa로 시작되는지 웹페이지로 시작되는지 감지가 가능하지만 ios에서는 불가능하다. window.addEventListener("beforeinstallprompt", (e) => { e.preventDefault(); deferredPrompt.current = e; }); ios는 media쿼리를 사용하여 감지할 수 있다. @media all and (display-mode: standalone) { body { background-color: yellow; } ..
기존에 아파치를 통해서 ssl인증을 통해 https설정을 하였다. api서버를 띄운 후에 테스트를 하는 도중 크롬에서 api서버가 https가 아니기 때문에 보안상의 문제가 있다고 하며 값을 가져오지 못하는 이슈가 생겼다. 이를 해결하는 방법은 크롬 보안 설정을 하거나 api서버에도 ssl인증을 하는 방법이 있다. 실제 서비스를 생각한다면 당연히 후자의 방법으로 해야 문제가 없을 것으로 생각하여 삽질을 시작하였다. 아파치 virtualHost 세팅을 생각해 보았을 때 virtualHost 포트를 하나 생성해서 기존처럼 proxypass를 통해 api서버로 보내면 될 것으로 생각하고 virtualHost *:3001, proxypass localhost:3001 설정을 해보았으나 작동하지 않았다. 아파치의..
NameVirtualHost *:80 ServerName 서버주소 Redirect / https://서버주소 # SSL Virtual host add ServerName 서버주소 # ErrorLog /www/home/logs/error_log SSLEngine on SSLCertificateFile certificate.crt파일경로 SSLCertificateKeyFile private.key파일경로 SSLCertificateChainFile ca_bundle.crt파일경로 DocumentRoot 루트디렉토리경로 ProxyPass / http://localhost:3000/ ssl 설정 후 proxyPass를 통해 node서버가 돌아가고 있는 localhost:3000으로 리다이렉트 시킴
centos6에서는 지원이 되지 않는 것들이 많아서 node등을 설치시에 번거롭다. 그에따라 centos6 -> 8로 변경하였다 1. node js 설치 참고 https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-centos-8 2. mysql 설치 참고 https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-8 3. apache 설치 참고 https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-centos-8
개발환경 세팅에 대해 상세하게 설명이 되어있다. cmd를 사용하여 설치한 후 git bash에서 실행 시에 오류가 나타났으나 이는 vscode를 재실행 하지 않아서 나타난 오류였다. wsl은 expo 사용시에 충돌이 일어나는 일이 잦아서 세팅을 보류하였다 https://dev-yakuza.github.io/ko/react-native/install-on-windows/ 윈도우(Windows)에 react native 개발 환경 구축하기 react-native로 앱을 개발하기 위해 윈도우(Windows)에 개발 환경을 구축해 보고, react-native로 생성한 프로젝트가 잘 동작하는지 확인해 봅니다. dev-yakuza.github.io
1. nodejs centos6에서 nodejs 설치했으나 최신 버전이 아닌 0.10 버전이 설치가 되었다. centos6를 최신버전이 지원하지 않아 아래의 블로그에서 해결방법을 찾았고 12.x버전을 설치할 수 있었다. https://jang8584.tistory.com/259 2. mysql mysql 5.7버전에서는 설치를 하면서 임시 비밀번호가 로그에 생성된다. 이 임시번호를 가지고 초기에 로그인하여 비밀번호 재설정이 필요하다. 자세한 내용은 아래 블로그에서 확인 https://cyberpunkhunter.blogspot.com/2019/03/centos-68-mysql-57-mysql-51.html 3. 아파치 아파치를 설치한 후 리액트 빌드파일을 root 디렉토리로 설정하였다. 아래 블로그를 참..
const path = require("path"); module.exports = { name: "wordrelay-setting", mode: "development", // 실서비스 : production devtool: "eval", resolve: { extensions: [".js", ".jsx"], }, entry: { app: ["./client"], }, //입력 module: { rules: [ { test: /\.jsx?/, loader: "babel-loader", options: { presets: ["@babel/preset-env", "@babel/preset-react"], plugins: ["@babel/plugin-proposal-class-properties"], }, ..
Command 'webpack' not found, but can be installed with: apt install webpack 자바스크립트를 하다보면 위와 같은 에러를 자주 접한다 이런 에러가 뜨는 이유는 커맨드에 명령어가 없어서 이다. 이를 해결하기 위해서는 크게 3가지 방법이 있다. 1. package.json에서 스크립트 부분에 명령어 추가 "scripts": { "webpack": "webpack" }, 커맨드에서 npm run webpack을 치면 실행이 된다 2. 커맨드에 npx webpack 를 쳐서 실행 3. 커맨드에 webpack 명령어 입력