https://docs.microsoft.com/ko-kr/windows/wsl/install-manual

 

이전 버전 WSL의 수동 설치 단계

wsl install 명령을 사용하지 않고 이전 버전의 Windows에 WSL을 수동으로 설치하는 방법에 대한 단계별 지침입니다.

docs.microsoft.com

 

'OS > Linux' 카테고리의 다른 글

[유틸리티] ls 명령어를 화려하게 Colorls  (0) 2022.08.06
[터미널] Oh My Zsh 설치  (0) 2022.08.06

MariaDB 설치

설치에 앞서 환경별로 패키지 및 세부 사항이 다르므로 확인이 필요하다

필자의 환경은 Ubuntu 20.04.4 LTS이다.

sudo apt update && sudo apt upgrade -y

우선 apt update를 해서 최신 리스트 정보를 가져온다.

이후 apt upgrade로 업데이트가 필요한 패키지들을 전부 업데이트 해준다.

sudo apt search maria

apt search로 원하는 mariadb 버전을 찾는다.

본문에서는 mariadb-server로 설치를 진행하려고 한다.

버전은 1:10.3.34-0이다.

sudo apt install mariadb-server -y

-y 옵션을 주어서 설치 확인을 스킵한다.

설치가 완료된 이후에 아래 명령어를 넣어서 제대로 설치가 되었는지 확인한다.

sudo apt list | grep 'maria'

이제 설치는 정상적으로 된 것이라 할 수 있다.

이 상태에서도 바로 사용할 순 있지만, 여러가지 설정을 더 해주면 좋다.

 

 

 

환경설정

  1. root 계정 비밀번호 설정
  2. 기본 문자 인코딩 utf8mb4로 변경
  3. 백업 및 디버깅을 위한 Log 설정
  4. root 계정 비밀번호 설정

 

  • root 계정 비밀번호 설정
sudo mysql

설치한 직후 mysql root 계정은 비밀번호가 따로 설정되어 있지 않기에, 별도로 비밀번호를 설정해주는 것이 좋다.

우선 root 권한으로 mysql을 실행한다.

SHOW databases;

나오는 3개의 데이터베이스 중 mysql을 선택해서 user 테이블을 검색한다.

USE mysql;
SELECT Host, User, Password FROM user;

root의 password 칸이 비어있는 걸 확인할 수 있다.

-- MariaDB 10.4 미만
UPDATE user SET password=('사용할 비밀번호') where user='root';

-- MariaDB 10.4 이상
SET password=('사용할 비밀번호');

이제 root 비밀번호가 정상적으로 변경된 것을 확인할 수 있다.

 

  • 기본 문자 인코딩 utf8mb4로 변경

기본적으로 설치가 되면 utf8 또는 utf8mb4로 설정이 되어있을 것이다.

이를 확인하는 방법은 아래 명령어를 mysql 창에서 입력해서 확인하면 된다.

SHOW VARIABLES LIKE 'c%';

필자는 기본적으로 utf8mb4로 되어있다.

만약 위와 같이 설정되어 있지 않다면 /etc/mysql/mariadb.conf.d/ 폴더 아래 있는 .cnf 파일들의 기본 문자 인코딩을 전부 utf8mb4로 설정하면 된다.

50-client.cnf, 50-mysql-clients.cnf

[client]
# Default is Latin1, if you need UTF-8 set this (also in server section)
default-character-set = utf8mb4

50-server.cnf

#
# * Character sets
#
# MySQL/MariaDB default is Latin1, but in Debian we rather default to the full
# utf8 4-byte character set. See also client.cnf
#
character-set-server  = utf8mb4
collation-server      = utf8mb4_general_ci

 

  • 백업 및 디버깅을 위한 Log 설정

/etc/mysql/mariadb.conf.d/ 폴더 아래 있는 50-server.cnf에서 설정 가능하다.

#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file       = /var/log/mysql/mysql.log
#general_log            = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#

log_error는 sql 문 실행 중 발생하는 에러의 내용을 저장할 위치이다.

편한 위치로 설정하고, 나중에 에러 발생시 찾아보면 될 것이다.

