はてなブログに愛想が尽きたので引っ越しをする

『コンパイラ 作りながら学ぶ』を読み始めてみた

自分が興味ある分野ってなんだろうと考えたけれど、WEBとか心の奥底では食っていく手段としか考えてないし、人工知能とかIoTとかにも大して興味ないし、VRにはまあ多少興味あるけどそれもゲームとかが好きで普段からバリバリやってる人に比べたら無いに等し…

車輪の再発明をするときは既存ソフトのコード見ないようにする

なぜなら徒労感を半端なく味わうから。 何かを作ろうと頑張れるのは、まだこの世に無いものを作っているからだ。いかに車輪の再発明が楽しいからと言っても、人間の本能として無駄なことをしているときは気が滅入る。 そこで大切なのは、どうやって自分の作…

トークンの作り方がわからない

python製のテンプレートエンジンを作っていて、ifブロックを実装するときに昨日までは愚直に一行ずつ正規表現でマッチさせて、フラグを上げたり下げたりとかネストレベルを保持するカウンターの値を増やしたり減らしたりしてifブロック内のパースをしていた…

車輪の再発明は楽しい

最近車輪の再発明が楽しい。土日とか帰宅後とか、ほぼ毎日コードをいじってる気がする。 最近作ってるのは、以下のようなもの。 github.com Python製のテンプレートエンジン。 github.com JavaScriptでクライアントサイドだけでパスワードを自動生成するやつ…

python3で標準出力を取得

kazuph.hateblo.jp kusanohitoshi.blogspot.com 出力する系のメソッドをテストするときに毎回ググるのでメモ。 from io import StringIO tmp_buffer = StringIO() sys.stdout = tmp_buffer # outの中に出力されるはずだったやつが入る out = tmp_buffer.getv…

Twitter凍結問題

www.christiantoday.co.jp 絵師のアカウントが凍結されたとか政治活動家のアカウントが凍結されたとか、それ系のニュースとその反応を見るたびに思うんだけど、Twitter社へ抗議するとかいう感覚が理解できない。 Twitterは私企業に過ぎないのだし、どんなア…

分割睡眠のほうが良いのか、素直に早寝のほうが良いのか

勉強とか作業とかを頑張ると、つい夜更かしすることになってしまう。 すると、当然次の日昼間眠くて仕方なくなり、家に帰って晩飯を食うなりウトウトと眠ってしまう。 起きたら9時や10時で、そこからまた2時くらいまで勉強や作業をする。そして次の日また眠…

gitを使ってどのコミットでバグが入り込んだか特定する。git bisectの使い方

git bisectは二分検索で問題があるコミットを探し出してくれるコマンド。 今回用意したリポジトリではあまり二分検索の良さが享受できないが、使い方のデモくらいはできると思う。 リポジトリ: https://github.com/newnakashima/git-learn 単純な使い方 まず…

LPICレベル1に合格するためのおすすめの教材と勉強法

昨日LPICの101と102受験して両方合格したので、これから受験する人たちのために参考になる情報を書いとこうと思う。(といってもこれからLinuCとかいう試験になるらしいからあんまり参考にならないかもだが。。) 自分が買った教材 まず教材。教材がなければ…

睡眠を大切にすると何もできなくなる

最近増田でも話題になったが、8時間睡眠について書く。 睡眠は8時間以上とったほうがいい。それはわかっている。8時間寝た日というのは頭はスッキリしているし体調も良い。日中思いっきり活動して夕方にシャワー浴びてから飲む酒は非常にうまい。毎日こんな…

Linuxの基本コマンド一覧を作ってみた

LPICの勉強がてら基本コマンド一覧を作ってみた。 github.com まだ全然足りてないのでこれから増やしていこうと思う。 というか、LPICはLinucとかいう得体の知れない試験に変わってしまうのだろうか。。 lpi.or.jp LPI-Japanでは、設立時から積極的にLPICの…

もくもく会がしたい

もくもく会がしたい。近所にもくもく会を開いている人たちがいない。居るのかもしれないけどネットで参加者募集とかしてないっぽい。もくもく会を開催したい。会社の人とかは気まずいので利害関係無い人同士で集まってもくもく会したい。 あ〜もくもく会に参…

ノンエンジニアの営業とかディレクターの人とかがコード読み書きできた方がいい理由

この文章を書いた理由 大学のときの後輩と飲んでて、彼はとあるWEB企業でコンテンツ制作的な仕事をしているのだけど、彼の会社の人材はエンジニアが半分を占めるらしい。 後輩は自分の4つ下で、自分がプログラミングを始めた年齢よりも若いので、今からでも…

Emmet-vimで途中からナンバリングする方法

細かいことだけどやりたくなった。方法をググったのでメモ。 <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> * <ul> こういうのが既にあったとして、*の位置にカーソルがあって4から7までItemを追加したいとする。 li{item$@4}*4 こう書いてemmetを展開すると下記のようになる。 <li>item4</li> <li>i</li></ul></ul>…

