Subscribed unsubscribe Subscribe Subscribe

Unyablog.

のにれんのブログ

vim-keymaps でキーマップを簡単に切り替える

vim

Vim のキーマップを簡単に切り替えられるプラグイン、 vim-keymaps を作りました。 github.com 下のように、複数のキーマップを設定することができ、簡単に切り替えることが出来ます。下では <C-k> でキーマップを切り替えています。 今すぐダウンロード! 使い方</c-k>…

zsh の色付き vcs_info を一行上の右端に出す

書いておかないとあとで分からなくなるのでメモ。 序 zsh 便利ですよね。vcs_info も便利ですよね。 vcs_info は名前の通り VCS の情報を出してくれる君です。 zshのターミナルにリポジトリの情報を表示してみる · けんごのお屋敷 本題 最近 zsh のプロンプ…

Shell の pipe と redirection を実装する

新年なので Shell の pipe と redirection を実装した。 前回の記事はこちら nonylene.hatenablog.jp 前回実装してみて、さすがに pipe と redirection ぐらいは実装しておいてもいいのでは?と思って実装してみた。 pipe github.com パイプについての説明は…

Mackerel Agent for Android

この記事は Mackerel アドベントカレンダー 21 日目の記事です。 qiita.com Mackerel について Mackerel とはサーバーを監視するサービスで、Slack などとの連携が便利だったりグラフが美しかったりと良いサービスです。 Mackerel にデータを送るためのサー…

軽い Shell を作った

↓の記事を読んで自分でもサクッと作れそうなので作ってみた。 brennan.io 名前は nsh (nonylene shell の略)。記事を参考にコードを書いていたら大体同じようなものになってしまった。 github.com 記事では C で書いているけど、nsh では Python3 で書いてみ…

サーバーを ConoHa に移行した

サーバーを家の Raspberry Pi から ConoHa に移行しました。 理由は単純に Raspberry Pi ではいろいろするのに辛くなってきたのと、最近謎のエラー*1により SEGV することが多くなって悲しくなってきたためです。カーネルの Early Memtest 使って軽くメモリ…

Android Studio をビルドする

この記事は KMC アドベントカレンダー 4日目の記事です。自分は5日目だと思っていてのんびりしてました… :bow: :bow: www.adventar.org 昨日は id:nojima718 さんの nojima.hatenablog.com でした! 本題 今回は Android Studio をビルドしてみます。 大体こ…

curl: (60) SSL certificate problem: certificate is not yet valid

対処 時刻がおかしいので ntp とか入れる 経緯とか 久しぶりに VirtualBox で入れていた Arch Linux を起動して、 bundler が入っていなかったので gem install bundler を打つと、 certificate verify failed とのエラーが *1。 確かに curl https://rubyge…

Android の df コマンドについて

最近 Android 用の mackerel-agent を作ろうとしていて、Android の /proc/meminfo を読んだりしていたのですが、 filesystem の metrics は df -P コマンドを使っていました。*1 Android にも df コマンドは存在していたのでパースしようとしたのですが、バ…

cookpad のインターンに行ってきた話

8/10 から今日まで一ヶ月間、恵比寿にあるクックパッドにインターンに行っていました。忘れないうちにヒュヒュっと書きます。 インターンについて 僕が行ったインターンは技術インターンシップです。 このインターンは前半一週間と後半二週間に分かれており…

RecyclerView で Drag と Swipe をサクッと実装

