본문 바로가기

전체 글15

Communications link failure 에러가 떴을 때 (feat. DataGrip) DataGrip에서 DB에 연결할 때 Communications link failure 에러가 뜨는 경우가 있다. 원인을 찾아보니 Amazon Aurora MySQL을 써야 하는데 MySQL로 되어있어서 그랬다. 그랬을 때 DataGrip에서 Driver를 바꾸면 된다. 아래 그림에서 Driver 옆에 파란 글씨를 클릭해서 Amazon Aurora MySQL로 바꿔주고 다시 접속하면 해결! 2022. 8. 26.
서버 reboot 시에 서비스(Rails, sidekiq, pm2) 자동으로 실행되도록 하기(ft. systemd) 서버가 갑자기 죽은 경우를 대비해 서버를 재시작하면 rails를 띄우는 방법을 찾아봤다. 처음에는 crontab을 이용했다. @reboot su - user1 -c "cd /home/user1/helloworld && bundle exec rails s" (user1의 계정으로 서비스 띄우기) 잘 되긴 했는데, 이것보다는 서비스를 등록해서 하는 방법이 더 일반적이라고 해서 찾아봤다. 세팅할 서버는 centos 7이었고, 여기에는 systemd를 사용해서 할 수 있다. 방법 간략히. 1. root 계정으로 /etc/systemd/system에 서비스 파일을 만든다. 2. 서비스를 등록한다. 관련 명령어는 아래와 같다. systemctl enable helloworld.service 등록하기(이것만 해주면 .. 2021. 5. 24.
varmilo 키보드를 mac에 연결하기 바밀로 고래 키보드. 정식 이름은 '해운'으로 알고 있다. 고래와 벚꽃 중에 고민하다가 고래로 겟! 사실 받은지 꽤 오래됐는데 며칠 전에 귀염둥이가 키보드를 막 만지다가 키가 꼬였는지.. 잘 되던 한영키가 제대로 안 먹히기 시작했다. 작업은 해야겠고.. 그래서 맥 키보드와 고래 키보드를 왔다갔다하며.. 작업하다가... 도저히 이건 아니다. 능률이 떨어진다ㅜㅠㅜ 하며 열심히 방법을 찾았다. Command키가 인식 안 될 때 처음 키보드를 받았을 때 내 생각에는 윈도우키로 추정되는 해파리키가 Command에 매핑되어야 하는데 아무리 눌러도 이상하게 작동을 했다. 그래서 그때 해결 방법은 설정 > 키보드 > 키보드 에서 키를 바꾸는 방법이었다. 빠르게 해결할 수 있는 방법이기도 하다. 위에 키보드 선택을 하고.. 2021. 3. 9.
ssh로 쉽고 빠르게 접속하기 $ cd ~/.ssh # .ssh로 이동합니다. $ ssh-keygen # 키를 만듭니다. ssh key를 먼저 만듭니다. 이때 키를 저장하고 싶은 위치를 정할 수 있습니다. 저는 그냥 생략! 비번도 물어보지만 넘어갔습니다. 암호를 비워두면 ssh 키 사용할 때 암호를 안 묻는다고 하네요. 그리고 해당 서버에 접속해서 ~/.ssh/authorizaed_keys에 만든 public key를 추가합니다. $ cd ~/.ssh $ ls authorized_keys known_hosts .. $ vi authorized_keys # 로컬에 있는 id_rsa.pub 내용을 authorized_keys 붙여넣습니다. 그리고 내 컴퓨터의 ~/.ssh/config에 아래와 같이 작성합니다. $ vi ~/.ssh/con.. 2021. 1. 21.
티스토리에서 코드블록 어렵네요 ㅠㅠㅠ 한번 날잡고 세팅하고 기록을 남겨야겠어요 ㅠ 2021. 1. 21.
scp 파일 복사 명령어 scp -i ~/.ssh/maria.pem -P 22 -r root@30.30.30.30:/home/webapp/test/current/log/test1.gz /Users/maria/logs/test 이렇게 하면 파일 복사가 된다. -i와 그 뒤에 파일은 비밀번호 없이 가져오기 위한 방법 2020. 12. 29.
grep grep은 파일에서 원하는 줄을 찾을 수 있도록 도와준다. grep -n 'special' | grep 'select' 이렇게 하면 special 와 select라는 문구가 모두 들어가있는 줄이 줄넘버와 함께 같이 나온다. -n : 라인 넘버와 같이 나온다. 2020. 12. 29.
[ruby]class_eval과 module_eval의 차이 결론부터 말하면 class_eval과 module_eval의 작동 차이는 없다. module_eval의 alias가 class_eval이다. 실제 두 함수를 사용할 때 차이점이 생긴다. class_eval은 객체의 attribute를 다룰 때 사용한다. 예를 들어 객체의 암호화된 필드가 있다면 그 암호화된 필드를 부를 때 자동으로 복호화하는 함수를 만들 수 있다. module_eval은 객체의 method를 만들 때 사용한다. class Thing end #클래스를 만든다. a = %q{def hello() "Hello there!" end} Thing.module_eval(a) # module_eval을 사용해서 hello()라는 함수를 Thing에 추가한다. puts Thing.new.hello() .. 2020. 12. 20.
form 태그의 method form 태그의 method는 get과 post만 가능함. 그래서 form 안에 _method 값을 지정해줘야함. 2020. 12. 1.
ruby의 send 함수 첫번째 인자로 들어온 함수명을 부른다. 1.send '+', 2 1.+(2) 1 + 2 모두 같음. 그런데 왜 send를 사용하는가? 코딩양을 많이 줄일 수 있다고 한다. c = Car.new c.make="Honda" c.model="CRV" c.year="2014" 위의 코드를 아래와 같이 쓸 수 있다. c = Car.new() params.each do |key, value| c.send("#{key}=", value) end 출처 : stackoverflow.com/questions/3337285/what-does-send-do-in-ruby 2020. 12. 1.