下級エンジニアの綴

新しく発見したことを綴っていこうと思っています。夢はでっかく上級エンジニアになることです。

ssh先のサーバでrailsサーバを立ち上げるシェルを書いたのはいいけど、sshをkillするとrailsのプロセスが残ったままになったのでメモ

今回ハマった点ですが、タイトルの名の通りssh先のサーバでrailsサーバを立てるシェルを書いたのでが、ctrl + c で抜けるとsshはkillされてrailsのプロセスがssh先のサーバで残ったままだったので、解決方法を模索したメモになります。 ssh hostname 'rails …

LINE DEVELOPER DAY 2017に行って来ました

Line Developer Day に行って来ました 昨年も参加したのですが、ブログに書くのは今年が初めてになります。 受付 午前のセッション Opening Session The Technologies in Clova LUNCH TIME 午後のセッション Gateboxのこれまでとこれから Paying back techni…

linux(centos)の公開鍵を置いているサーバーにsshが出来なくて嵌まったのでメモ。

今回は公開鍵を置いているサーバーにsshが出来なくて嵌まって調べたメモになります。 状況 .sshフォルダの権限は700で所有者はログインユーザー authorized_keysの権限は600で所有者はログインユーザー 公開鍵と秘密鍵は対になっている タイポもしていない …

Rspecでインスタンスメソッドのテストに苦労したのでメモ

今回はRspecでメソッドのテストをしたかったのですが、メソッド内で定義しているメソッド先の処理のテストは記述したくなかったので、それを解決したメモになります。 rubyのコード # 今回テストしたかったのはTest1のexecuteメソッドになります Class Test1…

docker-composeでRAILS_ENVを切り替えて実行する方法を調べたのでメモ

今回はrspecを実行したいけど、わざわざdockerのコンテナの中に入って実行するのはイケてないと思い、調べたそのメモになります。 docker-compose exec test bash RAILS_ENV=test_docker rake db:migrate:reset RAILS_ENV=test_docker rspec ↑のコマンドを叩…

railsのhash#tryでちょっと躓いたのでメモ

railsでhashにtryをかけているとエラーが出たので、その時に調べた内容をメモ。(一度先輩に教えてもらった気がするのですが完全に忘れてましたorz 本題 この書き方だとhashにkeyが存在する時は問題無いのですが、 { name: 'yantera' }.try(:fetch, :name) # …

rubyの特異メソッドのprivateについて気になったから調べたのでメモ

特異メソッドでprivateなメソッドを呼ぶ方法 sendを使う privateの特異メソッド、privateのインスタンスメソッドを関係なく呼べる 最終手段な感じがするので、あまり推奨できないと思った class A def self.hoge A.new.send(:fuga) end def self.aaa A.send(…

rubyの多次元hashで指定したkeyを削除する時、ActiveSupportのexceptを使うと便利だったのでメモ

require 'active_support' h = { a: 1, b: 2, c: 3, d: { e: 4, f: { g: 5 }}} p h.except(:a) // {:b=>2, :c=>3, :d=>{:e=>4, :f=>{:g=>5}} p h // {:a=>1, :b=>2, :c=>3, :d=>{:e=>4, :f=>{:g=>5}}} p h[:d].except!(:f) // {:e=>4} p h // {:a=>1, :b=>2,…

go初心者が無名関数のクロージャについて学んだのでメモ

go

スターティングGo言語という本を読んでいるのですが、これは面白そうだなと思った機能があったのでメモ クロージャとしての無名関数 クロージャーから参照されたローカル変数は関数内のローカル変数とは別物になりクロージャの変数になる クロージャが何らか…

builderscon2017に行って来ました

buildersconとは 4日 初めてのMySQLチューニング -データベースは怖くない! ランチセッション 横山三国志に「うむ」は何コマある?〜マンガ全文検索システムの構築 Goで実装する軽量マークアップ言語パーサー RDBアンチパターン リファクタリング LT 5日 こ…

re:dashユーザ追加でハマったのでメモ

re:dashをdockerで立てて運用した時に新規ユーザーを作成しようとしましたが、少し時間がかかったので手順をまとめました。 GUIで行う場合はメールサーバを立てないとメールが送られてこないので、ユーザーを作成しても仮パスワードが送られてきません。 な…

rubyのeachメソッドについて少し調べてみた

結論を先に述べるとよくわからなかったです。 とりあえず、調べた内容を残しておきました。 hoge = [{0=> 'aaaa'}, {1=> 'bbb'}, {2=> 'ccc'}] hoge.each.with_index do |a, index| p a.object_id, hoge[index].object_id end p hoge 69822855751840 6982285…

とりあえず、コメント書いとけば良いと思っているエンジニアを減らしたい

どうもやんてらです。 今回は技術的な記事ではなくて個人的に思っていることを書いていこうと思っています。 (内容は愚痴になりますので不愉快だと思われる方はブラウザバックをお願いします。) 今回取り上げた内容は「コメント」です。 ソースコードの中に…

rubyのnilを0にしたいときに調べたのでメモ

数値を扱っているときにnilを使いたくないので、調べたらいい感じに行けそうだったのでメモ。 nil.nil? # true nil.to_i # 0 nil.to_i.nil? # false nil.to_s # "" nil.to_s.nil? # false nil.to_s.empty # true rubyって面白いですね。

Wunderlistに設定しているタスクを毎日(平日限定)slackに通知する流れを作ってみた

slackにタスクを毎日通知してくれるいい感じのツールが見つからなかったので、自作してみました。 必要なもの 手順 node.jsのインストール wunderlineのインストール rubyのインストール 実際のコード cronに登録 結果 気になってるところ 参考リンク 必要な…

linuxのfind -mtimeの挙動で失敗したのでメモ

今回はlinuxのfindコマンドのmtimeオプションで失敗したのでメモするために書きました。 今回失敗したこととしては、ファイルの削除cronを回しているときにfindコマンドを使って-mtimeオプションで時間を指定して削除処理をおこなっていました。 しかし、消…

resqueのworkerがoverviewで表示されるのにサーバ側ではプロセスが存在しないから調べてみた

resqueのoverviewでよく分からないworkerが存在していたので、killしようと奮闘していた話です。 ドキュメント残すついでに書いてみました。 発見時 サーバでプロセスを確認 ps aux | grep resque おらんやん!! なんやこのプロセス・・・・ 調べてもよく分…

nginxのアップロードモジュールを使ってみた

大容量のファイルを扱うことがあったので、どうしようかなと調べているとnginxに便利なモジュールがあったので紹介します!! 入れてみて感じたメリット 細かいことはあまりわかっていませんが、1Gのメモリしか積んでいないマシンに1.5Gほどのファイルをアッ…