#
# Enable the slow query log to see queries with especially long duration
#slow_query_log_file    = /var/log/mysql/mariadb-slow.log
#long_query_time        = 10
#log_slow_rate_limit    = 1000
#log_slow_verbosity     = query_plan
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id              = 1
log_bin                = /var/log/mysql/mysql-bin.log
expire_logs_days        = 90
max_binlog_size        = 100M
#binlog_do_db           = include_database_name
#binlog_ignore_db       = exclude_database_name

log_bin은 Binary Log의 저장 위치이다.

expire_logs_days는 해당 로그를 저장할 기간을 말하며, max_binlog_size는 하나의 로그 파일의 최대 크기를 말한다.

Binary Log란 CREATE, ALTER, DROP, INSERT, UPDATE, REMOVE 등과 같이 데이터를 변경하는 쿼리문을 Binary 형식의 로그로 내보낸 것을 말한다.

추후에 발생할 에러나 장애에도 해당 로그를 바탕으로 롤백할 수 있기에 설정을 해두는 것을 추천한다.

db 운영간에 발생한 로그들

 

 

참고 블로그

'DB > MariaDB' 카테고리의 다른 글

Binary Log를 이용한 MariaDB 롤백  (0) 2022.08.06

우선 구글에 nginx windows를 검색해서 나오는 링크로 들어간다.

 

http://nginx.org/en/download.html

 

nginx: download

 

nginx.org

해당 링크에서 Stable version 중 뒤에 Windows가 붙은 걸로 다운로드 한다.

 

작성일 기준으로 1.22.0이 Stable version이므로 nginx/Windows-1.22.0을 클릭해서 다운로드 받는다.

 

압축을 풀고 원하는 위치로 옮긴다.

 

nginx를 실행하려면 루트 폴더 아래에 있는 nginx.exe를 클릭해서 실행한다.

 

브라우저에서 localhost나 127.0.0.1을 주소창에 입력한다

 

 

위와 같은 화면이 나오면 설치는 끝이다.

 

nginx는 cmd에서도 실행이 가능한데, 자세한 옵션은 아래 링크에 있다.

 

http://nginx.org/en/docs/windows.html

 

nginx for Windows

nginx for Windows Version of nginx for Windows uses the native Win32 API (not the Cygwin emulation layer). Only the select() and poll() (1.15.9) connection processing methods are currently used, so high performance and scalability should not be expected. D

nginx.org

 

\nginx 설치경로\nginx.exe -s start
  • \nginx 설치경로\nginx.exe -s start 는 nginx를 실행한다.
\nginx 설치경로\nginx.exe -s quit
  • \nginx 설치경로\nginx.exe -s quit은 nginx를 중지한다.

 

설치는 했는데, 매번 이렇게 실행하는 것도 번거로운 것 같아서 .bat 스크립트를 찾았는데, 조금 수정해봤다.

원본 스크립트는 아래 링크에 있다.

https://steemit.com/steemcodeit/@ektorcaba/start-stop-bat-script-to-nginx-for-windwos-from-steemcodeitcom

 

우선 실행이다.

 

start.bat

@ECHO OFF
ECHO Starting NGINX
start nginx.exe

popd

:loop
goto loop

cmd 창이 바로 사라지면 켜졌는지 알 수 가 없어서, 계속 켜져있게 루프 옵션을 주었다.

 

quit.bat

@ECHO OFF
nginx.exe -s quit

taskkill /f /IM php-cgi.exe
taskkill /f /IM cmd.exe
EXIT

quit을 실행하면 실행하던 start.bat 창도 같이 종료되게끔 했다.

 

reload.bat

@ECHO OFF
ECHO Starting NGINX
start nginx.exe -s reload

EXIT /b

reload는 필요할진 모르겠지만, 일단 만들어 두었다.

 

이제 해당 스크립트를 nginx 루트 폴더에 두고, 바탕화면에 바로가기하면 훨씬 편하게 쓸 수 있다.

'Web Devlope > WAS' 카테고리의 다른 글

[Nginx] 리버스 프록시를 이용한 멀티 도메인 구현  (0) 2022.08.15

Template literals는 ES2015에 추가된 문자열에 변수명을 그대로 사용하게 하는 문법 설탕 (synatatic sugar)이다

 

