ちぎっては投げるブログ

Programming, Android, RaspberryPi, Digital Devices, Kinkuma Hamster...

Programming

glistを使うとvalgrindでリークと判定されてしまう

stackoverflow.com GLibとは? もともとはGUIツールキットであるGTK+のユーティリティライブラリであったが、GTKに限らず使うことが出来る。 C言語は、最近の便利な言語に慣れきってしまうと不便なことこのうえないが、GLibは文字列操作やメモリ確保、連結リ…

YAGNI原則 やるときにやる

You Aren't Going to Need It. エクストリーム・プログラミングの原則のひとつ。 そんなの必要ないよ 戦略的な後回しである。あとで必要になるかも、というものはだいたい後から仕様変更されるものだ。だから本当に必要になったときに作る方がオトクだ。 上…

Pthreadsプログラミング読書メモ1

mutex if(mutex==true)lock(mutex) のようなコードだと、テストとロックの間にほかのスレッドがmutexをとる可能性がわずかにある。 pthread_mutex_lock(&mutex) は特殊な実装でそれを回避している。 pthread idの比較 pthread_t型の比較にはpthread_equal関…

入社3年目までのプログラマーが知っておくべきこと

プリンシプル オブ プログラミング 今、新たな積ん読候補として欲しいのがこの本。 2016/3/23刊行予定、現在予約受付中で、AmazonのUnixオペレーティングシステムカテゴリでベストセラー一位である(Unixオペレーティングシステムカテゴリって、Amazonもずい…

ラズパイで遊ぶ用のセンサーを買った

残業が続くと、TILが捗らない。 下書きで貯めている分でも書き終わったのがないので、センサーを買った話でお茶を濁す。 ごらんの通りである、まだ触っていないので特に言うこともない。 ラズパイで遊ぶ用で、特に目的がはっきりしていたわけでなはいので、…

GNUの始めたTwitter的なもの、FreezePeach(書き込み出来るようにする方法を追記)

FreezePeach FreezePeach FreezePeachへようこそ。 マイクロブロガー連合は道徳と団結を大切にして、中央集権化された資本主義なサービスからの離脱を目指しています。 FreeSpeachのもじり? GNU soicialをサービスとして提供し始めた、みたいな感じだろうか…

論文を元にAlphaGoの実装をしているGitHubリポジトリ

AlphaGo Photo by Another game of Go | Flickr - Photo Sharing! / CC BY-SA 2.0 世界トップ棋士・李世ドル氏に二連勝した、今話題のGoogleの囲碁AIことAlphaGo。Nature論文を元に、オープンソース実装することを目指しているっぽい。Replicationって言って…

JavaScriptでグラフが書きたくなったときにはawesome-charting

github.com 今日もAwesomeシリーズを見つけた。 awesome-charting JavaScriptでグラフを書いたり可視化したりするときに使えるライブラリのキュレーションリスト。有料と無料にわけてまとめてある。 あんまり興味はなかったけど、以前に友人がJavaScriptでグ…

Bashのカスタマイズまとめ Awsome Bash

Awsome hogehogeっていうのは要するにまとめサイトみたいなものなんだなと学んだ。 日本語でまとめサイトっていうと、「2chまとめ」か、「Naverまとめ」という意味と化している昨今の風潮は好きじゃない。 awsomeなんとゃらは、どちらかというとNaverまとめ…

絵文字でプログラミングをする

github.com GitHubのトレンドを眺めていたら、また妙なものがあがっていた。 絵文字でプログラミングをする www.emojicode.org 意味がわからないので、emojicodeによって書かれるソースコードを見た方が早い。 いや、見てもよくわからないけれど・・・・・・。 つ…

ソフトウェアのみでパソコンからラジオを送信するという意味のわからない話

Photo By Clem Onojeghuo | Unsplash / CC BY 0 github.com 特別なラジオ用のアンテナやハードウェアを追加しなくてもAMラジオを放送させるらしい・・・・・・。 しかもコードはものすごいシンプルで、数十行のmain.cのみである。 成功すると、周波数を1580 kHzに…

diff-so-fancyのリポジトリをforkしてみた

diff-so-fancy Photo by Benjamin Faust | Unsplash / CC BY 0 github.com こっちが元のリポジトリ。 GitHub - so-fancy/diff-so-fancy: Good-lookin' diffs with diff-highlight and more git diff を見やすくするシェルスクリプトだ。便利そうなので導入し…

NULLの定義

残業するとTILなんて書いてる余裕はないよねって月曜から思い知らされている…。 なにかしら書こうということで、今日はNULLの扱い周りで知ったことがあるのでそのことだけメモしておく。 とても今更な話で、知っている人には当たり前なのかもしれない。 C++…

積んでる技術書に読む優先度をつけよう(2016/02/28)

いつまでも消化できないので、直近で何が必要かを考えてみる。 厳密な順番を決めるのは近日中に読む本だけで良くて、あとで読む本はそのときにまた必要かを吟味して選べば良い。 これは結構重要なことだと思っていて、明日出来ることは今日しよう!とはよく…

毎回 object != null を書かないためには(Java)

StackOverflowから。 Photo by Photo by Nafinia Putra | Unsplash / CC BY 0 stackoverflow.com Javaで、nullチェックとして毎回object != nullと書くと見苦しい、代わりの良い方法はない?というスレッド。 本日のTILとして、これをざっくり眺めたまとめ。…

2016/02/26のGitHubトレンド[TIL]

眺めるだけだと継続できないので、力尽きるまでは継続してブログを書いていく。残業のある日は無理だと思う。 と言っても、一日だとトレンドにもあまり変化はないみたい。なので、逆に毎日の方が変化が少なくて楽かも。 github.com パスワード管理ソフト、Ke…

X11ForwarfingしたGUI画面で日本語入力する方法

CentOS6で確認。 ~/.bashrcに以下を追記する。 export GTK_IM_MODULE=xim export QT_IM_MODULE=xim if [ -z "$XMODIFIERS" ]; then export XMODIFIERS=@im=ibus ibus-daemon -drx fi 追記後は、 source ~/.bashrc で適用する。 これで、たとえばeclipseなど…

GitHubの今月のトレンドリポジトリを紹介する[2016/2/25]

GitHubのトレンドは25個までになっているんだけど、無限に出すんではなくて25個っていうのが、GitHubの管理者は狙ってやってるんだと思う。 気になったのだけ。先日のスライドに倣って、まずはざっくりとだけ見てみた。 github.com Python。 maybeというコマ…

Today I learned

TILとは Today I Learned というリポジトリをgithubで作るのが流行ってるらしい。 略してTIL、今日学んだことをまとめていくリポジトリ。たとえば以下。 github.com 最近読んだ、 docs.google.com のスライドでも触れられている。 効果があるのはわかるんだ…

DroidKaigi2016の資料スライド個人的まとめ

すでにどこかにまとめられているのかもしれないが、私が見つけて気になったスライドをまとめておく。 DroidKaigiっていうのは、Android開発者の勉強会的なものです。私は参加出来てないので、せめて資料だけでもと思って読んでいます。 droidkaigi.github.io

翔泳社が50%OFFしてるので買いたい本リストを作った

持っていなくて読みたい ユースケース駆動開発実践ガイドposted with amazlet at 16.02.19翔泳社 (2016-01-28)売り上げランキング: 143Amazon.co.jpで詳細を見る エリック・エヴァンスのドメイン駆動設計posted with amazlet at 16.02.19翔泳社 (2013-11-20)…

日本語字幕付きAndroidオンライン学習コンテンツ

Study Jams プログラム日本語字幕付きコースの紹介 - Google Developers Japan Udacity のオンライン学習コンテンツを使った Study Jams プログラムは、インタラクティブな動画が好評ですが、コンテンツが英語です。今回のプログラムでは、初級から上級まで…

C++のクラスメンバ関数の関数ポインタについて

C++のクラスのメンバ関数を、関数ポインタ指定して外から呼ぶのを何も考えずにやろうとすると、呼び出すことが出来ずに嵌まる。 何故かというと、クラスの関数ポインタは、インスタンスごとに作られてるわけではないから。どのインスタンスの関数であるのか…

mobaXtermという便利sshクライアント

仕事の都合上、sshとターミナルをよく使う。sshクライアントとしては、teratermやputtyが定番だが、最近mobaXtermという良さげなクライアント兼terminalを見つけたのでメモしておく。 mobaxterm.mobatek.net 良い点 標準でこれだけでx11forwardingが可能 通…

Gitでさっきまでいたブランチに戻るコマンド

git branch develop と移動した後に、さっきまでいたブランチに戻りたいときは、 git co - ですぐに戻れる。

Sublime Text2でC++の補完機能を使う

VisualStudioやEclipseのような関数補完や定義へのジャンプなどの機能を追加するには、SublimeClangのPackageを入れる必要があります。 Windowsの場合はPackageインストールも楽ですが、Linuxの場合はPythonをいれたりClangをビルドしたりする必要があります…

robocopyで無限ループしてしまう

ちょっと面白かったので載せておきます。 最近のWindowsには、robocopyというコマンドがあります。 ------------------------------------------------------------------------------- ROBOCOPY :: Windows の堅牢性の高いファイル コピー ----------------…

aliasで引数付きコマンドを登録時にやっておくとちょっと便利なこと

.bashrcや.profileに、よく使う引数をつけたものを登録するかと思います。 alias la='ls -la' のように、別の名前をつけておけばいいですが、そうするとうっかり忘れて結局元のコマンドで引数を打ち続けていたりします。 そのため、もういっそ上書きしちゃえ…

awkで空行を無視する

awkでテキストを処理するとき、空行があるとおかしなことになりがちなので、中身がある行のみを対象にしたいときがあります。 awk '/./{print $0}' awkは{}の前に、処理を行うかどうかの条件を記述します。 ここに、正規表現で任意の1文字と一致すると記述し…

関数の返り値として文字列を使うときに、改行を含める方法

シェルスクリプトで、文字列を返すときに改行を含める方法 改行がくっついて困ったのでメモ [test.txt] # 改行を含むテキスト aaa bbb ccc [test.sh] func(){ # 改行を含む出力をする関数 cat test.txt } ret=`func` echo -e $ret echo -e "$ret" ret=$(func…