Dive into Ofuton

お布団に飛び込もう

KotlinでMultiSetを雑に実装する

AtCoderの問題を解いているときにMultiSetがあると助かる場面があったためざっくり実装。 import java.util.TreeMap import java.util.TreeSet class SortedMultiSet<T>( comparator: Comparator<T>? = null, val map: TreeMap<T, Int> = TreeMap<T, Int>(comparator) ) :MutableSet<T></t></t,></t,></t></t>…

各種Mapへの要素追加、ランダムアクセス、イテレーションの実行速度

Kotlinで使用できるMapは主に HashMap (hashMapOf) LinkedHashMap (mutableMapOf) TreeMap (sortedMapOf) の3つ。 結論から書くと、 要素の追加はHashMapが最も速い。次にLinkedHashMap。TreeMapは遅い。 ランダムアクセスはHashMapとLinkedHashMapがほぼ同…

KotlinでCollectionをソートするときのメモ

Mutableなやつ sort() sort()を使うとコレクション自身がソートされるので何も返ってこない点に注意。 val list = mutableListOf(5, 1, 3, 2, 4) list.sort() println(list) // [1, 2, 3, 4, 5] SortedSetを使う val set = sortedSetOf(5, 1, 3, 2, 4) print…

1コア512MBのVPSでMastodonする

この記事はMastodon Advent Calendar 2017 - Adventar / Mastodon Advent Calendar 2017 - Qiita day 10の記事です。 どうもこんにちは。crakaCです。 タイトルの通り、512MB丼というお一人様インスタンスを建ててのんびりマストドンしています。 1コア512MB…

お一人様インスタンスを建てたドン

今話題のマストドンのお一人様インスタンスを建てました don.crakac.com さくらのVPS 1コア512MBプランで今のところ動いていますが、いつ死ぬかはわかりません。 メモリは常にswap使っててかなりヤバそうな雰囲気だけど、CPUはかなり遊んでいるのでなんかい…

tigで新規ファイルが表示が出来なくなったので、設定を追加したら直った

tigとは? Introduction · Tig ターミナル上で使えるgitクライアント。gitのコマンドをガシガシ打っていくよりタイプ数も減るし見やすいので便利。 最近なぜか新しいファイルを表示してくれなくなったのでチョット不便だった。 環境 OS macOS Sierra tig ver…

DateUtilsでいい感じに時刻表示

Mastodonクライアントを作っていて、API叩いて降ってくる時刻の形式が "2017-07-17T12:24:30.721Z"となっているのでこれを上手いこと表示する。 val format = "yyyy-MM-dd'T'HH:mm:ss.SSS"; val sdf = SimpleDateFormat(format, Locale.getDefault()) val ti…

TabLayoutでナウいUI

いつの間にか公式でいい感じのタブUIが楽に作れるようになってた。 material.io Lollipop出始めの頃は全然公式でライブラリとかがなくて、PagerSlidingTabStripとか使ってたけど、今は公式で結構いい感じに提供されてるのね。 material.io ドキュメントとか…

AndroidStudio+Kotlinのアップデートで詰まった話

環境 MacBook Pro (Retina, 13-inch, Mid 2014) macOS Sierra 10.12.5 2ヶ月ぶりにAndroidStudioを起動したら、Kotlinのバージョンが1.1.2-3から、1.1.3-2に上がっていたので上げてみたところビルドが通らなくなった。 どうやら自分以外にも遭遇している人が…

SNSに投稿した時間を可視化したい

Why 最近はやりのマストドンにかなり時間を取られているので、なんとかして自分の時間を取り戻したい。 睡眠時間を間接的に記録したい なんか作りたい GitHubの草みたいにしたい How Ruby on Rails マストドンもRailsだし、マストドン作者氏がRailsのツール…

さくらのVPS(Ubuntu16.04LTS)を借りてからSSHのポートを変更してローカルから接続するまで

TL;DR: sshdがListenするポートは複数指定できるので、まずは追加してチェックしてから22番を削除するとよい ufwは使わずiptablesだけでやる というかufwでポートを開けようとしても開いてなさそう iptablesの設定はサーバー再起動すると消えるのでなんとか…

下書き供養 楽天ハッカソンに言ってきた話(2014.11.01/02)