기존에는 문자열 리터럴에 '(Apostrophe), "(Quotation Mark)를 사용했지만, 

Template literals를 사용하기 위해서는 `(Grave Accent)를 사용해야한다.

 

예를 들어서

 

그레이브 엑센트 대신 아포스트로피를 사용하면 다음과 같은 결과가 나온다.

let name = 'world';
console.log('Hello ${name}');

리터럴로 인식해 그대로 출력하는 걸 볼 수 있다.

 

이번에는 그레이브 엑센트로 사용했을 때이다.

let name = 'world';
console.log(`Hello ${name}`);

원하는 대로 잘 출력된 걸 볼 수 있다.

 

이외에도 다른 기능들이 많으니 MDN을 참고하는 게 좋을 거 같다.

 

Template literals(MDN)

 

'Language > JavaScript' 카테고리의 다른 글

[JS] 배열과 객체의 차이  (0) 2022.08.27

가끔 컴퓨터에서 새 프로그램을 깔다보면 여러 어려움을 겪는 경우가 많다

특히 내가 마주했던 가장 대표적인 문제는 버전문제 였다.

 

특히 무작정 설치하다보면, 내가 생각했던 기능이 없거나(오래된 빌드여서), 전에는 없었던 버그(새로운 빌드여서)가 생기는 경우가 종종 있다. 그래서 어떤 버전을 써야할 지 많이 고민이 되곤 한다.

 

그렇기에 되도록 버그가 없는 안정화된 버전을 쓰고 싶은데, Nightly 빌드 라는게 눈 앞에 보이면 무척이나 황당할 것이다.

도대체 이건 무슨 버전인 건가?..

 

구글의 Nightly 버전

 

Nightly는 흔히 개발자용 버전(Developer) 또는 선공개 버전(Pre Release)와 같은 의미이다.

Nightly라는 어원이 주간에 프로젝트를 작성하고, 퇴근 한 이후에 작성된 소스코드를 바탕으로 자동화된 테스트를 돌려서 빌드된 버전이라고 한다.

이와 반대 개념으로 Daily 빌드도 있다고 한다.

 

위키

https://lodash.com/

[Lodash

_.defaults({ 'a': 1 }, { 'a': 3, 'b': 2 });_.partition([1, 2, 3, 4], n => n % 2);DownloadLodash is released under the MIT license & supports modern environments. Review the build differences & pick one that’s right for you.InstallationIn

lodash.com](https://lodash.com/)

자바스크립트 라이브러리로 여러가지 다양한 기능들은 지원해 편의성이 높음

또한 MIT 라이선스를 사용해서, 추후에 다른 프로젝트에 써도 큰 문제가 발생하지 않음

개인적으로 Vue 책 보면서 공부하다가 _.debounce 메소드를 봤는데 무척이나 편해보여서 자주 사용하려고 함

해당 메소드를 참고할 만한 링크

TipsMD는 개발 및 환경구축 간에 알아두면 좋을 내용 및 팁들로 구성한 공개 리포입니다.

수시로 내용을 추가 또는 업데이트 해서 올릴 예정입니다.

 

리포 바로가기

어제 하루동안 이것저것 할 것 하고, 이러다보니 벌써 하루가 다 지나버렸다.

매일매일 어느정도 작성할 마음으로 만들었는데, 벌써부터 나태해지는 것 같다 ( ̄◇ ̄;)

 

하여간 원래는 개발 블로그 + 개인 블로그로 같이 진행하려고 했는데, 뭔가 사적인 건 여기다 쓰기에는 아닌 것 같다는 생각이 들었다. 그래서 이 블로그는 이제 내가 공부한 내용 정리 + 여러가지 개발 관련된 내용을 적는 블로그로 활용할 생각이다.

 

매일매일 작성하는 것이 목표긴 하지만, 그래도 꾸준한게 가장 중요한 거라고 생각한다.

앞으로도 꾸준히 작성해서, 나중에 돌아봤을 때 나만의 보물이 될 수 있는 공간으로 만들어야겠다.

'Etc > Dairy' 카테고리의 다른 글

블로그 첫 시작~  (0) 2022.06.23

+ Recent posts