RecyclerView で並び換えや項目の消去をする UI を作成するには、ItemTouchHelper を用いると非常に楽です。 これを使うと、 長押しからの移動で並び替え スワイプで消去をする といった処理を行えます。 Kotlin での実装 val helper = ItemTouchHelper(obje…

Android Layout XML の名前空間はルート要素に定義する

たまに DataBinding を使うのですが、例えば TextView に tools:text を指定してレイアウトのプレビューを試みても上手くできないことがあって困っていました。 例えば、適当に <layout> </layout>

画像取得ライブラリの Glide 使ってみた

Android で画像を表示する際、 URL からいい感じにキャッシュしていい感じに表示してくれるライブラリはいくつかあります。 有名所だと Picasso Square のライブラリ Glide 元BumpTech のライブラリ (Google のプロダクトでも使われているらしい) Fresco*1 F…

SQLクエリチューニングメモ

SQL

table: "table_name" A B "a" 1 "a" 2 "a" 4 "b" 1 "b" 4 "c" 1 "c" 3 のようなデータが 100k レコードほど存在するデータベースにおいて、指定のB (b_list) が存在するA を ランダムに一つ抽出 する。 例: blist: [1] -> mathced A: ["a", "b", "c"] -> ラ…

norifyDataSetChanged でアニメーションする in RecyclerView

stackoverflow.com RecyclerView.Adapter#getItemId() でユニークな ID を返す RecyclerView.Adapter#setHasStableIds(true) を行う これだけで RecyclerView.Adapter#notifyDataSetChanged() のみでもいい感じにアニメーションしてくれます。 パフォーマン…

Haskell入門 14日目

十四日目 VBoxHeadlessTray を入れてみた。これだと一々 VM 起動してること気にしなくてよさそう。 SICP 読まないとなあとか思ってるこの頃。 Haskell, monad ぐらいまでやろうかなあとか思って目次見たけど一番最後だった。 すごいHaskellたのしく学ぼう!作…

Haskell入門 13日目

十三日目 時間が開いてしまってやることを忘れたのでまずここのログを読みなおした。メモ残すこと大事だなって思いました() Windows で Haskell しようかと思って Stack いれたけど cmd 使うこと考えると嫌になってすぐアンインストールしました*1。 7.9 …

Android Studioでのビルドをクラウドで行い開発を高速化する

こんにちは。学校も始まり最近は健康な時間に起きています*1。 今回は 手元の Android Studio からビルドのみをクラウドで行う ことによって快適な生活を手に入れる話です。 概要 ビルドを移譲できる Android Sutudio のプラグインを書きました これを使って…

Raspberry pi に GitWeb を入れた

昔 Raspberry Pi に GitLab を入れた記事を書きました。 nonylene.hatenablog.jp この時、重い重い言いながら運用していました*1が、ニヶ月ほど前にSDカードが壊れる事件が起きて、再構築した時に入れるのがめんどくさくて*2入れてませんでした。そもそもSD…

クラウドの Linux 上で Android Studio をリモート操作するネタ

※実用性はほぼありません。 Andorid のビルドが最近遅くて、ブラウザで動画流しながら StackOverflow 調べながら twitter 流しながら…とやっているとすぐに mac がファンファンなりだして音声は途切れるわ熱くなるわという状態になります メモリ 8GB だし、…

iOS / Android アプリ作成入門スライドを公開しました

自分の所属している京大マイコンクラブ (KMC) では毎年3月に春合宿を行っており、60分ほど講座を行います。 今年は iOSアプリ作成入門 を行いました。 speakerdeck.com また、書いたけど没になった Android 編も公開しました。 speakerdeck.com

iOS で Slack に投稿するアプリを作り実機にインストール

iOS チュートリアルが一通り終わったので、Slack に投稿するアプリを作ってみることにしました。 レポジトリは以下。 元々 Android 版をシュッと作っていたので、iOS 版という位置づけでやってみます。 アプリの機能は非常に単純で、webhook の URL を入力し…

iOS 入門 3日目

iOSのチュートリアル自体は今回で終わりです。 今回は画面遷移の実装、データの編集、データの永続化あたりです。 画面遷移 どうやら iOS における Intent は Segue と言うらしい。 段々マウスクリックして伸ばすのが面倒になってきた。 Segue にもいろんな…

iOS 入門 2日目

1日目の記事はこちらです。 さて今日は二日目です。果たしてサークルの合宿に間に合うのか… 今日はモデルを定義して TableView を作成しました。 TableView での感想 Androidでいう ListView と RecyclerView の中間っぽい。 recycle がつよい ListView とい…

iOS 入門 1日目

春休みなので iOS 学んでみることにしました。*1 目標 作りたいアプリは特になくて、ただ iOS / Swift 学びたいなあという気持ちがあるという感じです。Swift で書かれた iOS のコード理解できるようになりたい。 当方ほぼ初心者です。(夏に Hello World ぐ…

CircleCI で Android Library Project を GitHub Pages にデプロイ

こんにちは。最近 build.gradle をゴニョゴニョするのに慣れてきました。 ここ数日、 PhotoLinkViewer をモジュール分けしたいなーと思って一部分を切り離しました。 切り離したものは他のアプリでも使いたいので、プロジェクトとして独立させることにしてい…

Android 6.0 がおかしいと思ったらバージョンが古かった

marshmallow のつづりが未だに覚えられないです。 原因わかったので追記しました。 症状(preview 3 で確認されていた症状) さて、自分の作っている PhotoLinkViewer には「他のブラウザで開く」機能があります。例えば画像の開くアプリで PhotoLinkViewer …

Raspberry pi 2 に GitLab を入れた

最近体調が悪いです。 さて、今回は自宅の Raspberry pi に GitLab を導入した話です。 GitLab とは、GitLab Inc. が開発しているサービスで、GitHub のクローン的なやつです。といってもインターフェースまでそっくりというわけではないですし、GitLab 独自…

Android Studio 2.0 preview で Instant Run を使ったら最高だった

この記事は KMC アドベントカレンダー 1日目 の記事です。 さて、先日 Android Dev Summit で Android Studio 2.0 (以下 AS 2.0) が発表されましたね。この会自体は結構前から告知されていたのですがまさかこんな機能が来るとは思っていませんでした。 Andro…

Android の CI テストがたまに落ちるので戦った

前々回と前回の記事です。 結局 travis でも CircleCI でも確率的に落ちるじゃん的な話でした。 travis だと 1/2、 CircleCI だと 1/4 ぐらいで落ちてしまいます。さすがにこれだけ落ちると鬱陶しいのでなんとか直したいところ。 ということで直すために頑張…

circleCI で Android アプリのテストをする (travis から移行)

前回の記事です。 circleCI に移行する 前回の記事でまあうまく行ったのですが結構な確率で落ちる。masterが進んでるわけではないのに pr と pull で違う結果になったり、 merge すると落ちたりしていました。 いろいろやってみたのですが結局不安定なまま変…

travis で Android (Kotlin 付き) のテストをするときにしたことのメモ

自分の作ってるアプリにテスト書いてtravisでやってくれるようにした話です。 テスト 長らくテスト全く書かずにしてきたのですがいい加減そろそろテスト書かないとなあと思ったのでテストをシュババっと書きました。*1 とりあえず gradle にシュッとそれっぽ…

macのスクリーンショットのファイル名変更したくてショートカットを設定した話

mac

mac でスクショを取って Dropbox に移動し、更に IFTTT 使って Google Drive に移送したかったのですが残念ながら mac のデフォルトのファイル名だとスペース入ってるからか IFTTT が認識してくれなかったのでファイル名を変更しようとしました。 検索したら…

kotlin 1.0 beta candidate に上げて戻した話 (betaで解決)

先日 kotlin の 1.0 beta がリリースされました。 AndroidStudio を立ち上げるとアップデートできるよ!と言われたので早速アップデートして 1.0 beta を入れてみました。 リストに [index] でアクセスできたり static 関係の java との融和性が上がったりし…

pom.xml なプロジェクトをAndroid Library にして IDE に読ませる

picasso で resize できるの便利なのですが、resize したときに callback がしたいと思ったので fork した ものを AndroidStudio で頑張って読み込ませた話です。 picasso には build.gradle がなく pom.xml 的なアレ。なのでこのままだと AndroidStudio で…

mac OS X El Capitan に上げた感想

mac

brew 使えるので安心 brew cask もだいたい使えるので安心 brew cask コケてもリカバリ入って Rootless オフにすればアンスコ成功するので安心 TeX 軽くなら使えるので安心 フォント埋め込みとかはしないので安心 split view 思ったより使わないので安心 電…

Android で http / https 間のリダイレクト結果を OkHttp で取得する

Android で DefaultHttpClient が deprecated になって久しく、デフォルトだと HttpURLConnection を使うことになりました。 HttpURLConnection は http と https 間のリダイレクトを行わないというポリシーがあるらしく、リダイレクトした場合処理を行いま…

isucon5予選に出てクエリキャッシュを有効にしました

isucon5の予選に出て見事僕のチーム「古典論理の犬」は予選を学生枠1位で突破したので僕がクエリキャッシュを有効にした話をします。 isucon.net isuconとは与えられたウェブサービスを高速化するコンテストで賞金もあります。僕のサークルからは6人出場して…

😇 (:innocent:) が見れないAndroid端末に救いを!!「NotoEmojiViewer」を公開しました

こんにちは。 みなさん (:innocent:) という絵文字はご存知でしょうか。この絵文字最近気に入って twitter とかでもよく使っているのですが、どうやらAndroid端末によっては表示されずに空白になるという噂を聞きました。 が見れないなんてコミュニケーショ…

Haskell入門12日目

十二日目 isuconに出るのでSQLを学ばなきゃいけない。 すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 クリック: 580回この商品を含むブログ …

Haskell入門11日目

十一日目 お久しぶりです!! 台風一過。 すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 クリック: 580回この商品を含むブログ (69件) を見る …

Haskell入門9 / 10日目

九日目 すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 クリック: 580回この商品を含むブログ (69件) を見る YAPC会場の三角形の中にいます …

Haskell入門8日目

八日目 すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 クリック: 580回この商品を含むブログ (69件) を見る バイト先で見てます!!!って言…

Haskell入門7日目

七日目 すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 クリック: 580回この商品を含むブログ (69件) を見る 京都に帰る電車の中で。 (しばら…

Haskell入門6日目

六日目 すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 クリック: 580回この商品を含むブログ (69件) を見る 京都行くまでにマスターするつも…

keynoteでPDF等にトンボを付ける

印刷用にトンボを付けなきゃいけなくなった時のやり方。 powerpoint形式で配布してるトンボのテンプレートを入手(raksulとか) テンプレートをkeynoteで開く 貼りたいPDFをkeynoteにドラッグして貼り付け トンボのテンプレートを見ながらいい感じに大きさを調…

Haskell入門5日目

五日目 すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 クリック: 580回この商品を含むブログ (69件) を見る 今日は出石そば食べました。美味…

Haskell入門3日目

本日少なめです。 すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 クリック: 580回この商品を含むブログ (69件) を見る 三日目 次の電車が三…

Haskell入門2日目

二日目 そろそろ温泉いきたい。温泉のロビーで扇風機あたりながらHaskellの勉強したい。 すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 クリ…

Haskell入門1日目

何度も入門失敗してる haskell を今度こそ入門するぞ!!!!! すごいHaskellを読みます。 すごいHaskellたのしく学ぼう!作者: Miran Lipovača,田中英行,村主崇行出版社/メーカー: オーム社発売日: 2012/05/23メディア: 単行本(ソフトカバー)購入: 25人 …