이전 포스팅에서는 GCP를 통해 vm 인스턴스를 셋팅해보았고 GCP에서 지원하는 SSH를 이용하여 실행 해보았습니다.

이제 Node.js 를 설치하고 실행 해보겠습니다.

1. sudo apt-get update 명령어를 실행 해줍니다.

2. node.js를 설치하는데 sudo apt-get install nodejs 를 하게 된다면 node 10 버전이 설치가 될것입니다.

현재 nolde.js 의 LTS 는 16.16.0 이고 최신버전은 18.6.0 입니다.

node.js 와 react 같은 라이브러리를 사용하기 위해선 최소 14버전 이상을 설치하기를 권해드립니다.

그래서 LTS 버전을 설치하기 위해선 위와 같이 curl -sL https://deb.nodesource.com/setup_16.x | sudo bash - 이렇게 명령어를 실행해 줍니다.

3. 이제 sudo apt-get -y install nodejs 를 해줍니다.

4. 이제 다음과 같이 버전을 확인했을때 node v16.16.0  npm 8.11.0 이렇게 나온다면 제대로 나온것입니다.

다음 포스팅에선 ssh 연결 과 ftp 접속을 해보겠습니다.

고생하셧습니다

'BackEnd > Node.js' 카테고리의 다른 글

[GCP VM 인스턴스] rsa key 와 ssh 연결  (0) 2022.07.25
[ GCP VM 인스턴스 ] 기본 셋팅  (0) 2022.07.23
[ ORM ] Sequelize - Migration  (0) 2022.04.29
[ ORM ] Sequelize - Seeders  (0) 2022.04.26
[ ORM ] Sequelize - 2  (0) 2022.04.25

예전에 Google Cloud Platplatform(GCP) 를 해보며 괜찮다고 생각이 되어 최근에 클라우드 플랫폼이 꽤나 인기를 끌면서 이걸 정리하면 나중에 두고두고 보겠다 싶어서 블로그에 정리하기로 했습니다.

일단 GCP에 로그인을 하고 대시보드에 들어가줍니다.

1. 왼쪽 상단에 작대기 3개를 누르면 다음과 같이 사이드 메뉴가 나오는데 Computer Engine을 눌러줍니다.

2. 그리고 VM 인스턴스를 눌러줍니다.

3. 인스턴스 만들기 를 눌러줍니다.

 

4. 부팅 디스크를 바꿔줍니다, 기본 Debian 을 사용하시는 분들은 안건드려도 되고 그게 아닌분들은 ubuntu 또는 centos 를 설치해줄것입니다.

5. 변경을 눌러줍니다.

 

6. 운영체제를 클릭하고 원하는 운영체제를 선택해줍니다.

Ubuntu 또는 CentOs 또는 원하는 것

버전도 개인 취향에 맞게 설치해줍니다, 저는 Ubuntu 20.04 LTS 를 선택했습니다.

크기는 개인적인 취향이긴한데 크기는 무료버전에선 30GB까지 지원해줍니다, 그 이상을 할시 유료가 될 수 있는 점 알아두시길 바랍니다.

 

7. 부팅 디스크 밑에 ID 및 API 액서스를 확인해줍니다. 서비스 계정은 그대로 두고 방화벽 부분에 두개의 체크박스가 원래는 체크가 되어있지 않을것입니다. 체크 해줍니다.

 

그리고 만들기 버튼을 눌러줍니다.

 

8. 만들기 누르고 2~5분 기다리면 다음과 같이 나옵니다.

그럼 이제  연결 부분에 SSH를 눌러주면 작은 새 창이 나올것입니다.

 

9. 이렇게 나오면 정상적으로 설치가 된것입니다.

 

고생하셧습니당

'BackEnd > Node.js' 카테고리의 다른 글

[GCP VM 인스턴스] rsa key 와 ssh 연결  (0) 2022.07.25
[GCP VM 인스턴스] Node.js 설치 및 실행  (0) 2022.07.24
[ ORM ] Sequelize - Migration  (0) 2022.04.29
[ ORM ] Sequelize - Seeders  (0) 2022.04.26
[ ORM ] Sequelize - 2  (0) 2022.04.25

