inohilog

/var/log/inohiro

entr と rspec を組み合わせて使う

Rails アプリケーションのテストを書いているときに、「テストコードに変更があったら rspec コマンドを実行する」ができるような環境を作っている。 これまでは guard および guard-rspec を使っていたので、spec ディレクトリ以下のファイルに変更があった…

Memo: fish setup

手元の Linux 環境が壊れてしまったので、Ubuntu Budgie で環境を作り直している。fish の再セットアップをしたのでメモ fish sudo apt-get install fish chsh -s /usr/bin/fish fzf 第504回 インタラクティブフィルター「fzf」の活用:Ubuntu Weekly Recipe…

160. Insersection of Two Linked Lists

https://leetcode.com/problems/intersection-of-two-linked-lists/ https://github.com/inohiro/LeetCode/blob/master/160_intersection_of_two_linked_lists/src/main/java/Solution.java スタートが異なる LinkedList が2つ与えられ、途中で合流している…

122, 136 and 141

122. Best Time to Buy and Sell Stock II https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/ https://github.com/inohiro/LeetCode/blob/master/122_best_time_to_buy_and_sell_stock_2/self.rb 最初問題の意味がよくわからなかった。121…

21. Merge two sorted lists

https://leetcode.com/problems/merge-two-sorted-lists/ https://github.com/inohiro/LeetCode/tree/master/21_merge_two_sorted_lists 2つのソートされた Linked List が与えられて、マージした新しい Linked List を返す。解けず。 解説を読んだところ、…

101 & 121

101. Symmetric Tree 二分木がシンメトリーになっているか調べる。木を辿るときに右側から辿る方と、左側から辿る方を両方ともやって、値が等しいか確認する。私が実装したやつだと、それぞれ完全に終わりまで調べてから、その結果が左右で等しいか確認して…

83. Remove Duplicates from Sorted List

https://github.com/inohiro/LeetCode/blob/master/83_remove_duplicates_from_sorted_list/self.rb https://leetcode.com/problems/remove-duplicates-from-sorted-list/ 25分くらい掛かったけど一発で解けた。重複してる要素はスキップするというのを数日…

70. Climbing Stairs

登る階段のステップ数 n が渡されて、一度に一歩もしくは二歩登れるときに、登るパターンの総数を計算する。解けた、一発で解けたんだけど、なんか変な解き方をしてしまって、いまいちスッキリしない。 https://github.com/inohiro/LeetCode/blob/master/70_…

Weekly Contest 60 に参加

https://leetcode.com/contest/weekly-contest-60/ 733. Flood Fill https://github.com/inohiro/LeetCode/blob/master/contests/60_2017_11_25/a.rb https://github.com/inohiro/LeetCode/blob/master/contests/60_2017_11_25/a_solution.rb 二次元配列の探…

11. Container With Most Water

https://leetcode.com/problems/container-with-most-water/ O(n2) なアルゴリズムを書いてTLEを食らって、枝刈りするようにしてみたが結局解けず。 https://github.com/inohiro/LeetCode/blob/master/11_container_with_most_water/self_2.rb 解説を読んだ…

26, 27 配列から{重複, 指定された要素}を取り除いたあとの要素数

両方とも Easy だけど、よくわからなかったので解説を読んだ。両方とも2つの変数を使って、先を行く変数と、後ろからついていく変数が指す配列中の値をつかって、条件に合う要素数を 数える。 https://github.com/inohiro/LeetCode/blob/master/26_remove_du…

Ruby でマルチスレッドプログラミング

ある問題で、Redis からデータを読んで、中身に書いてあることをやって(sleepするとか)というものがあった。その発展系では、並列でやるようにしろと言うものだった。だいたい処理を並列にさせたい時は、parallel gem を使っている。とっても簡単で、仕事…

14. Longest Common Prefix

https://github.com/inohiro/LeetCode/blob/master/14_longest_common_prefix/self.rb https://leetcode.com/problems/longest-common-prefix/ 文字列の配列から、共通接頭辞を探し出す。長さが最小のものを一文字ずつ見ながら、幅優先探索するように他の文…

LeetCode Weekly Contest 58 に参加

メールでお知らせが来て、見たところ PDT に優しい時間帯(18:30-20:00)だったので初参加。AtCoder と同じように4問、だんだん難易度が上がっているように見える(正解すると得られるポイントが大きくなるように設定されていた)。 https://leetcode.com/co…

動的計画法を復習

LeetCode #5 の動的計画法を使った解法を実装しようとしたが、体系的に?復讐しておきたかったので。動的計画法は、再帰を使って解くような繰り返し小さい問題を再帰的にに解くような問題において、メモ化することで計算時間が指数関数的に爆発するのを避け…

5. Longest Palindromic Substring