転職を期にこれまでを振り返る

個人開発の休憩がてら書く。 10月一杯で2年と9ヶ月勤めた会社を退職して別の会社に入った。 前職の会社は地方の小さな会社で、WEB的な開発半分SIer的な開発半分な受託開発の会社だった。スーツで出社する必要はなかったけどお客さんと会って打ち合わせするこ…

findコマンドメモ

findコマンドたまにしか使わないけど、たまに遭遇するとやってることの意味がわからなくて毎回ググるのでよく使いそうなところだけメモ。ほぼmanすればわかることだが。 使い方 パス内のファイルを再帰的に列挙するコマンド。 find <パス> <オプション> -typ…

vimでPHPファイル開いたときにインデントがおかしくなる問題

vimでPHP編集すると setlocal shiftwidth=4 に設定してても実際ファイル編集するときに set shiftwidth? すると2になっててここ最近本当にムカついてた。 賢いプラグイン様が色々やってくれているから設定ファイルのキャッシュとかが残ってるのか? と疑った…

gitでリモートリポジトリのブランチ一覧だけを出力する

gitでリモートリポジトリのブランチ一覧だけを表示したいときもある。 git branch -r もしくは git branch --remotes で表示できる。 git branch -a は git branch --all のエイリアスで、リモートも含めた全てのブランチ一覧を表示する。 たまに知りたいと…

シンボリックリンクの実体のパスを出力する

シンボリックリンクの実体のパスを調べようとしてreadlinkというコマンドがあるらしいのでmanしてみたらstatというコマンド使えるよと書いてあった。 $ stat -f "%N: %HT%SY" /tmp/* fは出力をフォーマットするの意。 各フォーマット指定子の意味 N: ファイ…

PHPのmkdir

自分用のメモ。

userNotificationCenter:willPresentNotification:withCompletionHandler:が呼ばれないとき

Firebaseに渡すcontent_availableというパラメータがtrueになっていないかを確認する。 Firebase公式ドキュメント iOS では、このフィールドを使用して APNs ペイロードで content-available を表します。通知やメッセージの送信時にこのフィールドが true …

expectの使い方メモ

ftpしか使えないサーバーがあって、しかもユーザー名に@が入ってたりとかパスワードに:が入ってたりとかして嫌がらせのように一行のエイリアスが作れなかった。もしかしたら一行で接続する方法あるのかもしれないが知識不足でできなかった。ので、expectを書…

XamarinでAndroidの位置情報をバックグラウンドのServiceでとります

普通にLocationManager使っている。 世の中的にはFusedLocation使えってことなんだろうけどそうもいかない場合もきっとあるはず。 バックグラウンドで位置情報取り続けるには、 Activityクラスに加えてServiceクラス、BroadcastReceiverクラスが必要っぽい。…

XamarinでFragmentがinflateできなくてキレそうになった

XamarinでAndroidのFragment使おうと思って調べながら書いてたわけ。 <fragment android:name="com.example.MyFragment" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 当然公式ガイド (古いけど)(古いのが放置されてるというのも問題だけど)にもこんなのが載ってる </fragment>

XamarinでAndroidのServiceクラスが使えないとき

[Android] FusedLocationProviderApi を使って位置情報を取得 を参考にVisualStudio for Mac(Xamarin)でServiceとBroadcastReceiverを使おうとしたら呼ばれない。ブレークポイントすらも止まらない。AndroidManifest.xmlに記述が抜けてるのかと思ったがそれ…

C#のHttpClientでPOSTしてresponse bodyを受け取る

リクエスト送信 async public Task<string> HttpPost(string url) { var client = new HttpClient(); var content = new FormUrlEncodedContent(new Dictionary<string, string> { /** * POSTするデータを書く * { "key", value } * のような感じで */ }); var response = await clie</string,></string>…

neovimで言語ごとのインデントとかの設定をする方法

まあマニュアル読めば書いてある話ではあるんだけど、そこらへんうまいこと日本語で解説してくれてる人がいるかと思ったらあんまりいないみたいだったので自分用にメモっておく。 1. runtimeディレクトリにftpluginディレクトリを作る Unix系のシステムでは…

ネットカフェで勉強することの良い点悪い点

ネットカフェで勉強することの良い点悪い点 最近土日とかにネットカフェで勉強することが増えた。家にいると勉強しないから。 でもネットカフェが勉強する場所として最適というわけではない。家にいるよりは気持ちを切り替えて勉強できるんだけど勉強を阻害…

ExpressでSocket.io使うとき

そもそもSocket.ioの公式サイトにも書いてあるんだけど何回やっても覚えられないので自分への戒めとして書いておく。 ExpressでSocket.io使うとき var express = require('express'); var app = express(); var http = require('http').Server(app); app.get…