ssh gitlab 접속 시 permission denied 오류 해결 방법

터미널에서 아래 명령어로 로그인해준다. ``` ssh -T git@gitlab.xxxxxx.yyy ``` 참고 사이트 https://forum.gitlab.com/t/permission-denied-publickey/29670/7

AWS EC2 ubuntu 18.04 에 Python3, pip3, opencv, requests 설치 방법(How to install Python3, pip3, opencv, requests in AWS EC2 ubuntu 18.04)

## AWS EC2 ubuntu 18.04 에 Python3, pip3, opencv, requests 설치 방법 2020년 5월경 만든 AWS EC2 ubuntu 18.04에 Python3, pip3, opencv-python, requests를 설치해봤습니다. 기본적으로 Python2.7.17, Python3.6.9가 깔려있었습니다. 버전 확인은 아래와 같이 합니다. ``` python -V ``` Python3의 경우엔 ``` python3 -V ``` `pip3` 설치는 아래와 같이 합니다. ``` sudo apt-get install python3-pip ``` `pip3`을 정상적으로 설치되었으면, 아래와 같이 `opencv-python`를 설치합니다. ``` pip3 install opencv-python ``` opencv-python 설치 도중, `ModuleNotFoundError: No module named 'skbuild'` 라는 오류가 났습니다. 검색 후 아래와 같은 해결 방법으로 해결했습니다. ``` pip3 install --upgrade pip ``` 그 다음 아래와 같은 명령어로 설치가 되었는지 확인합니다. ``` python3 -c "import cv2; print(cv2.__version__)" ``` 만약 오류가 나는 경우, apt로 python3-opencv 설치를 해줍니다 ``` sudo apt update sudo apt install python3-opencv ``` 그 다음 다시 확인해보면 설치된 버전을 확인할 수 있습니다. `requests` 의 경우엔 아래와 같이 설치하는데 이미 깔려있다고 알려줍니다. ``` pip3 install requests ``` #### 참고 사이트 https://yuddomack.tistory.com/entry/%EC%B2%98%EC%9D%8C%EB%B6%80%ED%84%B0-%EC%8B%9C%EC%9E%9...

URL 파라미터를 인코드하는 방법 (How to encode URL parameter in JavaScript)

# URL 파라미터를 인코드하는 방법 (How to encode URL parameter in JavaScript) ''%%%" 라는 파라미터를 넣었더니, invalid query parameter 라는 에러가 발생. 해결하기 위해서 방법을 찾아봤습니다. 스택 오버 플로우에서 여러 해답을 볼 수 있었는데, 그 중에 눈에 띄는 것이 크게 2개였습니다. ## encodeURI(), encodeURIComponent() 함수 사용 encodeURI(), encodeURIComponent() 와 같은 함수를 사용해서 uri의 특정한 문자를 UTF-8로 인코딩해줍니다. ``` console.log(encodeURIComponent('test?')) // output: "test%3F" ``` ## URLSearchParams() 사용 toString()과 함께 사용해 URL의 쿼리 문자열을 반환할 수 있습니다. ``` let params = {} params['online'] = "true" params['age'] = '20s' params['query'] = '!@#$%' console.log(new URLSearchParams(params).toString()) // output: "online=true&age=20s&query=%21%40%23%24%25" ```

https://mznetblog.wordpress.com/2016/04/29/includes-vs-eager_load/

https://mznetblog.wordpress.com/2016/04/29/includes-vs-eager_load/

https://blog.bigbinary.com/2016/05/30/rails-5-adds-or-support-in-active-record.html

https://blog.bigbinary.com/2016/05/30/rails-5-adds-or-support-in-active-record.html

https://www.honeybadger.io/blog/a-beginner-s-guide-to-exceptions-in-ruby/

https://www.honeybadger.io/blog/a-beginner-s-guide-to-exceptions-in-ruby/

find each

https://medium.com/@minhyeok4dev/activerecord-batches-%EC%A0%9C%EB%8C%80%EB%A1%9C%EB%A7%8C-%EC%9D%B4%ED%95%B4%ED%95%B4%EB%8F%84-100%EB%B0%B0-%EB%B9%A8%EB%9D%BC%EC%A7%84%EB%8B%A4-53f253bd5a51

inverse of

https://medium.com/carwow-product-engineering/improving-performance-using-rails-inverse-of-feature-dc97b37df6a7

레일즈에서 여러 개의 db records를 한 번에 수정하고 싶다면? update_all 을 쓰자 ! (How to update db records at once in Ruby on Rails)

## 레일즈에서 여러 개의 db records를 한 번에 수정하고 싶다면? update_all 을 쓰자 ! (How to update db records at once in Ruby on Rails) 만약 `User` 라는 모델이 있고, `loginname`, `name`, `role` 라는 `column` 이 있다고 가정한 후 example 을 봅시다. 모든 user 의 role 을 "customer" 로 변경해봅시다. 아래와 같이 하면 끝! ``` User.update_all(role: "customer") ``` 이럴 일이 있을지는 모르겠지만, loginname 을 name 으로 모두 바꿔야한다면? ``` User.update_all('name = loginname') ``` 너무 간단하죠? 다만 Active Record callbacks 또는 validations 이 트리거되지 않기 때문에(예를 들어 user를 update하는 경우 무엇을 한다. 또는 user를 update할 때 무엇을 validation 한다.) 이 점을 참고해야해요 ! 또, callbacks 이 트리거되지 않아서 updated_at, updated_on column 들이 자동적으로 update되지 않는다는 점을 참고해야해요 !

루비 온 레일즈에서 devise gem 없이 로그인 기능 구현하기 4, 마지막 (How to build authentication system without devise gem in Ruby on Rails)

## 루비 온 레일즈에서 devise gem 없이 로그인 기능 구현하기 4, 마지막 (How to build authentication system without devise gem in Ruby on Rails) 쿠키, 세션을 이용해 로그인 기능을 구현해봤습니다.([지난 포스트 참고](http://ghkdgh2365.blogspot.com/2020/07/devise-gem-3-how-to-build.html)) 이번엔 JWT(JSON Web Token)를 이용해 로그인을 구현하겠습니다. 구현 방법은 로그인 요청이 왔을 때, 로그인에 성공하면 서버에서 토큰을 생성한 뒤 클라이언트(브라우저)에게 전달합니다. 이후 클라이언트가 유저에 대한 정보를 요청해야할 때, 받은 토큰을 가지고 서버에 요청해 서버가 토큰 정보를 통해 해당 유저에 대한 정보를 제공합니다. 참고로 로드밸런싱처럼 서버를 확장하거나, 모바일 앱에서 인증을 확인하는데 있어서, 이전 방법보다 JWT가 훨씬 유용하기 때문에, JWT를 이용한 로그인을 많이 사용하고 있는 추세입니다. 그럼 이제 JWT를 이용해 로그인을 구현해보도록 하겠습니다. `개발환경 Ruby 2.7.0 / Rails 6.0.2.2` JWT을 만들기 위해 gem 을 설치하겠습니다. `Gemfile` 파일에 아래와 같이 추가합니다. ``` # JWT 생성 및 사용 gem 'jwt' ``` 추가했다면 저장하고 터미널에 아래와 같이 명령어를 실행합니다. ``` bundle install ``` 설치가 끝나면 `lib` 디렉토리에 가서 `json_web_token.rb` 이라는 파일을 만들고 아래와 같이 코드를 입력해줍니다. 생성된 JWT를 해석할 때 사용됩니다. ``` class JsonWebToken def self.decode(token) return HashWithIndifferentAccess.new(JWT.decode(token, Rails.application.credentials.secret...