プログラミング言語

React(ES2015)とMilkcocoaでリアルタイムチャットを作ってみる #reactnative_meetup #mlkcca

昨日の#jxugではAndroid(けっきょくC#じゃなくてJavaで)とMilkcocoaをつなげてみてました。 AndroidからMilkcocoaを使って見るメモ #mlkcca React入門者向けハンズオンで作ってみました。ハンズオンで使ったCreate React Appも参考にしてます。 es2015な感じで書いたので誰かレビューしてほしい... ちなみに1年前にこんな記事も書いてたらしいですがすっかり忘れてました。あのときはFluxxorが流行ってた記憶があります。 React+Fluxxor+MilkcocoaでfluxなTODOアプリ #geekhouseday...

Rescale CLI を利用する

Rescale CLI を用いてAPIをキックし、ジョブを投入してみます。 0. API キーの取得 Rescaleにログイン後下記ステップで、APIキーを取得します。 この機能はエンタープライズバージョン限定の機能となっています。 画面右上のアカウント名をクリックします 設定をクリックします 画面左、APIをクリックします CLI から rescale.jar をダウンロードし、任意の場所に保存しました。私はMacですが、この例では /usr/local/bin/rescale.jar に保存したとし、以後記述します。 画面に従い AP...

CentOS7環境でFluentd+ElasticSearch+Kibana4を構築する(前編)

今回はこちらで構築したCentOS7環境にKibana4を導入します! ※別途AmazonLinuxなEC2インスタンスでも試してみましたが、同様の手順で導入できました。 ほんと、導入するまでです!fluentdの設定とか、グラフ表示とかは後編(予定)に期待です。。 1. 仮想環境にログインする まずはログインしましょう。 おさらいですが、ホストは"192.168.33.10"でSSH、TCPポートは22番でした。 そしてユーザ名、パスフレーズは"vagrant"です。 2. システムのバージョンアップ まずは"yum update"でシス...

Cassandra 調査メモ

2016/3/18の「RDB技術者のためのNoSQLガイド」出版記念セミナーの懇親会で「Cassandraの紹介」発表者の原沢さんにいろいろ聞いてみたので、後で調べたこととも合わせて忘れないうちにメモ。 [Q1]Cassandraならではの罠はないか? 「書いたものがすぐには見えない」などCassandraに限らず一貫性を保証しないNoSQLアーキテクチャ特有の課題があることに注意が必要。 一貫性を保証しないが故に、「readよりwriteの方が速い」という結果になっているとのこと。 [Q2]事例では何万ものノード...

ズンドコ with Apex

これだけたくさんのズンドコキヨシがあるのに、Apex ないじゃないか!! ってことで、お勉強がてら、ちょっと試してみました。久しぶりに、厳格な変数宣言の必要な言語触ったので、不思議な感覚です。 素直にループで作ってみた Anonymous Window での実行を想定しているので、Salesforce の開発者コンソールから、Ctrl+E でウィンドウ開いてコピペして、Executeしてください。結果は、ログを開いてDebug Only にすると見られます。 Apexコード zundoko001.apex String Z = 'ズン'; Str...

プログラミング言語をマスターする近道

「{主要な/主要でもない}プログラミング言語 N種を*解説」とかいうのが流行っているようですが、なんでそんなにいっぱい習得できるんですか、どうやったらマスターできるんですか、という話を書いてみたいと思います。 SQLはプログラミング言語なのかとか、チューリング完全がどうとかには触れません。 私見です。異論、反論、編集リクエスト大歓迎。 おさえるべきは、「文法」と「ライブラリ / フレームワーク」 チュートリアルも参考になる。このへんを見ずに苦労している人が多いみ...

AndroidからAWSのEC2インスタンスをON/OFFする

AWSのEC2インスタンスを Androidから自動的にON/OFFするアプリを作りました。 そのメモとして、AWSのAndroid版SDKの利用方法をメモしておきます。 0.前提 AndroidStudioをセットアップ済みと仮定します。 また、これらの知識で作ったアプリは以下になります。 参考としてどうぞ。 GooglePlay : AWS EC2 Scheduler(無料) 1.準備 まずは開発環境に「AWS Mobile SDK」を導入しましょう。 1-1.SDK用意 こちらにSDKがありますのでダウンロードしましょう。 ちなみにリファレンスもありま...

再考: GoF デザインパターン

