Unyablog.

のにれんのブログ

systemd-nspawn 235 のコンテナで mlock を行う

systemd-nspwan で Elasticsearch の運用をしている。親のホストは ArchLinux なので新しい systemd が入ってくる。 ある日、 pacman -Syu して systemd を 234 から 235 に上げたら Elasticsearch がエラーで落ちるようになった。 [2017-10-19T07:10:13,955…

sssd: sssd では ldapi は使えない

ドキュメントを読めば ldap[s]://<host>[:port] と書いてあるので当然である…。気をつけましょう。 linux.die.net 特に使える予定もなさそう。 Bug 627763 – sssd: connection problems with ldapi</host>

ldap: "additional info: objectClass: value #0 invalid per syntax"

slapd のセットアップで、ドキュメントに基づいて # cat ~/admin.ldif dn: dc=example,dc=com objectClass: organization objectClass: dcObject dc: example o: example dn: cn=admin,dc=example,dc=com objectClass: organizationalRole cn: admin を ldap…

OCaml 入門途中の感想

最近京大の五十嵐先生が公開しているテキストを使って OCaml に入門していた。 このテキストは object まで行かないので入門したとは言えそうにないが、一区切り付いたので初心を記録する意味で雑に感想を書いておく。 主に Haskell を考えながら書いていま…

pipenv を使ってみる

Python における bundler といえば (超ざっくり言えば) virtualenv になるのですが*1、イマイチ使いにくいなと思っていたら pipenv というものが登場していた。ちょっと使ってみたのでメモ。 何するやつ github.com Pipfile(.lock)を元に良い感じに virtuale…

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 ぐ…