php 에서 date 출력하면 utc 기준으로 하기 때문에 현재 22:25 이지만 date로 출력하게 되면 9시간 전인 13:25 나오게

됩니다. 이유는 UTC Time을 쓰기 되기 때문 입니다.

 

한국시간은 UTC + 9h 를 해야지 한국시간이 나오게 됩니다.

 

php.ini 에서 date.timezone= 이렇게 되어 있거나 ;date.timezone= 이런 식으로 되어있을겁니다.

이걸 date.timezone=Asia/Seoul 이렇게 바꿔줍니다.

 

그럼 한국 시간대로 22:25 으로 정상적으로 나오게 됩니다.

'알면 좋은 지식들' 카테고리의 다른 글

[ Excel ] 전화번호 하이픈(-) 처리 + 0 사라짐 처리  (0) 2024.08.20
[ Postman ] POST 날리기  (0) 2022.04.23
Npm vs Yarn  (0) 2022.04.21

php 하다보면 다른 사람의 코드를 가져와서 쓸 경우가 있습니다.

아니면 프로젝트를 가져와서 써야하는 경우도 있구요, 그런데 } 중괄호 에러 라던가 이상한 에러가 있을경우

 

php.ini 을 확인해보면 short_open_tag=off 가 되어있는 경우가 있을것입니다 이것을 short_open_tag=on 해주면 에러가 해결이 되는 경우가 있습니다.

 

저도 이것때문에 2시간 정도.. 날렸네용 ㅠㅠ

phpMyAdmin 을 처음에 사용하면 보통 되는게 정상인데 안되는 경우가 있습니다.

다음과 같이 에러가 뜨는 중인데 

여러가지 경우 수가 있겠지만 일단 저는 집에서 사용했기 때문에 기존에 사용하던 mysql을 3306으로 맞춰두었고 xampp 사용하면서 mariaDB 를 3307로 물려놓았습니다. 기본적으로 phpMyAdmin default port 값이 3307 이기 때문에 이것을 해결하기 위해선 C:\xampp\phpMyAdmin\config.inc.php 를 수정해주어야 합니다, 파일 이름이 config.inc 이고 확장자 까지 합친다면 config.inc.php 가 되게 됩니다.

 

이제 여기에서 만약 패스워드가 존재 한다면 $cfg['Servers'][$i]['password'] = '' 이곳에 패스워드를 추가 해주고 아마 포트라는 칸이 따로 없을 것입니다. 그래서 포트를 넣는 부분을 따로 만들어 주면 됩니다. 그래서 총합을 하자면

$cfg['Servers'][$i]['password'] = '1234';
$cfg['Servers'][$i]['port'] = '3307';

이렇게 됩니다.

 

그리고 xampp 패널을 통해 mysql 재부팅을 시켜주고 phpMyAdmin 을 접속해줍니다.

다음과 같이 나왔다면 잘 해결이 된겁니다.

 

다들 즐거운 코딩 하세용

 

'Bug Report' 카테고리의 다른 글

[ Mysql ] mysql을 찾을 수 없음.  (0) 2025.03.31
PHP 버그 - short_open_tag  (0) 2022.07.11

작업 :: 오전

Bug Fix : 오늘 오전까지 php 버그 수정 했고 this->lists(); 이런식으로 redirect 처리 하던것을 php ci 내장함수 helper 인 redirect 를 썻습니다 

 

요구사항 수행 :

1. php 유효성 검사 ( php ci validation 사용 )  - 오전 11시 40분 쯤 작업이 끝~ 인줄 알았으나 /controller/create는 금방 처리 되었는데 /controller/update 부분에서 /controller/process_update 부분이 뻑이 나면서controller/update > controller/detail로 넘어가면 문제가 없는데 controller/update 에서 유효성 검사에서 false 가 되어 새로고침 될때 url이 /controller/update 가 아니라 /controller/process_update가 되어서 segment 부분이 제대로 전달 되지 않아서 3시간 30분 가량 소모했던것 같습니다.

 

2. jQuery로 유효성 검사 하기 - /view/footer.php  에다가 js 코드를 모아두었습니다.

