CORDEA blog

Android application engineer

Red で http request を行う方法

Red programming language で http request を行う方法がちょっと分かりづらかったのでメモ GET 本当にシンプルな GET >> read http://localhost:8080/api == {{"status":"ok"}}header の追加など必要な場合 >> write http://localhost:8080/api [GET [ Acce…

YAPC::Fukuoka 2017 HAKATA 前夜祭で LT してきました

最近 GitHub から緑が消え始めてて危機感しか感じません。それはさておき、 YAPC::Fukuoka 2017 HAKATA に参加して来たのでその感想を書きます。 前夜祭 「Possibility of terminal」 という題で Terminal (というか prompt) の可能性について話してきました…

umeda.apk #3 に参加してきました

umeda.apk #3 に参加してきたので、その感想です。shibuya-apk.connpass.com Best Practices to Slim Down Your App Size 前々から少し話題になっていたので知ってはいましたが、 やはり Cancellation Rates vs. Download Size と、 Uninstall Rates vs. Ins…

Docker で MediaWiki を立てる

自分の作っているライブラリで、Wikipedia の API 叩けないよー的な話が来たので MediaWiki を Docker で立てて検証しようと思ったところ、 これが面倒だったので記録しておきます。検証用にローカルで立てた手順です。 手順 Docker Hub で引っ張ってこられ…

Razer Chroma SDK を使って Keyboard をピカピカさせる

先日 Razer Blade Stealth を買ったのですが、 キーボードの光り方を見て何か面白いことできないかと思って調べたのでメモ Razer Chroma SDK Razer Developer Portal でダウンロードできます。http://developer.razerzone.com/chroma/あと、Razer Synapse が…

OCaml で Subcommand をパースする

Arg module のドキュメント読んでもどうすればいいかいまいち分からなかったので OCaml で Subcommand とそのオプションを Arg module でパースする方法をメモしておきます。何か間違っているところなどあればコメント、ツイートなど下さい。 実装 parse_dyn…

Io で Unicode エスケープ形式から元に戻す

Io language で API を叩いていて、 "\u3042" とか出てきて元に戻す必要があったので調べた 結論 私の見た限りでは、一つ method 呼べばなんとかなるようには見えなかったので、以下のようにしてとりあえず解決した 簡単な方法あったら教えてください str ma…

Factor で http-request の response body が byte-array になった時

あるサービスの API レスポンスで body が byte-array になったので調べた 結論 charset が指定されていなくて byte-array になったら適切な形で decode する utf-8 なら http-get drop body>> utf8 decode json> . 詳細 サーバー側で charset が指定されて…

Nim の pegs モジュールを使う

この記事は Nim Advent Calendar 2016 24 日目の記事です。クリスマスとか年末に絡めた何かを考えていたのですが、思いつかなかったので普通に書きます。 PEG とは PEG について、解説的なものを入れようかと思ったのですが、 Wikipedia がとても詳しく、私…

nim で json を扱う話

この記事は Nim Advent Calendar 2016 18 日目の記事です。さて、ネタが被ったような気がしないでもないのですが nim で json 扱うのが楽ですよって話をします。json の扱いの簡単さはとても大切ですね。今回例として使用した json は json.org の JSON Exam…

Jenkins の Android アプリ "Butler" を作った

Jenkins のクライアントアプリを作成しましたのでご報告。 もちろんオープンソースですが、今回ストアには公開していません。 github.com ストアに公開しなかった理由についてですが、 アプリ的にではなく、API 的に公開できる品質にならなそうだと判断しま…

Windows で perl5 の DBI モジュール使って嵌った話