本投稿は私の主観によって書かれています。コメントは大歓迎です。もし長くなるようでしたら別途記事に投稿し、リンクを張っていただけると嬉しいです。 概要 GoFのデザインパターンは適当すぎるから、いい加減、修正されるべき。 参考までに各パターンに対するコメントを書く。 GoFのデザインパターン GoFのデザインパターンは適当であり、教科書通りに学ぶべきものではないように思う。 以下がGoFのデザインパターンの良くない原因だろう。 本が出版されたのは1994年であり、Java(19...

開発プロセスについて

齢四十を超えて、ようやくチームリーダーとして一つのプロダクトをチームで開発する機会に恵まれています。それにあたって、開発プロセスをどうするかについて考えなおしてみたので、それで自分なりに出した結論について書いてみます。 開発プロセスの種類 いわゆる開発プロセスは、つまるところ次の3つに大きく分類されます。 ウォーターフォール型 反復型 アジャイル型 ウォーターフォール型開発プロセス ウォーターフォール型開発プロセスは、開発成果物が事前に把握できていて、...

Androidの高速なJSON パーサ/ジェネレータ、LoganSquareを使う

Androidのアプリでそこそこ巨大なJSONをパースする必要があったのですが、jackson-databind や GSONではパースに時間がかかりすぎて辛い。。。 またJacksonのStreaming APIはパフォーマンスはめちゃくちゃいいのですが、パース処理を自分で書いていくのは大変。。。 そんな時に見つけたのがLoganSquareです。 https://github.com/bluelinelabs/LoganSquare LoganSquareはモデルクラスにアノテーションを付け、それによりJacksonのStreaming APIを使用したパース処理が生成されます。...

Swift学習日記

はじめに 最近Swiftを学ぶのに様々なQiita記事やブログ記事を読んだりするのですが、それらの情報が散漫としてしまって全然後から見返せないなということで備忘録的なことも兼ねてその日の学んだことを日記調にまとめてみようと思いました。 セクションは日付で区切ろうと思いますが、後からの検索しやすさも考えて目次は項目別に作りたいと思うので是非参考にしてみてください。 また、基本的に今までQiita記事にまとめてきたことや、これは一つの記事にすべきだと思われる最新情報な...

playframeworkでslickを使ってDBにアクセする際にハマったのでメモ

概要 playframeworkでslickを使ってDB(メモリ上)にアクセスする際にハマったのでメモ。 実際は、DBにアクセスするのにハマったというよりも、Injectさせようとしてハマったが正しい。 PlayFramework with scalaでDBにアクセスさせるため、いろいろ探しててslickってのがあると知ってそれを使ってみようと思った次第。 環境 version scala 2.11.7 activator 1.3.7 slick(play-slick) 1.1.1 何が起きたか とりあえず知っている知識とその辺りを説明してくださっているソースコードを読...

Groovyで「モルダー、あなた疲れてるのよ」に対処する

はじめに こちらを拝見して、「そういえばGroovyでもそういった案件があったような」気がしました。 Ruby でモルダー、あなた疲れてるのよを出力する方法 Pythonでモルダー案件 そこでGroovyのことをもっと勉強するために挑戦してみることにしました。 本題 コード def mulder() { def msg = "モルダー あなた 疲れてる のよ".split(" ") as List def list = [] Collections.shuffle(msg) // voidを返すメソッドなのでチェーンしてない… def l = daru(msg).flatten() l.add...

View/Context Bounds の制約

Advent Calendar を作る人に個人的に考えて欲しいこと コミュニティと相談する 私物化しない View/Context Bounds の制約 わー遅刻だ遅刻だ。 View/Context Bounds は便利な型制約ですが、制約自身に制約があるというめんどくさいことになっています。 例えば以下のコードは formed です。 abstract class A[T : Manifest] しかし以下のコードは ill-formed です。 trait A[T : Manifest] abstract member type を使っても ill-formed です。 trait A { type T : Manifest } これは V...

Fragment上のonClickとかをFragment内で受け取る

自分用メモ Fragment使ってタブUIを実装するのはわかったけどそれだと一つのActivityにいくつもFragmentが貼られるとかで。 Android Tips #38 FragmentTabHost を使って Fragment をタブで切り替える で、tabcontentのfragment上にあるButtonとかをxmlで sample_fragment.xml <Button android:id="@+id/loadButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="loadData" android:text=...

PSurfaceまとめ

まえがき PSurfaceはprocessing3で追加されたため、情報が少なかったため、まとめてみました。 processingのgithubの PSurfaceとPSurfaceAWTとPAppletを主に参考にしました。 https://github.com/processing/processing 注意点 関数の前にsurface.とつけないと動きません windowの設定 関数 説明 返り値 setTitle(String title) タイトルを設定する関数です なし setVisible(boolean visible) falseでwindowが見えなくなります。 なし setSize(int width, int height) windowサイズが...

Titanium + CryptoJSでデータを暗号化

Titaniumでデータを安全に保存する場合、iOSならKeychainを使う手がありますが、クロスプラットフォームでの開発で双方向暗号化をうまく実装する方法は提供されていません。 もっとも、そんなものはクロスプラットフォームの開発を前提にする以上は誰も提供していませんが。 JavaやObj-Cで書いたモジュールを使うという手もありますが、プラットフォーム間での動作の違いがあると面倒なので、できればJSで解決したいものです。 そこで、ForgeやCryptoJSといったものが候補に上がってく...

Clojrueでデータ列にある要素が含まれるか調べる

Clojureでベクタなどのデータ列中にある要素が含まれているかどうかを調べる方法についてメモ。 ;;; indexOf メソッドを使う (.indexOf [1 2 3] 2) ; => 1 (.indexOf '(1 2 3) 2) ; => 1 (.indexOf [1 2 3] 0) ; => -1 ;;; someを使う (some #(= % 2) [1 2 3]) ; => true (some #(= % 0) [1 2 3]) ; => nil ;;; filterを使う (filter #(= % 2) [1 2 3]) ; => (2) (filter #(= % 0) [1 2 3]) ; => () (boolean (seq (filter #(= % 2) [1 2 3]))) ; => true (...

SQL ログを出力する

conf/application.conf で以下の設定を有効化すると、playframework が実行する SQL ログをコンソールに出力することができます。 # Debug SQL statements (logged using DEBUG level): jpa.debugSQL=true ただ、これだけではバインドされた変数の値は分かりません。こちらは conf/application.conf と log4j.properties に Hibernate のオプションを指定することで出力することができます。 # You can even specify additional hibernate properties here: # hibernate.use_sql_comme...

jEditのJavaScriptのインデントをいい感じにする

jEditというのはJavaで開発されているオープンソースのエディターです。 名前は似ていますが某Mac OS X向け国産エディタとは別物ですあしからず。 jEditに限りませんが、JavaScriptでコールバック関数を直に書くとき、例えばインデントを 2 に設定していても、 $(function() { //4つインデントされてる みたいなことになることがあります。 関数呼び出しの括弧 ( と、 function のブロックの始まりの { の両方を解釈して、二回分インデントしてくれやがるわけですね。 jEditでこれ...