common 인 부분도 있고 /view/create.php /view/update.php 부분도 비슷한게 많아서 중복코드를 피하기 위해 common으로 만들기 위해 footer에 집합해 두었습니다.

  2 - 1 . 작성자 부분 한글, 영어만 사용 가능, 2자 이상 10자 미만

  2 - 2 . 제목 100자 이하

  2 - 3 . 3가지 input 창 모두 required

 

3. tel_number - 전화번호 넣는 칸을 추가 해달라고 하셔서

  3 - 1 . DB에 table 수정을 통해 tel_number 열을 추가 해주었습니다

  3 - 2 . board list 출력부분 tel_number 열 추가 x

  3 - 3 . board create input 영역 추가

  3 - 4 . php ci validation tel_number 유효성 검사 추가.

  3 - 5 . jQuery로 프론트 부분 tel_number 유효성 검사 추가

 

4. 게시판 목록 번호 넣기

  jQuery를 이용해 게시판 목록 번호을 넣기 위해선 전체 게시물 갯수와 현재 페이지 가 필요했는데 현재 페이지 부분에서 url segment가 이상하게 나오는 버그가 있었습니다. 그래서 그걸 처리하기 위해서 pagination 부분을 수정하여 처리했습니다.

 

5. 게시판 리스트 클릭시 detail 페이지 이동 기능 수정

  기존 board lis 에서 리스트 아이템을 클릭하면 ( tr 부분 ) detail로 가지 않고 무조건 제목 부분에 있는 a 태그 영역을 클릭해야 페이지 이동을 할 수 있었습니다, 

  이것을 html 영역에서 tr 부분에 id 또는 class로 board_id 를 주입하는것이 아닌 dataset 을 이용하여 ' data-item="1" ' 이러한 형태로 html 태그 형식으로 만들어 둔 뒤에 jQuery를 이용하여 select를 걸어서 tbody 아래 tr을 모두 가져와서 click 이벤트를 걸어줍니다. 그리고 콜백함수로 매개변수로 item 이라는 이름으로 받아오고 itemID 상수를 잡아준뒤 매개변수로 넘어온 element의 item currentTarget을 이용하여 dataset 'item' 값을 가져옵니다.

전에 만들어 둔 move_page 함수를 통해 `/index.php/board/detail/${itemID}` 를 인자로 넣어줍니다.

 

내일 할 예정

전화번호 유효성 검사

    1. 숫자만 받는 것

    2. 10자리 이상

검색 기능 추가

게시판 번호 추가

'TIL (Dev)' 카테고리의 다른 글

[2022-07-04] TIL  (0) 2022.07.04

회사에서 xampp 를 이용하여 php 환경 구축을 하였습니다.

php 7.4 mariaDB 를 이용하였습니다, 

 

 ERROR :: Apache port 

[Apache] This may be due to a blocked port, missing dependencies, 
[Apache] improper privileges, a crash, or a shutdown by another method.
[Apache] Press the Logs button to view error logs and check
[Apache] the Windows Event Viewer for more clues
[Apache] If you need more help, copy and post this
[Apache] entire log window on the forums

[Apache] This may be due to a blocked port, missing dependencies

 

딱 위에 한줄을 복사해서 구글링을 했습니다, 영어 대충 읽으면 포트가 막혔다, 포트가 충돌했다 인거 같은데 구글링 해보니 역시 포트가 충돌하여 포트를 바꾸면 된다고 하여 시도를 했습니다.

 

httpd.conf 에 들어가서 Listen 80을 8080으로 변경 하였으나 실패

혹시나 8080이 있나 싶어서 8090으로 해봤지만 실패

 

그래서 더 구글링 하여 ssl도 바꾸어 보라는 글을 보았습니다.

그래서 ssl도 Listen 433을 435, 437, 4433 으로 바꾸어 보았지만 실패

 

포트도 다 바꾸었고 Config 자체에 들어가서 포트를 설정을 했는데도 아파치가 실행이 안되는 겁니다.

그래서 cmd 창에 들어가서 apache의 httpd를 직접 실행해주었습니다.

저는 xampp 이기 때문에 C:\xampp\apache\bin\httpd 였습니다.

