プログラミング言語

Fragment のテンプレート

自分のFragmentを作る時にテンプレとして書く必要のあるものを以下にまとめておく。 内容はFragment初期化用のstaticメソッド。 Fragmentはデフォルトコンストラクタ以外のコンストラクタを持っていると、フレームワークがライフサイクル管理しきれなくなる。その理由は、Fragment | Android Developers にある通り。 All subclasses of Fragment must include a public empty constructor. The framework will often re-instantiate a fragment class when needed, in particular dur...

Androidでアニメーションしたい

ValueAnimatorというものがあったので使ったメモ ValueAnimator http://developer.android.com/reference/android/animation/ValueAnimator.html APIレベル11から使用することが可能になった。 ValueAnimatorの初期化 ValueAnimatorの場合、newでインスタンスを生成しない。 代わりにValueAnimator.ofFloatというクラスメソッドを呼び出してインスタンスを取得する。 例えばこんな感じ。 Animatorの初期化 ValueAnimator anim = ValueAnimator.ofFloat(0.f, 100.f); // アニメーション...

TensorFlowをインストールする

環境: CPU:Corei7 6700K GPU:GTX1070 SSD:240GB HDD:1TB マザーボード:ASUS H170-pro OS:Ubuntu14.04 LTS python:2.7.6 CUDA:8.0 RC cuDNN:5.1 など 過去3回で、Ubuntu14.04、CUDA、chainer、dqn、LISを順次インストールした。 http://qiita.com/masataka46/items/94417a5974dba810e7b8 http://qiita.com/masataka46/items/fddef236cb211ef3f145 http://qiita.com/masataka46/items/125c7900ec8ca83f6eb2 ただし、Unityがうまく立ち上がらないため、最後のLIS環境構築は完了していな...

GAE上でのTwilio

https://developers.google.com/appengine/articles/twilio TwilioというのはWeb上から電話したりされたりするAPIを提供するサービスです。「数字の1を押せ?」とか、トーンを押すよう要求することもできます。自動音声案内や電話投票に便利です。一回あたりおいくら、という値段設定で、結構安いです 特にコーディングの手続き的な詳細については書きません。知っている人なら上の記事だけでなんとかなります。 アナウンスがあったときに「なんだそれ」(どういう連携だよ、という意味...

Scala+PlayでAmazon Elastic Beanstalkの開発

概要 今回は、ScalaとPlay2 Frameworkを使って、 Amazon Elastic BeanstalkにWebアプリをデプロイするお話。 まず、ScalaとPlay2はインストールされていることを前提とします。 それぞれのVersionは、  ・Scala 2.10  ・Play 2.1.1 を使用しています。 Amazon Elastic BeanstalkにScala+Play2でWebアプリをアップロードするには .warファイルを作成する必要があります。(他の方法もあるのかもしれませんが わかりません。) Play2フレームワークで作成したWebアプリをwarファイル...

弱小PHPerのD言語挑戦記 1