久しぶりにブログ書くか〜〜〜という気持ちがSoftSkillsを読んで湧いてきたので、書こうとしたらいつだかの下書きが出てきた。楽天ハッカソンではMatzさんの話があって、最近Mastodon関係でも話を聞くことがあった。 なんかタイミングもいいなと思ったので、…

BitConverterでGetBytesするよりポインタ使ったほうがメモリに優しい

ykimisaki.hatenablog.jp byte[]に何かを変換するとき、BitConverter.GetBytesを使わない方がパフォーマンス出る。 GetBytesの中身を見ると、(当然といえば当然だけど)内部で引数の型の大きさ分だけbyte配列をnewしているため、ポインタを使って適当に用意…

Android版IL2CPPがなんか遅い

Unity5.2からIL2CPPがAndroidでも使えるようになったみたい。 tsubakit1.hateblo.jp Unity5.4.0b17時点でも、 IL2CPP on Android is experimental and unsupported と書いてあるので、まだ実験段階な模様。 ほーん、どれぐらい早くなるんやー?と思って、Mat…

銭湯に行ってみた

機会があって上司と一対一で飲んでいたら、 「銭湯いいよ」 というアドバイスを頂いた。 一人暮らしでずっとシャワーだったのと、会社の往復しか外出する機会がなくなりつつあったので、この一週間は気分転換に徒歩圏内の銭湯を歩きまわってみた。 宝来湯 宝…

Xperiaの保護フィルム貼り替えようと思ったら飛散防止フィルムを剥がしていた

愛用しているXperiaZ1なのですが,最近どうもタッチパネルの反応が悪く,保護フィルム貼り替えたらちょっとはましになるかなーと思って貼り替えようとした時の話. 最近タッチパネルがくそ反応になってきたから保護シート張り替えたい— しらか (@crakaC) 201…

オープンソースカンファレンス行きたかった

行くからにはなにかネタを持って行こうと思って,Xperia Z1にmikutter突っ込んでたら夜遅くなって,今までの寝不足と重なって死んでしまった. osc行きたかったが睡魔には勝てなかった…— しらか (@crakaC) 2014, 10月 19 次の東京開催は行く.と思う. OSPN …

RaspberryPiハッカソンに行ってきた

おとといRaspberryPiハッカソンなるものがあったので行ってきました. 成果 3行でまとめると, カメラモジュール OpenCV 顔が写ったら保存 以上です. ハッカソンで使ったRaspberryPi B+とカメラモジュールv1.3とOS入りmicroSDカードもらいました. やったね…

進捗

ダメです.主に輪講が死んでる. Twitterクライアントの方に,通知機能を充実させてほしいというリクエストがありますが,現状なかなか厳しそう. リプライ,DMの通知であれば一定時間おきに新着があるかどうかチェックすれば済む(とは言え実装するのは時間…

リブセンスとコロプラのインターンに行ってきた

こんばんは,しらかCです. 夏休みを大いに活用して,リブセンスとコロプラのインターンに行ってきました. 何したの リブセンスでは,既存サービスの裏で走っているRails製の分析ツールに機能を追加してました. コロプラでは,5日間でライトゲームを作りま…

Twtterとfacebookについて思うこと

最近どうもTwitter依存気味だったので、今日は全力でTwitterをさけてみた。 家のPCは昨日の時点でhostsファイルを書き換えてtwitter.comにアクセスできないようにして、 今朝一番にスマホに入ってるTwitterクライアントを全部消した。 今日は一日バイトだっ…

【GitLab】 HTTPSでclone/pushできるようにする

はじめに GitHubだとプライベートリポジトリの数に制限がある(学生向けに暫くの間いくつかタダで作れる)けど, 自分でGitLabを運用すればVPS代だけでリポジトリ作り放題だぜヒャッハァアアというわけで,GitLabを運用してます. GitLab大好きです.素晴らしいです…

近況報告等

Twitterクライアント公開しました TwitterクライアントをGooglePlay上で公開しました. Sleeping( ˘ω˘)Syar - Google Play の Android アプリ 今までは自分とこのサーバ使って公開してたんですが,早いとこ公開しちゃいなよという後押しを受けたので$25払っ…