ミズノブログ

ミズノです。プログラミング・子育て・経年変化するもの など好きなことを雑多に書きます。

programming

"chsh: PAM: Authentication failure" 発生時の解決方法メモ

ubuntuでログイン時のshellをfishに変更しようとした際にすこし詰まったのでメモ。 chsh -s $(which fish) コマンドでログイン時shellを変更しようとしたところ chsh: PAM: Authentication failure のエラーが。 ググったところ下記に解決方法が書いてありま…

RSpecの実行タイミングについてメモ

RSpecを使っている中で、思った挙動をしない時があったので実行タイミングを確認してみたメモ。 下記のようなテストコードを実行してみました。 require 'rails_helper' RSpec.describe "実行タイミングを調べる" do puts '!!! describe' before do puts '[b…

vim: fzf.vimでGFilesコマンドが使えなくなる問題

先日、fzf.vimでGFilesコマンドが使えない問題に悩んでいたのですが、無事解決したのでメモ。 かなりニッチな問題ですが、予想外の箇所が影響しておりハマったので共有しておきます。 問題:fzf.vimでGFilesコマンドでエラー GFilesコマンドは、Gitで管理さ…

vim: カーソル下の文字列を取得したい

vimで、カーソル下の文字列でgrepできるようにしたいなと思い調べたのでメモ。 もう少し具体的にいうと fzf.vim でRipGrep をおこなう :Rg コマンドを利用するときに、カーソル下の文字列をパラメータに設定したい、が動機でした。 結論として.vimrcに nnore…

脱初心者を目指すプログラマーに読んでほしい書籍

以下はSIer時代に、実体験をもとに書いた初心者向け記事なんですが、ありがたいことに今でもたくさんの方に読んでもらっています。 qiita.com 職業プログラマー目指して頑張っている人、初心者から次のステップに進みたい人が想像以上にたくさんいることを知…

家族にむけてリビングLTをやってみました

先日「リビングLT」と称し、自宅のリビングで家族に向けて家計改善のLTをしてみました。 チームビルディングやプレゼン資料の作り方など、仕事上のスキルをうまく使いながらやってみたところ、 手応えがあり家族にもなかなか好評だったのでまとめてみます。 …

fishで連番のディレクトリを作る方法

先に結論 seqコマンドを利用する。 ➤ mkdir hoge_(seq 1 5) ➤ ls hoge_1 hoge_2 hoge_3 hoge_4 hoge_5 0パディングしたいときはseq -f でformat指定できる。 ➤ mkdir hoge_(seq -f %03g 1 5) ➤ ls hoge_001 hoge_002 hoge_003 hoge_004 hoge_005 ※検証環境 ➤…

iterm2で分割したペインを一時的に全体表示するショートカット

iterm2で分割した画面(ペイン)を一時的に全体表示したい場面があり、ショートカットを調べたのでメモ。 Maximize Active Pane (Shift + Command + Enter) 対象ペインでShift + Command + Enter を入力すると全体表示されます。 メニューバーから View -> Max…

shibuya.rbに参加してきました

仕事でRubyを使うことになったので、勉強と情報収集のためshibuya.rbという社外勉強会に参加してきました。 shibuya.rbとは Shibuya.rbは、渋谷近郊のRubyが好きだったり、 Rubyの周辺技術が気になっている人のための地域Rubyistコミュニティだそうです。 sh…

【Ruby入門】構造化データにStructクラスを利用する

Ruby入門中です。今日はStructクラスについて調べました。 Structクラスとは 一言で言うと、クラスより簡単に構造体を作成する仕組みです。 docs.ruby-lang.org Structクラスの特徴 定義が簡単 Struct.newで引数に渡したシンボルに対応するメンバとアクセサ…

「プロを目指す人のためのRuby入門」は他言語経験者に最適の本

「プロを目指す人のためのRuby入門」を読んだ 仕事でRubyを使うことになったので、本腰を入れて勉強しようと「プロを目指す人のためのRuby入門」(通称:チェリー本)を購入しました。 昔個人的にRubyを勉強していたころ、著者である伊藤淳一さんの技術ブログ…

【Ruby入門】superの振る舞いについて

最近Rubyを勉強しています。 Effective Rubyでsuperの振る舞いについて勉強していたところ、サンプルソースが少しわかりにくかったので自分なりに噛み砕いてみました。 1.カッコの有無による振る舞いの違い オーバーライドするメソッドに引数を渡したくな…

2018年の目標

あけましておめでとうございます。 昨年は家を建てたり、子供が生まれたりと変化に溢れた年でした。 今年も充実して過ごせるよう、目標を掲げたいなと思います。 生活の目標 パフォーマンス向上 だるさや眠気、肩こり腰痛などを感じ、日中のパフォーマンスが…

【読書メモ】SOFT SKILLS ソフトウェア開発者の人生マニュアル

「SOFT SKILLS」という本が面白かったので、読書メモ。 SOFT SKILLS ソフトウェア開発者の人生マニュアル作者: ジョン・ソンメズ出版社/メーカー: 日経BP社発売日: 2016/06/02メディア: Kindle版この商品を含むブログ (5件) を見る どんな本? エンジニアが…

