読者です 読者をやめる 読者になる 読者になる

Sphereとともに

scalaとかplayframeworkとか。技術ブログにしたいなと。環境は Windows7x64, mac です。たまに声優さん情報が混ざります。最近ちょっとClojure触りました。

go言語でGETしたresponseをparseする

共通定義 import ( "net/http" "encoding/json" "log" ) func get(client *http.Client, url string, accessToken string, typedef interface{}) interface{} { req, _ := http.NewRequest("GET", url, nil) req.Header.Set("Authorization", accessToken) r…

go言語のjsonのパースでちょっとハマったこと

jsonをパースしても [] になってしまう type Category struct { id string label string } func fetchCategories(client *http.Client, accessToken string) { url := "https://cloud.feedly.com/v3/categories" req, _ := http.NewRequest("GET", url, nil)…

はじめてのneo4j

neo4j をダウンロードして起動して、パスワード設定をすること。 github.com グラフ型データベース入門 - Neo4jを使う作者: Neo4jユーザーグループ,長瀬嘉秀出版社/メーカー: リックテレコム発売日: 2016/02/13メディア: 単行本(ソフトカバー)この商品を含…

playframework + Docker + twitter4j

qiita.com プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化作者: WINGSプロジェクト阿佐志保,山田祥寛出版社/メーカー: 翔泳社発売日: 2015/11/20メディア: 大型本この商品を含むブログを見る

Docker メモ

Docker Docker - Wikipedia 目的 AWSのElastic Beanstalkで Docker + playframework を動作させる。 Dockerfile docker build するためのコマンドを記述したファイル。 docker build することでDockerイメージが作成される。 参考 DockerfileをGitで管理して…

Logger

Logger logback.xml additivityを設定しないと、不要なログ出力をしてしまう可能性がある。

毎日デプロイする方法を考える

毎日デプロイを行うためにはしっかりとした仕組みを作り上げる必要がある。 DeNAが歩んだデプロイ自動化への道 - YAPC::Asia Tokyo 2014 デプロイ自動化を進めるためのチェックリスト | Ryuzee.comwww.ryuzee.com JenkinsでGitHubのプッシュ時に自動デプロイ…

こわくないScala

こわくないScala from FScoward www.slideshare.net こわくないScala vol.2 from FScoward www.slideshare.net Scalaのココがコワイとかよくわからんとかあったら教えて下さいScalaスケーラブルプログラミング第2版作者: Martin Odersky,Lex Spoon,Bill Venn…

paizaオンラインハッカソン Vol.5 を Scalaで解いてみた

最近残業のし過ぎで疲れすぎて、まったくもってScalaのコードを書けていなかったので リハビリに# Mission1 object Main extends App{ val sc = new java.util.Scanner(System.in) sc.nextLine().toList.zipWithIndex.filter(n => n._2 % 2 == 0).foreach(s …

エクセルファイルからjavaコードの自動生成

SIerはエクセルが大好きなのです。設計書と名のつくものはすべてエクセルで書きます。(白目で、エクセルファイルからjavaコード自動生成するやつ作ってと言われたので作りました。FScoward/CodeValueGenerator · GitHub思いつくままに作ったのでコードがグ…

Apache Camel

Apache Camelという面白そうなのを見つけた Apache CamelはApache Software Foundation(ASF)が開発している オープンソースのコンポーネントベースのルーティングエンジンです。 http://sourceforge.jp/projects/cameluserjp/wiki/FrontPageが、残念今のとこ…

【参考資料】Sign in with twitter

http://www.ne.jp/asahi/hishidama/home/tech/google/appengine/twitter4j.htmlhttp://www.ne.jp/asahi/hishidama/home/tech/twitter/auth.html#Consumer_secrethttp://twitter4j.org/ja/code-examples.html#signinwithtwitterhttp://www.ari-hiro.com/blog/…

playframework で Angular.js を使ってみる

実に簡単 @(title: String)(content: Html) <html ng-app> <head> <title>@title</title> <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")"> <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")"> </link></link></head></html>

【リンク】デプロイについて

http://www.slideshare.net/Ryuzee/devsumia

Clojure その27 Webアプリケーション その3(TODOアプリケーション作成)

今回はTODOリストを溜め込む処理と溜め込んだリストを表示する処理を作成しました。(絶対もっとスマートな書き方あるだろ・・・とか思いながら)うーん (defn display-todolist [] (map #(str "No: " (:no %) " " "Item: " (:todo %) "</br>")(deref todolist)))…

Clojure その26 Webアプリケーション その2(TODOアプリケーション作成)

なんか他のフレームワークでもよくあげられるサンプルとしてTODOアプリケーションがあるのでそれを試してみます。 lein new compojure hello-todoまずは project.clj を弄って hiccup を使えるようにします。 (defproject hello-todo "0.1.0-SNAPSHOT" :desc…

Clojure その25 Webアプリケーションその1

・・・CSVとかもういいわ(諦めClojureでWebアプリケーションつくるにはhttp://qiita.com/snufkon/items/5224ecc090a8fddd45cdを見ると、CompojureとHiccup使えばなんとかなりそうなので手を出してみるプロジェクトの作成は lein new compojure [プロジェク…

静的型付け言語と動的型付け言語

一般的にどちらが良いかを論じるつもりはないのでそういった話を見たい人はもっと別の技術力のある方たちの議論を見たほうがよいでしょう。あくまで、自分の感じたところをつらつらと書きます。

Clojure その24 csvファイルを読み込んでpart2

全然うまく行かないのでrepl でちょっとみてみるふむじゃpart1のやつをちょっと弄ってみて (defn -main [] (def uploadData (parse-csv (slurp "test.csv"))) (def defaultData (parse-csv (slurp "default.csv"))) (println (class uploadData)) (println (…

Clojure その23 csvファイルを読み込んでpart1

default.csv, test.csvという2つのCSVファイルがあったとして・・・■ default.csv aaa,bbb■ test.csv 000,111という中身だったとする。んで 000 : aaa 111 : bbbと出力したいと考えたCSVファイルの読み込みにはhttps://github.com/davidsantiago/clojure-cs…

Clojure その22 お遊び

行くよっって自分がつぶやいたらyoutube で Q&Aリサイタル を再生するという意味の分からないやーつ (ns hello.core (:import [twitter4j TwitterFactory Query TwitterException]) (:use [clojure.java.browse]) ) ;; Twitter からつぶやきを取得 ;; -> laz…

Clojure その21 # について

正月2日めからなんでClojureの勉強してるんだろう・・・ 今回はたびたび出てくる#について#は無名関数のリーダーマクロだ(※マクロとリーダーマクロは全く違うらしい。まだそこまで読み込めていない。。。)Clojureにおける無名関数は fn で作れるが# を使…

Clojure その20 ->>(スレッディングマクロ)

Clojure その19 twitter4j を使ってみる3 - Sphereとともににコメント頂きましたので、早速動きを見てみましょうOh...エラー出てる・・・こいつは困った・・・ちょろっと書き加えてみる (ns hello.core (:import [twitter4j TwitterFactory Query Twitter…

Clojure その19 twitter4j を使ってみる3

むむむ・・・ (ns hello.core (:import [twitter4j TwitterFactory Query TwitterException])) (defn -main [] (try (let [twitter (.getInstance (TwitterFactory.))] (let [userTimeline (.getUserTimeline twitter)] (println (map #(.getText %) userTim…

Clojure その18 twitter4j を使ってみる2

とりあえず1件表示することはできたので、 (ns hello.core (:import [twitter4j TwitterFactory Query TwitterException])) (defn -main [] (try (let [twitter (.getInstance (TwitterFactory.))] (let [userTimeline (.getUserTimeline twitter)] (printl…

Clojure その17 twitter4j を使ってみる

(※Clojureの理解が不十分なまま書いています)準備として■ project.cljtwitter4j の依存関係を記述 (defproject hello "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public Licens…

Clojure その16 try-catch は式か

ちょっと気になったので (ns hello.core) (defn -main [x y] (let [z (try (/ (Integer. x) (Integer. y)) (catch ArithmeticException e (.getMessage e))) ](println z)) ) 実行 $ lein run 1 2 1/2 $ lein run 2 0 Divide by zeroはい式でした堀江由衣を…

Clojure その15

今回は try-catch ですとりあえずなんらかのExceptionを吐き出してくれる処理を用意します (ns hello.core) (defn -main [x y] (println x "/" y "=" (/ (Integer. x) (Integer. y)))) エラーを起こす方法は簡単ゼロで割ってやれば良いです $ lein run 2 0 E…

Clojure その14

Clojure その13 テキストファイル読み込み3 - Sphereとともににコメント頂きました(@kawasima 先生ありがとうございます)詳しく見て行きましょう 単に中身を全部読み込むだけなら (slurp "/xxxxxxx/hello/src/hello/core.clj")行ごとに処理するなら、こう…

Clojure その13 テキストファイル読み込み3

これでテキストファイルの中身をすべて読み込むことが出来ました (ns hello.core) (import '(java.io File FileReader BufferedReader)) (defn -main [] (let [reader (new BufferedReader (new FileReader (new File "/xxxxxxx/hello/src/hello/core.clj"))…

Clojure その12 テキストファイル読み込み2

絶対パスにしたらいけた (ns hello.core) (import '(java.io File FileReader BufferedReader)) (defn -main [] (let [fi (new File "")] (println (.getAbsolutePath fi))) (let [reader (BufferedReader. (FileReader. (File. "/xxxx/hello/core.clj")))] …

Clojure その11 テキストファイル読み込み

テキストファイルの読み込みを行いたい・・・行いたいが・・・そんなファイルねーよって怒られる (ns hello.core) (import '(java.io File FileReader BufferedReader)) (defn -main [] (let [fi (new File "")] (println (.getAbsolutePath fi))) (let [rea…

【追加】Clojure その9 case

Clojure その9 case - Sphereとともににコメント頂きました、がよくわからなかったので、直接聞きました@FScoward (case 評価対象値 値1 式1 ... 値N 式N) となっている値i 式i が偶数個で対になっている場合は「デフォルトなし」でマッチしない場合はエラ…

Clojure その10 cond

前回は case を使いましたが他にも cond というものがあるそうなcaseとcondの違い - すにぺっと (defn -main [member] (cond (= member "高垣彩陽") (println "スフィア") (= member "豊崎愛生") (println "スフィア") (= member "戸松遥") (println "スフィ…

Clojure その9 case

今回はcase を使ってみましょうClojureDocs - clojure.core/case (defn -main [member] (case member "高垣彩陽" (println "ピンク") "豊崎愛生" (println "緑") "戸松遥" (println "オレンジ") "寿美菜子" (println "紫"))) $ lein run 高垣彩陽 ピンクここ…

SIerにおける関数型言語(Scala、Clojure)

SIerは生産性を高めるための次の言語を探っている(ようだ)話題に上がるのはやはり関数型言語関数型言語にすれば生産性があがるそうだ大抵そういう話をする人間は、SE全員が関数型言語を使えることを前提で考えているでも、SIerに勤めている人間で関数型言…

Clojure その8 for

if やったら for かなとりあえず 1〜9 を表示するものを書いてみましょうちなみにScalaだとこんな感じ object Main{ def main(args: Array[String]) = { for(i <- 1 to 10){ print(i) } } } 勘でClojureを記述してみる (defn -main [] (for [i (range 1 10…

Clojure その7 if

続いて条件分岐Scala では if は値を返す式です。Clojureではどうでしょう確認に入る前に変数の定義の仕方を知っておきたいですねググった結果def, letというのを見つけました簡単に言うと def は グローバル変数を定義let はローカル変数を定義する際に利用…

Clojure その6

今回は関数を定義してみます引数に x と y をとって足し算した値を画面に表示するという関数を作ってみましょう関数定義には defn を使えば良さそうだというのは前回学びましたlein new した時に作られたものを見た限り引数を取るには [] を使用すれば良さそ…

Clojure その5

ところで、当たり前のように書いている (ns hello.core) この一文一体なんなのかclojure ns でググれば一発ですがnamespace ですね。なんか、以下のページ見ると色々書いてありますが・・・ http://d.hatena.ne.jp/propella/20100701/p1Clojure のネームスペ…

Clojure その4

さて、その3では引数を渡さなきゃ動かないものでしたが引数渡さんでも動くようにしたい・・・!ということで、ちょっと弄ってみましょう (ns hello.core) (defn -main (println "Hello, World!")) はい、残念 $ lein run Exception in thread "main" java.l…

Clojure その3

はい正解はこちらでした (ns hello.core) (defn -main "I don't do a whole lot." [x] (println x "Hello, World!")) main じゃなくて -main なのねんで、実行時に引数渡さなきゃだめなのね $ lein run fscoward fscoward Hello, World!おいしいClojure入門 …

Clojure その2

今回は実際に触るところまで環境は mac です。調べた限り leiningen(・・・レインいんげん?)というものを利用すると良いらしいとのことなので brew install leningenと打ってインストール lein new helloと打つと以下の様な感じでプロジェクトが作成され…

【Scalaか】Clojure【Scala以外か】

数ヶ月前から、弊社の凄い人が僕のいる部署に異動して来た (最近やっと関わりを持てた)その人がClojureを推していたので、ちょっと学んでみようと思う(ももいろクロージャーとか上手いこと言われて悔しかったのは内緒w)ディスるにせよ、ディスらないに…

【scala】【playframework】twitter4j のtwitter4j.propertiesについて

とりあえずメモtwitter4j.propertiesはプロジェクト直下に置けばいいです。中身は以下のとおり debug=true oauth.consumerKey=XXXXXXXXXXXXXXXXXX oauth.consumerSecret=YYYYYYYYYYYYYYYYYYこうしておけば勝手に読み込んでくれます。便利ですねーTwitter出版…

【scala】【playframework】slick 2.0.0-M3 を使ってみる

新しいことにチャレンジするということはなかなか大変だ・・・細かい点は気にせずに、おまかに。。。まずはSQLの設定(application.conf)db.default.driver=org.h2.Driver db.default.url="jdbc:h2:file:play;MODE=PostgreSQL"続いてSQLのCREATE文(1.sql) # -…

流れるようなインターフェース

ってこんなの?よく分かんないです>< import play.api.db.DB import anorm._ import anorm.SqlParser._ import play.api.Play.current import java.math.BigDecimal class Calc { var totalAmount: Long = _ def sum(retail_code: String, seat_id: String…

【scala】chill を使ってみる その2

とりあえずこんな感じでしょうか・・? val defaultPool = ScalaKryoInstantiator.defaultPool val byteArray = defaultPool.toBytesWithClass(accessToken) 全然わかりません><melodia 2アーティスト: 高垣彩陽出版社/メーカー: ミュージックレイン発売日…

【scala】chill を使ってみる その1

使うためにはsbtでライブラリを引っ張ってこないとねということでbuild.sbtに以下の記述を追加 "com.twitter" % "chill_2.10" % "0.3.5" こうすればとりあえず使えるようになる(未確認)melodia 2アーティスト: 高垣彩陽出版社/メーカー: ミュージックレイ…

【scala】シリアライズ、デシリアライズ

scalaでシリアライズを行う方法をぐぐってみたらchill というのが引っかかったどうやらtwitter社開発のものだそうですねちょっと使ってみますSticking Places(初回生産限定盤)アーティスト: スフィア出版社/メーカー: ミュージックレイン発売日: 2013/11/27…