그랬더니 에러가 나왔습니다. php version 뭐라뭐라 하여서 생각해보니 xampp를 최초로 깔면 7.4로 깔리는데 5버전으로 연습할려고 php 5.6을 찾아서 xampp에 넣었다가 apache가 실행이 되지 않던것입니다.

 

그래서 php 버전 5.6 에서 7.4 로 다시 업그레이드 하고 실행 했더니 해결이 되었습니다.

 

 ERROR :: PHP Codeignite - Database Connection 

 

php ci 에서 데이터 베이스 연동을 했는데 에러가 떳습니다.

mysqli init 에러가 떳고 구글링을 해보니 php.ini 에서 ; 이 되어있어서 주석이 되어있기 때문에 풀라는 내용이었습니다.

ex) ;extension=mysqli

 

그래서 풀어주었지만 해결이 되지 않습니다.

 

결국 제가 해결을 하지 못했고 사수님이 해결을 해주셧습니다.

php.ini에서 extension=C:/xampp/php/ext/php_mysqli.dll 이런식으로 직접 경로를 지정해주어 import 했습니다.

그랬더니 db 연결이 제대로 되었습니다.

'TIL (Dev)' 카테고리의 다른 글

[ 2022-07-06 ] TIL  (0) 2022.07.06

Database 를 처음 접하면 제일 첨에 보는 단어가 DBMS 이라고 생각이 듭니다.

 

DBMS 란?

Database Management System 으로 데이터베이스 관리 시스템 이라고 합니다.

 

DBMS를 한개만 사용하여 쓰기도 하고

확장성과 부하 분산을 구현하기 위해 클러스터 구성 또는 스케일 아웃 을 하기도 합니다.

 

DBMS 를 이용하면 간접적으로 DB참조할 수 있고, 데이터를 추가, 삭제, 갱신 할수있습니다.

DBMS를 사용하기 위해 프로그래밍 같은 언어가 필요한데 그것이 바로 SQL 입니다.

 

RDBMS 이란?

RDBMS (Relational Database Management System) 이란 뜻이며 관계형 데이터 베이스 라고 불립니다.

Relational Algebra (관계 대수) 라는 것을 착안하여 고안 된 데이터베이스 이며 행과 열을 가진 표 형식 데이트 즉 엑셀 과 유사한 형태라고 보시면 됩니다.

예시로 예전에 유저 관리하던걸 가져왔습니다 (임시로 만든 데이터들이니 걱정마세용)

 

RDBMS를 왜 알아야하는가..

RDBMS는 우리가 살고있는 이 세상에서 가장 많이 사용되는 DBMS중 하나라고 생각하시면 되고 제가 공부하고 있는 웹 서버 개발, 안드로이드 개발, 비행기, 은행 등등 정말 많은 부분에서 쓰이고 있는 DBMS 입니다.

RDBMS의 종류

Oracle 오라클에서 개발한 RDBMS
역사가 깊고 많은 시스템, 가장 많이 쓰이는 RDBMS중 하나이며 사실상 표준으로 뽑힙니다.
DB2 IBM이 개발한 RDBMS
역사가 깊지만 IBM 컴퓨터에서만 구동이 되었기에 시장 점유율이 낮습니다.
SQL Server 마이크로소프트가 개발한 RDBMS
윈도우 플랫폼 에서만 동작하며 윈도우 서버 분야가 넓어지면서 SQL Server 시장 점유율이 늘어나는 추세입니다.
PostgreSQL 오픈 소스 커뮤니티에서 개발한 RDBMS
오픈소스 이기에 자유롭게 사용 가능 합니다.
MySQL PostgreSQL과 마찬가지로 오픈 소스 커뮤니티에서 개발한 RDBMS
경량 DB 라는것을 강조하여 필요한 최소한의 기능만 갖춘 DB
SQLite 오픈 소스 커뮤니티에서 개발한 RDBMS
임베디드 시스템에 자주 쓰이는 작은 RDBMS 입니다.

 

알바하면서 공부하는데 어느정도 정리가 필요할것 같아서 블로그에 올려봅니당

최근 편의점 아르바이트를 시작하며 비흡연자 입장에선 담배 위치 외우는게 보통 일이 아니었습니다.