弱小PHPerのD言語挑戦記 きっかけはTwitterで「D言語っていうマイナーな言語があるんだけど...」という呟きを見かけたから D言語に関してはちょっと前から知ってたものの、どのようなものか知らなかったため、Google先生に聞いてみる 「CをJavaみたいにかける」「C++に取って代わる」 fmfm...面白そうじゃないですか! 早速Dコンパイラ(dmd?)とatomのDプラグインをインストール まずはhello,worldということで、下のコードをコンパイラに突っ込む test.d import std.stdio; void main(...

Play framework 2のインストール

1. Play frameworkとは? Play framework(以降はPlay)はフランスのZenexityが開発したScalaとJava向けのWebフレームワーク。 "型安全で高速なRails"という感覚のフレームワークらしい。 (もちろん、上記は誤解を含んでいるかもしれないが、誤解を恐れずにいうなれば、"型安全で高速なRails") 2. 環境構築 なにはともあれ、環境つくって遊んでみる。 MacであればHomebrewを使ってbrew install playでもインストール可能だが、今回はPlay!Japanのインストール手順を参考に環境を構築。 前...

アプリ内課金のstaticItem購入でハマったエラー

前提 In-app Billing v3使用。 サンプルほぼそのまんま。 経緯 アプリ内課金でstatic Item(android.test.purchased)の購入をしようとしたら、 (1)verify signatureエラーが起き、 E/IABUtil/Security(5973): Purchase verification failed: missing data. E/IabHelper(5973): In-app billing error: Purchase signature verification FAILED for sku android.test.purchased (2)queryInventoryが失敗するようになった Error refreshing inventory (querying owned items). (response:...

phpunit と mock と sqliteと・・・ phpでユニットテストするときのあれこれ

phpでユニットテストをするときのあれやこれや 備忘録を兼ねて書いていきます。随時追記、修正します。 全部は書かずに、他サイトへのリンクなど貼っていきます。一覧性は悪いかも、ごめんね 対象者 phpでWebアプリ開発している人 ユニットテストをこれから始めたいと思っている人 モックとか、DIとか、DBアクセサのテストとか、やることわかってるけどどうやんのかよくわからない人 僕もよくわからないので、これから調べてまとめます 対象のphp version 5.3 なんでそんな旧式を対象...

Apache JMeterを使って「アクセス増えすぎるとApacheが音を上げるZE」を試す

結果的に試すハメになったってだけですお疲れ様です。 Apache JMeterとは 負荷かけるソフトです。Pure Javaで負荷かけます。お気軽に1秒間に16連射と言わず50アクセスとか出来ます。 http://d.hatena.ne.jp/language_and_engineering/20081014/1223905380 http://codezine.jp/article/detail/336 http://jmeter.apache.org/ 説明は雰囲気わかる感じで抑えます。 ちなみに現在の最新版の画面(2.11)ではアイコンが出てきてちょっと気分が良いです。 ただのDebianのApacheに1秒間50アクセ...

Androidのファイルと目的(リソース編)

Androidアプリを作成すると自動生成されるフォルダについて、適当に紹介。 今回紹介する箇所 app/res 配下についてやります。 drawable アプリの中で表示する画像を保存しておく箇所です。 今回はic_mood_bad_black_24dp.xmlとic_mood_black_24dp.xmlが入ってます。 Androidアプリの中で画像を扱うには、 - png - svg の2つの方法があります。 PNG 言わずと知れた画像ファイルです。 Windowsのペイントでさくっと作成してしまるような、敷居の低さが魅力です。 ただし、Androidでは画...

そのprotectedいらなくない?

protectedを使うと依存関係が複雑化してしまう、という例を並べてみました。privateメソッドにも言及しています。異論や例外はあると思いますが、こういう考え方もあると知っておくと役には立つと思います。 そのprotected変数いらなくない? C++やC#のprotected変数は使うべきではない、というのは一般的な意見かと思います。Effective C++でも言及されていますね。protected変数を持つClass Aを継承したClass Bにとっては、Class Aのprotected変数の内容を知らなくてはならなくなる...

GroovyでJDBC接続備忘録

Groovyに限らず、データベースに接続する時の書き方を毎回毎回ググっているのでいい加減に自分用メモ。 PostgreSQL @GrabConfig(systemClassLoader=true) @Grapes( @Grab(group='postgresql', module='postgresql', version='9.1-901.jdbc4') ) import groovy.sql.Sql def dbServer = 'localhost' def dbName = '******' def dbPort = '******' def url = "jdbc:postgresql://${dbServer}:${dbPort}/${dbName}" def user = '*******' def password = '*******' def driver = 'org....

いまさらリーダブルコードまとめ (第7章)

はじめに チーム内リーダブルコード輪読会の第7章。 第5・6章はこちら 第7章 制御フローを読みやすくする どんな内容? 結果的に同じ処理になるとしても、他の人が見てより読みやすい方の書き方を選択しよう 「読みやすい方」とは、以下のようなもの。 読み手にとって直感的(一般的な慣例に従っている) 読み手の脳(記憶)への負荷が小さい 読んだ感想  コードの書き手にとって、条件式の順番やネストの深さというのはそこまで気にならない。 なぜならば、今自分が書いたばかりで、多少...

[Android]URLエンコードしたjson形式のリクエストパラメータを送信する

リクエスト形式はjsonなんだけど、マルチバイト(っていうか日本語)が入ってくるパターンがググってもイマイチ出てこなかったので忘備録。 request.java // リクエストパラメータをセット List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair(RequestParameters.AUTH_PARAM.toString(), myself.getAuthToken())); params.add(new BasicNameValuePair(RequestParameters.HITOKOTO.toString(), message)); // URLエンコ...

イッヌハブ をつくってみよう

イラスト担当:嫁 イッヌハブはつくれる? さて、なんだかQiita運営から「内容がないよう」「なので明日夕方には利用規約に基づいて削除しますぞ」と言われてしまいました。 良い勉強の機会なので、もしもこういうGitHubっぽいサービス(GitHubクローン)を作るとしたらどうやるのかな?というのをサクッと考えてデモを作ってみようと思います。 既存のGitHubクローンの実装 いぬ用に限らない汎用的なGitHubクローンは、既にいろいろな言語で出ています。 GitBucket (Scala実装) GitLab...

go-tourの#61を解いてみる

問題 http://go-tour-jp.appspot.com/#61 概要 文字列入力ストリームをメンバ変数に持っているReader型を作る 読み込んだ文字列をROT13のアルゴリズムで変換して読み込む 回答 package main import ( "bytes" "io" "os" "strings" ) type rot13Reader struct { r io.Reader } func (reader rot13Reader) Read(p []byte) (n int, err error) { tmp1 := make([]byte, 10) n, err = reader.r.Read(tmp1) tmp2 := bytes.Map(func(r rune) rune {...

独書会 Scala IN DEPTH @ファミレス その1

今 Scala IN DEPTH という書籍を読んでいる。 アウトプットがてら、まとめていくことにした。 前提として、この書籍は 2.9.x ベースで書いているみたい。 まずは1章、Scala— a blended languageのまとめ。 In this chapter Short introduction to Scala Insights into Scala’s design 要約 Scalaは、1つの言語の中に3つの考え方を混ぜている。 関数型プログラミングとオブジェク指向プログラミング 高度なシンタックスと静的型付け 高度な言語機能と、リッチなJava統合 関数型プログラ...

【C言語】_popenでdirコマンドを実行する win7 32bit

C言語 #include <stdio.h> int main (){ FILE *fp=NULL; char *cmdline="cd C:\\2014 & dir"; fp=_popen(cmdline,"w"); if(NULL == fp) { //_pclose(fp);←ここにpcloseを書くとダメ、書くとバグ扱いになる printf("file open error ! \n"); return 1; } _pclose(fp); return 0; } 環境 OS:windows7 32bit (自作機) コンパイラ:Borland C++ 5.5.1 for Win32 解説 _popenでdirコマンドを実行する。 _popenと_pcloseなのは、po...

Playでファイルアップローダー機能を実装する

playフレームワークを使ってアップローダーを作成する。 前提としてplayの空プロジェクトができているものとする。 ルーティングの設定 routesに次の3行を追加する。 # for Uploader GET /up controllers.Uploader.index POST /upload controllers.Uploader.upload ビューの作成 アップローダーを行う画面を作成する。 app/view/up.scala.html @(message: String) @main("Welcome to Play") { @helper.form(action = routes.Uploader.upload, 'enctype -&...