スコーンの開発日記

開発中の学びをまとめていく。

【Go】プルリクエストを一覧表示するCLIツールを作ってみる(1)

仕事でGoを使うことになったので、勉強がてらCLIツールを作ってみる。 プルリクエストを一覧表示するツール 今いるリポジトリのプルリクエスト(以下PR)を一覧表示するツールを作ってみる。 すべてのPRではなく、自分がassigneeもしくはreviewerのものだけ…

Rubyでスタックを扱う

LeetCodeで面白い問題を見つけたので、理解を深めるために復習する。 スタックを使ったアルゴリズム。 leetcode.com 問題 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. An inp…

RubyでBacktracking

いつものようにLeetCodeをやっていると、解法としてBacktrackingというものが出てきた。アルゴリズムの名前らしい。 leetcode.com Backtrackingとはなんだろうか。 問題 まず解くべき問題を説明する。 2-9の数字からなる文字列が与えられる。それぞれの数字…

継続的インテグレーションがなぜ重要なのか

継続的インテグレーション(CI, Continuous Integration)が大事というのはよく聞く話だが、幸運にもそれはあって当たり前のものだったのでなぜ重要なのかが納得できていなかった。『レガシーコードからの脱却』で初めてその理由が腹落ちしたので、ここに書…

LeetCode復習 (8. String to Integer (atoi))

最近LeetCodeをコツコツやっている。 こちらの問題で、自分では数十行書いていた処理が他の人の解答ではたったの6行で感動した。 後学のために、処理内容を1行ずつ見ていく。 leetcode.com 問題 StringをIntegerに変換する。 数値は正負の符号を含む 文字列…

Railsコンソールで、成形されたJSONデータをクリップボードにコピーする

成形されたJSONデータを作成 hash = { foo: 'foo', bar: 'bar' } json_str = JSON.pretty_generate(hash) クリップボードにコピー IO.popen('pbcopy', 'w') { |f| f << json_str } 参考 uxmilk.jp coderwall.com

ActiveRecordのscopeではfind_byしない方がよい

find_byしてしまうと… ActiveRecordのscopeでは、クエリの実行結果がnilだとallを返してしまう。 class Order < ActiveRecord::Base scope :bar, -> { find_by(foo: 'bar') } end Order.find_by(foo: 'bar')と同じ動きだと思ってnilを期待すると、allが返る…

【Alexa】プッシュ通知機能が表示されないときの解決方法

Alexaにはプッシュ通知という機能があります。 プッシュ通知機能が表示されない プッシュ通知は、AlexaアプリでスキルごとにONにすることができます。 プッシュ通知許可画面 しかし、自分の開発したスキルで、なぜかこの許可画面が表示されない… Alexa Notif…

【DB】DDL, DML, DCL

SQL文はDDL, DML, DCLの3つに分類される。 DDL Data Definition Language: データ定義言語 スキーマやテーブルなどを作成したり、削除したりする。 CREATE, DROP, ALTERなど。 DML Data Manipulation Language: データ操作言語 テーブルの行を検索したり変更…

【Android】org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:ktlint'.

werckerおよびローカルでのビルド時にこんなエラーが出る。 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:ktlint'. ググってみた。 blogs.yahoo.co.jp ・Build -> Clean Poject ・File -> Invalidate Caches / Restart を…

【Ruby】文字列とシンボルの違い

文字列とシンボルの違いがよくわかっていないので整理する。 シンボルとは? Symbolクラスのレファレンスを見てみる。 docs.ruby-lang.org Rubyの内部実装では、メソッド名や変数名、定数名、クラス名など の`名前'を整数で管理しています。これは名前を直接…

【Ruby】putsとpの違い

putsかpか Railsのrakeタスクでバッチ処理を実行する際にログを標準出力したい。その場合、 puts と p のどちらがよいのか? irb(main):001:0> p 'abc' "abc" => "abc" irb(main):002:0> puts 'abc' abc => nil puts puts は to_s を呼び出す。戻り値は nil…

【Android】DAY1: Android Studio, Firebaseでプロジェクト作成

私は外国語、特に英語の学習が大好きで、記事やドキュメントで新たな英単語を見つけたときにさっと書き留められるようなサービスがほしい、と以前から思っていました。 また、学生時代からルーズリーフやノート、スプレッドシートなどさまざまなツールで単語…

【RSpec】Rakeのテストの書き方

Rakeのテストの書き方。 例えば以下のようなキャンペーン作成タスクがあるとする。 # lib/tasks/campaign.rb namespace :campaign do desc 'キャンペーン作成' task :create, %i(title, start_date, end_date) => :environment do |_t, args| params = { tit…