https://leetcode.com/problems/longest-palindromic-substring/solution/ https://github.com/inohiro/LeetCode/tree/master/5_longest_palindromic_substring 与えられた文字列から最長の回文を見つけ出す。最長の部分文字列と同じやり方でいけるかなと思…

9. Palindrome Number

https://github.com/inohiro/LeetCode/tree/master/9_palindrome_number https://leetcode.com/problems/palindrome-number 与えられた数値が回文数(Wikipedia)かどうかを判定する関数を書く。こういう数学の問題を文字の配列にして解くのをやめたい... 奇…

近状 - LeetCode を始めた

(転活のために?)LeetCode を始めた。ちょっと前に HackerRank を知って使っていたけど、LeetCode のほうが解説とかしっかりしてて良い。あとは Submit した後にテストケースが実行されるが、どんな入力でエラーまたはタイムオーバーしているかと言うのが…

近状 - Java に再入門

お仕事で Java を使うことになり、大学生のときにちょっと触ったくらいなので再入門している。当時は NetBeans か Eclipse 使っていたし、たしか ant だったし。Visual Studio Code がイケてるのと、gradle が今の主流のようなので、とりあえずその組み合わ…

xargs で一個ずつバラしながら、コマンドに渡す

-L とか -l とか -n とか紛らわしかったのでメモ $ cat targets | xargs -n1 -t some_command (targets は一行ごとに何か書いてあるファイル) -n1:扱う結果の個数(1個ずつ取り出したいので 1 を指定している) -t:実行する内容を標準出力吐いてくれる(…

近状 - トラックポイントの精度が調整できない

Lenovo ThinkPad t460p Trackpoint speed unusable slow #5685 Bug 91369 - Libinput 0.19 and 0.20 ignore POINTINGSTICK_CONST_ACCEL トラックポイントの精度を調整したかったんだけど、なかなかうまくいかず。たまたまだけど、 libinput にバグがあるよう…

近状

引き続きLinux Desktopのセットアップをやってる。 Mac側をLinux 側に合わせるようにしてみて1週間くらい頑張ったが、2008年からMacを使っていたのもあり、いろいろキーバインドが変わるのは厳しすぎた。 そこでLinux側をMacに(なるべく)合わせることに。…

近状 - 結局 Antergos でデュアルブートすることに

ArchLinux のリポジトリを使いつつ(Manjaroと異なり)、デスクトップ環境がさくっとインストールできる候補として Antergos があったので、 VM で試してから最終的にデュアルブートするようにインストールした。GUI環境は使い慣れてるGNOMEで。 手順はいろ…

近状

1週間日本に戻った。今回は完全に個人の都合で、土日に移動して平日は出勤した。やはりオフィスで仕事したほうが生産性は高く感じた。 Web で買って実家に送っておいた ThinkPad T460s がやっと手元に。 キーボードは思っていたよりも良くて満足している。仕…

fish を使い始めた

Arch Linux ベースの ApricityOS を(まだVMで)試してみているが、せっかくの機会なので fish も使い始めた。一度にいろいろやるとハマりそうだが、こういう機会にエイヤと変えてみないと。ただ、Arch Linux では安定性のためにデフォルトシェルは bash に…

Arch Linux を試してみている

新しいマシンでは Linux をメインで使おうとしているが、Ubuntu を使うのはなんか味気ないなと考えていた。そこで Arch Linux を VM に入れて試してみている。と言っても最初からやるにはハードルが高いので、Arch ベースの GUI 付きディストリビューション…

ThinkPad T460s を注文した

昨年末くらいから新しいコンピュータを検討してたが、タッチバー付き MacBook Pro が高すぎて、T460s か X1 Carbon を考えていた。しかし Lenovo は年明けから4月ごろまでに新型が発表されるようで、一旦先送りに。今年になって T470s が発表されて、個人的…

近状

近状。だいぶブログを書いてなかった。 サンフランシスコに引越しました 3月からサンフランシスコに住んでいます。実際最初の4週間くらいはホテルとルームシェアみたいな感じだったけど、部屋は思っていたよりもはやく見つけることができた。 旅行で行くの…

デザイン変えてみた

以前から、もっと横長のデザインにしたいと思っていたので変えてみた Hatena for はてなブログ - テーマ ストア さらにスタイルの上書き エントリのヘッダなどで使われている色を変えたかったので、 公開されている CSS から適当に色指定しているところを抜…

サンフランシスコにいました

マウンテンビューに1ヶ月くらいいて、その後サンフランシスコに3週間くらい滞在していました。 生活 サンフランシスコは地下鉄などの鉄道、バスなどが充実していて便利 特に借りた部屋が駅から徒歩2分みたいなところで便利だった uber, lyft が便利(マウン…