perl5 の DBI モジュールを使用する際で data_source の指定パスに日本語含まれてる場合に嵌った。 環境 Windows 7, 10 ActivePerl >perl --version This is perl 5, version 22, subversion 1 (v5.22.1) built for MSWin32-x64-multi-t hread (with 1 regis…

Kotlin + OkHttp3 + Retrofit2 でヘッダの追加とか

Kotlin でアプリ書いてる時にちょっと戸惑った OkHttpClient のヘッダーの追加は val httpClient = OkHttpClient.Builder() .addInterceptor { it.proceed(it.request() .newBuilder() .addHeader("Content-Type", "application/json") .build()) } .build()…

Blackberry 10 での Json の扱い方について

Blackberry OS 10 のネイティブアプリ開発で Json を扱うことがあったのでメモC++ で Json を扱う場合、Cascades framework にある JsonDataAccess を用いるのが簡便だと思います。 Qt の対応バージョンが 4.8 で、Qt5.5? で追加された Json サポートを利用…

F# で Android アプリ開発いいよねって話を今更。

Xamarin と F# 使って Android アプリ開発の話。最近 F# とか blackberry とかやってて完全に変人扱いされています。 ですが、Rx とか流行ってるし、次にくるのは F# だと信じています。 Android Java or Kotlin はもちろん、 Xamarin C# に比べても人口も情…

その Activity 、少し長すぎませんか?

Android の Activity や、layout xml, 気をつけていても長くなってしまう場合があります。そして、特に一人で開発していたりすると、 長すぎることに気づいてもついつい放置してしまいがちです。ただ、放置すると、多くの場合引継ぎ等に支障をきたします。 l…

Mackerel の非公式 Android アプリ "Mackerel Client" を公開しました

サーバ管理サービス、Mackerel(マカレル)の Android アプリを作ったので、ストアに公開しました。 と同時に、GitHub にソースを公開しました。github.com Kotlin を使って何か作りたいと思っていた時期に Mackerel の API が提供されていることに気づいた…

Android で Path を animation させるには

android で線を引くようなアニメーションを行う方法について リポジトリはこちらですCORDEA/CanvasAnimationSamplegithub.com とりあえず今回は四角形を描きます public class PathAnimationView extends View { private Path mPath; private PathMeasure mM…

Jenkins を Docker で運用する

自宅のサーバーで運用している jenkins を docker 上で運用したら楽そうな気がしたので docker のインストールから確認まで行ったメモ。といっても特に移行作業などはせず、もともと動いていた jenkins を停止して docker hub に公開されている jenkins を p…

【Python】画像の寒色・暖色を判定するプログラム

画像の寒色・暖色を判断するプログラムというのはあまり無いので書いてみた。stackoverflowの投稿をもとに、rgb -> hsv に変換し、hの範囲で判断する。 結局のところ、どこまでの寒色・暖色とするかは用途や人によって違うと思うので、とりあえずパーセンテ…

AFNetworking+OnoでXMLを取ってきてパースする

調べたらいっぱい出てくるんですけど、若干やり方変わったようなのでメモ。何も考えずAFXMLParserとか使うとNSXMLParserが返ってくるので若干その後の処理が面倒になりそうな様子。 #import "XMLParser.h" #import <AFNetworking/AFNetworking.h> #import <AFOnoResponseSerializer/AFOnoResponseSerializer.h> #import <Ono/Ono.h> @implementation XMLPa</ono/ono.h></afonoresponseserializer/afonoresponseserializer.h></afnetworking/afnetworking.h>…

【pylearn2】自分のデータセットを使ってカンタンにGRBMしよう

はじめに pylearn2というdeep learning libraryは、installしていくつかのサンプルを動かすだけなら割と簡単です。ただ、いざ自分の用意したデータセットを使用してdeep learningさせようと思うと意外に大変。というわけで可能な限り簡単に自分のデータセッ…

Caffe, Pylearn2をそれぞれinstallしたDockerコンテナをDocker Hubに公開した

QiitaにてCaffe, Pylearn2のinstallに関する記事を投稿したところTwitterで次のような反応を頂きました。やはり準備が鬼門すぎる。インストール済みのDockerコンテナとかがあればな・・・ Caffe, Pylearn2をまとめて試す by @_Cordea on @Qiita http://t.co/…

docker上のUbuntu 14.04にcaffeをinstall

Caffe Caffeはディープラーニングのフレームワークです。BVLC/caffe BVLC/caffe · GitHub はじめに 今回はDocker上のUbuntuにCaffeをinstallします。 GPUが絡むと面倒なので、今回はCPUモードで使用します。 また、Pythonで使用するための設定やインストール…

GlueLangを動かしてみる。

とりあえず、私のMacでGlueLangのサンプルを動かすまでの話です。 Ubuntuでは上手くいくのですが、私のMacだと始めにちょっとこけたのでメモ。 2015/01/13 追記 現在はLLVM 6.0でも動作することを確認しました。 GlueLang ryuichiueda/GlueLang ryuichiueda/…

niconicoのコンテンツ検索apiを用いたアニメ間距離の可視化 続き

前回は距離の算出やノイズに悩まされ、あまり良い結果が得られなかったのであの後もしばらく続けておりました。 これ以上放っておくと手順を忘れそうなので、ここらでまとめておきます。とはいえ一ヶ月前くらいにやったことなので既に結構忘れていて余り書く…

【Python】niconicoのコンテンツ検索apiを用いたアニメ間距離の可視化【R】

はじめに 3連休中あまりに暇だったので、動画に付いているタグによってアニメ間の距離はどう見えるかを調べた結果と作ったプログラム群。 今回対象としているアニメ 2010-2014年までのアニメ、823作品 Wikipediaから取得 主に使用しているライブラリ等 Pytho…

optparseでエスケープ文字を受け取りたい時

optparseはエスケープ文字をそのまま入力すると期待した結果と異なる挙動を示すことがあります。 これは一部のコマンド(sortなど)にも言えます。 しばらくしたら忘れてそうなのでメモ。試しに次のようなプログラムを書いてみました。 from optparse import O…

Pythonで行/列名付きのmatrixを出力するいくつかの方法

正攻法, 変わり種など4つ。 2014/11/12 追記 方法3に問題が合ったので修正いたしました。 それと方法4を追加。 今回出力したいのはこのようなマトリクス Ile Val Leu Phe Cys Met Ala Gly Thr Trp Ser Tyr Pro His Asp Glu Asn Gln Lys Arg Ile IleIle IleVa…

【Fedora 20】erlangのinstallに失敗する

% sudo yum install -y erlang . . . 失敗: erlang-erts.x86_64 0:R16B-03.7.fc20 完了しました! % erl zsh: command not found: erlselinux-policyをupdateする必要があるらしい sudo yum update -y selinux-policy 失敗したerlang-ertsだけ再インストール …