Webエンジニアがフォローしておきたいアカウントリスト

日々の情報収集のためフォローしているアカウントをまとめてみました。 技術書や技術系ブログの著者 技術系イベントの登壇者 興味のある分野で有名なエンジニア 芋づる式に知ったエンジニア など気になった人をフォローすると新鮮な情報が入ってきて非常に勉…

HHKBは吸振マットを着けてはじめて完成品となる

HHKB(Happy Hacking Keyboard)専用の「吸振マット」なるモノの存在を知り、さらに打鍵感が向上すると評判だったのでウズウズしてポチってしまいました。 実際に試してとても満足したので、良かったところ、気になるところをまとめます。 吸振マットとは 吸…

EclipseをOxygenにUpdateする方法

統合開発環境 Eclipse の最新版 4.7 Oxygen がリリースされました。 現在利用中のEclipse(Neon)をOxygenにUpdateしたので、その方法をメモ。 ※Oxygenについては、以下の記事が参考になりました。 参考記事:Eclipse 4.7 Oxygen 新機能 30+ / Java 9 を試そう…

【勉強会メモ】Java Day Tokyo 2017

Java Day Tokyo 2017に参加してきたのでその時のメモ。 今回はJavaSE9について重点的に聞いてきました。 自分用に書いていたので歯抜けが多く申し訳ないです。 間違いや補足事項あればご指摘いただけると幸いです。 Java Day Tokyo 2017 とは 日本オラクルが…

HHKBで小文字英字が入力できなくなったら(CapsLock)

普段、HHKB(Happy Hacking Keyboard)というキーボードを使用しています。 ある日、突然大文字英字しか入力できなくなってしまい戻すのに少し手間取ったのでメモ。 挙動的にCapsLockがかかったのだろうと推測したのですが、HHKBにはCapsLockキーがありません…

リフレクションで引数名を取得するときはjavacに-parametersオプションをつける

Javaでリフレクションを利用してメソッドの引数名を取得したかったのですが、ちょっと詰まったのでメモ。 結論としてはコンパイル時、javacに-parametersオプションをつける必要がありました。 以下検証までの手順です。 問題:リフレクションで取得した引数…

エンジニアのヘルスケアで本当に買ってよかったもの5選

エンジニアになってから十余年、日々のデスクワークのによる肩こり・腰痛・腱鞘炎が辛いです。職業病ですね。 30歳過ぎると健康管理の重要性が身にしみます。放っておくとどんどん悪化していくため、なんとか改善しようと試行錯誤の毎日です。 色々試した中…

すぐできる!Java100本ノックをSlackに自動投稿するBot

先日、JJUG CCC 2016 Fallに参加してきました。 その中でJava100本ノックが紹介されており、面白そうだから社内でもやってみようかという話になりました。 Slackに問題を自動投稿するBotをスプレッドシートとGASで作ってみたので、よければ参考にしてみてく…

Scala入門時に役立つ情報まとめ

はじめに Scalaの勉強を始めた時にJavaやRubyと比べると情報量が少なく苦戦したので、今まで調べたことや経験者から聞いた情報などをまとめてみようと思います。 私自身まだまだ初心者ですが、これからScalaやってみようかなと思っている人の参考になれば幸…

Java8 逆引き Stream API

はじめに 【前提条件】Stream APIの説明に使用するオブジェクト コレクション、配列、MapをStreamクラスに変換(Arrays#stream,Stream#of) メソッド参照・コンストラクタ参照(Class::method) Personリストからnameリスト作成(Stream#collect,Collectors#toLis…

try-with-resourcesでリソース解放されないパターン

はじめに 検証 解決法:ネストせず個別に変数定義する はじめに Java7から"try-with-resources"構文が追加されました。 ファイルやDBアクセスしたあとのリソース解放を自動で行ってくれる大変便利な機能で、解放し忘れをなくし、コードをすっきりさせること…

エンジニアの情報収集法まとめ

※二重管理になってしまうため、エンジニアの情報収集法まとめ - Qiitaに情報集約することにしました。 今後はQiita記事を参照してください。こちらの記事は情報更新しません。 はじめに プログラミング系の時事ネタは能動的に情報収集しないと入ってこないの…

これからrubyを始める人のコードエディタ/IDE選び

ruby/railsを勉強するにあたり、悩んだのが開発環境でした。 Javaの場合Eclipseというデファクトスタンダードがあったのですが、どうやらruby/railsはそうではないらしく。。 ruby/rails開発環境の主な選択肢 ネットで調べてみると、以下をオススメしている…

vim:"diw"は "d + i + w" に分けて考える

「vimtutor」で基本操作を勉強したのち、最初につまづいたのが 「"diw" = 単語ごとに削除」 でした。コマンドから意味が推測出来ない。。 色々調べてみたところ、"d"を「operator」、"iw"を「text-object」と言うそうです。勉強したついでに整理してみました…