전체 글 188

[CSS] CSS 속성 정리하기

CSS 속성 정리하기 box-sizing CSS를 적용하다보면 border를 적용했을 때, 부모 컨테이너 밖으로 빠져나가는 경우가 종종 발생한다. 이 때, box-sizing: border-box로 설정해주면 테두리와 안쪽 여백의 크기도 요소의 크기로 고려해 빠져나가지 않는다. 기본 값은 box-sizing: content-box이다. opacity 요소의 불투명도를 설정한다. 0에 가까울수록 투명해지고 1에 가까울수록 불투명하다. rgba() rgba는 색상을 표현할 때 사용한다. 4개의 인자를 갖는데, Red, Green, Blue, Alpha(투명도)를 갖는다. a는 생략 가능하다. 투명도는 opacity와 같다. box-shadow 요소의 테두리에 그림자효과를 줄 수 있다. x축 기준 거리, y축..

Anything 2021.10.29

[Node.js] Ubuntu 18.04에 Node.js 14버전 설치하기

Ubuntu에서 Node를 설치할 때, apt를 사용해 설치하면 기본적으로 낮은 버전의 Node.js가 설치된다. 개발환경과 서비스 환경을 맞추기 위해 Ubuntu에 Node.js 14버전을 설치할 필요가 있었다. 1. Node.js에서 source code 다운받기 Node.js에서 제공하는 tar.gz 파일을 다운받는다. (URL은 Node.js 공식문서에서 Linux banaries 64-bit 링크 복사하였음.) 설치된 파일의 압축을 해제한다. 해제된 디렉터리에 bin/node 를 통해 node를 사용할 수 있다. 하지만, 불편하게 경로를 다 써야한다. 그래서 환경변수로 Node를 등록한다. export [환경변수이름]=[환경변수값] 의 형태로 저장한다. (삭제할 경우 unset [환경변수이름])..

Javasciprt 2021.09.10

[ajax] Ajax를 통한 비동기 통신

웹 애플리케이션을 개발하다보면 한가지 기능을 수행하는데, 비효율적으로 동작하는 경우가 있다. 모든 비효율적 동작을 알 수 없고, 모두 효율적으로 해결할 수 없지만, 많이 알려진 것들은 배우고 활용할 필요가 있다. Ajax의 비동기적 통신은 웹 애플리케이션에서 불필요한 리소스를 불러오지 않고 클라이언트와 서버가 통신할 수 있도록 돕는다. 1. Ajax 사용을 위해 jQuery 호출하기 먼저, jQuery를 사용해야 한다. (slim에서는 사용할 수 없었다. minified로 사용했다.) 2. Ajax의 사용 ajax는 javascript 파일에서 사용된다. $.ajax({ type: 'get', url: url, data: data, dataType: 'json', error: onError, succes..

Javasciprt 2021.08.26

[Node.js] 회원가입 시 비밀번호 암호화

현재, 사용자 비밀번호를 회원가입시 바로 DB에 암호화 없이 평문으로 저장하고 있다. 암호화된 비밀번호가 필요하다. bcrypt 모듈을 많이 사용한다. npm i bcrypt const bcrypt = require("bcrypt"); // 암호화 bcrypt.hashSync(password, 10); // Sync로 하면 동기식, 10은 salt를 몇번 돌릴지 횟수, 높을수록 많이 돌리지만 느려질 수 있다. // 암호화된 비밀번호와 비교 bcrypt.compareSync(password, encryptedPassword); 암호화된 비밀번호는 60자의 길이를 갖는다.

Javasciprt 2021.08.24

[MySQL] MySQL root 비밀번호를 잊었을 때

MySQL을 사용할 일이 없어 설치 후 방치해둔 상태였다. 다시 사용할 일이 생겨 MySQL을 찾았는데, 다행히도 설치해둔 경로는 바로 찾을 수 있었다. 그런데, root 비밀번호를 모르겠다... 1. 다시 MySQL을 설치하자. 기존에 사용하던 MySQL이 아니라 새로 받으면 root에 대한 설정이 없을 것이라고 판단했다. 그래서 MySQL을 다시 설치했지만, 접속할 수 없었다. 2. 서버인증을 우회하고, MySQL에 접속해 root 비밀번호를 변경하자? mysqld --skip-grant-tables 위 명령어를 사용하면 새로운 프롬프트 창에서 MySQL에 서버 인증 없이 우회해 접속할 수 있다. 접속하고 mysql database에 접근해 user table에서 root 계정의 비밀번호를 변경하려한..

Anything 2021.08.13

Git reset 후 되돌리기

프로젝트를 진행하던 중 코드를 이전으로 되돌리기 위해 git reset --hard origin/master 를 사용해 원격 저장소에 저장된 코드를 불러왔다. 불러온 코드가... 이전 커밋이 아니라 Push를 한 지 꽤 되어 오래전 코드가 돌아왔다.. 생각 없이 reset한 결과는 대참사. 어떻게 복구할 수 있을지 찾아봤는데, git reflog를 실행하면 현재 브랜치에서의 커밋이나 리셋의 기록들을 불러올 수 있다. 각 로그에는 HEAD@{$} 으로 번호가 있다. 리셋 이전의 로그의 번호를 통해 git reset --hard HEAD@{$}을 실행하면 커밋했을 때나, 리셋했을 때의 코드로 돌아갈 수 있다.

Anything 2021.08.09
반응형