한국산 담배만 약 100개 가량이 되었기에 쌩으로 외우기에는 한계가 있다고 생각이 들었습니다.

(외국산 담배, 전자 담배 까지 한다면 200개는 그냥 넘을것 같네요..)

 

기본적으로 담배 종류를 알고 담배 이름을 알아야 외우기를 연습할수있는데 종류와 이름 조차 알지 못하여

담배를 랜덤으로 뽑아내서 그걸 보고 찾아내며 담배 이름을 외우기로 결정했습니다.

 

기본적으로 Vanilla JS가 아닌 React를 사용하기로 했습니다.

 

Cigarette Component를 만들고 그 밑 View 와 Option Component를 배치해두었습니다.

Option Component는 즉 옵션, 힌트 이미지 체크박스, 추가 할 담배 종류 체크박스 등을 두는 Component

이며,

View Component는 담배를 랜덤으로 돌릴수 있는 돌리기 버튼이 있고 그에 따라 담배가 랜덤으로 보이는 박스가 존재합니다.

v0.0.3
v1.0.0

이번에 v1.0.0 버전으로 릴리즈 하며 github.io 를 이용하여 배포하였습니다. 🎉

https://gangon0215.github.io/b04-simple-cigarette-app/

 

 

디자인은 그렇게 신경쓰지 않았습니다.

 

지금은 v1.2.0 까지 릴리즈 되었으며 릴리즈 정보는 다음 링크를 확인하시면 알수있습니다.

담배 어플리케이션 Releases

 

Releases · GangOn0215/b04-simple-cigarette-app

담배 외우기 위해 만든 앱. Contribute to GangOn0215/b04-simple-cigarette-app development by creating an account on GitHub.

github.com

 

앞으로 계획은 React 에서 Router Page 처리와 Context 와 useReducer을 이용할것이고 CRUD를 사용하며 페이지로 나눠볼 예정입니다.

마지막 포스팅이 약 2주전이네요.

 

블로그로 TIL을 쓰며 깃허브로 TIL을 쓰며 1일 1커밋을 지켜나가며 알차게 지냈습니다 5월 초까지?는 말이죠

그런데 문득 생각이 들었습니다. 이게 맞는건가? 이렇게 무의미한 TIL을 늘려가며 분량을 늘려간다고 되는게 아닌데 라는 생각을 했습니다.

 

그때부터 저는 TIL로 깃허브 커밋을 채우지 않기로 했습니다.

정확히는 TIL에 제 일기를 쓰지 않기로 했습니다.

TIL 는 Today I Learned : 나는 오늘 공부하였다.

 

즉 개발 공부에 대한 기록을 하는곳이지 제 일기를 쓰던곳이 아닙니다.

 

하지만 절반 이상의 양이 제 일기로 채워져있었고 그때부터 이건 아니라는 생각과 같이 커밋을 멈추고 개발 또한 억지로 계속 하는것 보단 기다렸습니다. 

제 자신이 개발에 다시 흥미를 가질수있도록 잡생각과 쉬고싶다는(사실 그렇게 열심히 하지도 않았는데) 생각에 잡혀 있었고 그러다 주말 아르바이트를 구하게 되었고 최근에서야 다시 3~4월에 열심히 했던 React를 다시 공부해보며

재밌다, 더 배우고 싶다, 더 알고싶다

라는 생각이 들때 쯤 사람인 사이트를 통하여 입사지원을 계속 넣어보았습니다.

React 인 FE 직군과는 반대인 BE 직군 쪽으로 말이죠, 그러다 다음주 금요일에 면접이 잡혔고 도전해볼 예정입니다.

그래서 다음주 월요일부터 목요일 까지 하루 12시간을 투자하여 스프링 기초와 기본적은 CRUD 프로젝트 구조 정도를 공부를 할것이며 신입이지만 조금 더 공부하여 보여주고 싶습니다.

 

'Diary' 카테고리의 다른 글

[ 면접 ] 2022-04-14  (0) 2022.04.14
[ 2022-03-31 ]요즘 근황  (0) 2022.03.31
[2022-03-27]  (0) 2022.03.28
[ 2022-03-25 ] 블로그를 쓰는 이유  (0) 2022.03.25

+ Recent posts