PyCon 2014の発表資料です。 CRMやマーケティングに活用できる実践的なデータ分析とはどのようなものなのか、データ分析の実例を交えつつ、データ分析関連のPythonのライブラリ(NumPy, pandas, SciPy, scikit-learn など)をダイジェストで紹介します。
![マーケティングに活かせるPythonライブラリ PyConJP 2014](https://cdn-ak-scissors.b.st-hatena.com/image/square/a9602194be1d1550973077929e8c0030df4d853f/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fpythoninpyconjp2014-09-14-140914024135-phpapp01-thumbnail-4.jpg%3Fcb%3D1410662728)
Android, iPhone等のスマートフォン向けアプリ開発などの話題を中心に、時事ネタなどを気の向くままに書いています。 先日、iOS8のGM seedが公開されました。iOS8の正式リリースも間近ですね。 ところで、iOS8対策は済んでいますか? もし対策が済んでいたとしても、この下にある「UITextView、UITextFieldで編集メニューの表示がおかしい」だけは読んでおく事をお勧めします。 全てのUITextView、UITextFieldを使用したアプリが関係する問題です。 私自身、iOS8はベータ版の時から見ていたので、いくつか不具合が出る箇所を発見していました。 そこで、まだGMの段階ですが、備忘録を兼ねてiOS8対策に関して情報共有したいと思います。 間違いがありましたならばご指摘ください。 今回記載するのは以下の内容です。 他にもiOS8ではDeprecatedに
Objective-Cを使ったiOSアプリ開発では、C言語のプリプロセッサ命令を使って、NSLogを#ifdef DEBUGで囲むデバッグマクロのテクニックがよく利用されていました。 #ifdef DEBUG #define LOG(...) NSLog(__VA_ARGS__) #define LOG_METHOD NSLog(@"%s line %d", __func__, __LINE__) #define LOG_OBJECT(obj) NSLog(@"%s=%@", #obj, obj); #else #define LOG(...) #define LOG_METHOD #define LOG_OBJECT(obj) #endif
今回は、Webサーバのログ解析をリアルタイムで行えるコマンド『GoAccess』を紹介する。 1.インストール まずはコマンドのインストールから。 以下のコマンドを実行する。 ソースコードからmakeする場合 wget http://tar.goaccess.io/goaccess-0.8.5.tar.gz tar -xzvf goaccess-0.8.5.tar.gz cd goaccess-0.8.5/ ./configure --enable-geoip --enable-utf8 make sudo make install パッケージ管理ソフトからインストールする場合 brew install goaccess (Mac OS Xの場合) sudo apt-get install goaccess (Debian/Ubuntuの場合) sudo yum install goacc
JPOUG> SET EVENTS 20140907 | Japan Oracle User Group (JPOUG)に参加して発表をしてきました。IIJさまのセミナルームは窓からの眺めがすばらしいですね。JPOUGの運営メンバのみなさま、会場を提供してくださったIIJのみなさま、当日お越しいただいたみなさま、どうもありがとうございました。 私のセッションでは「MySQLのロックについて」と題してネクストキーロックなどの説明をしました。プレゼンテーション資料と、調査のために作成したツールを公開します。 プレゼンテーション資料 (PDF) Lock Inspector 1.0 プレゼンテーション資料からリンクしているウェブサイトの一覧です。 MySQL Lists: mysql: Re: InnoDB's inner workings + checkpoints 過去記事の訂正 @kami
Go にはスクリプト言語でいうところの variable = a || b のような構文や三項演算子がないようなので、 var accessKeyId, secretAccessKey string if config["aws_access_key_id"] == "" { accessKeyId = os.Getenv("AWS_ACCESS_KEY_ID") secretAccessKey = os.Getenv("AWS_SECRET_ACCESS_KEY") } else { accessKeyId = config["aws_access_key_id"] secretAccessKey = config["aws_secret_access_key"] }
Go にはスクリプト言語でいうところの variable = a || b のような構文や三項演算子がないようなので、 var accessKeyId, secretAccessKey string if config["aws_access_key_id"] == "" { accessKeyId = os.Getenv("AWS_ACCESS_KEY_ID") secretAccessKey = os.Getenv("AWS_SECRET_ACCESS_KEY") } else { accessKeyId = config["aws_access_key_id"] secretAccessKey = config["aws_secret_access_key"] }
いまはもっと賢くなってる。最適化バンザイ https://medium.com/a-journey-with-go/go-string-conversion-optimization-767b019b75ef 概要 string を byte スライスにしたり,またその逆だったりをおこなうのに, なんてコードをよく書きます.string は読み込み専用のスライスみたいな物だという認識だったので,キャストしても,ポインタがコピーされるだけで,必要になったらコピーされるだろうぐらいに思ってたんですが,調べてみたらメモリがまるっとコピーされるのでパフォーマンスに影響しそうなときは要注意です. 詳細 string を byte スライスにキャストするプログラムを書いて,アセンブリコードを吐かせてみました.
Goでは文字列は不変(immutable)なので、文字列への文字の追加は常に新しい文字列をアロケートすることになる。ランタイムはまず新しい文字列のためのメモリを割り当てて、そこに既存の文字列の内容をコピーし、新しい文字を最後に足すということを行う。 従って、文字列に+=演算子で文字列を追加していく操作は大変効率が悪い。Javaの文字列も同じだからJavaプログラマにとっては馴染みのある話だろうと思う。 文字列を構築する必要がある場合、[]byte型の値を作ってそれに文字列を追加していって、最後に値を文字列に変換するのがよい。 // サイズ0、内部バッファの長さ10の[]byteの値を割り当てる b := make([]byte, 0, 10) // bに文字列を追加 b = append(b, "foo"...) // ...が必要 b = append(b, "bar"...) retu
1ヶ月くらいGoの勉強をしたときにたどり着いたリンク集。 (適時追加中) ページ A Tour of Go - 最初にここ。ただし、量と途中のエクササイズの問題の分かりにくさで、最初から全てを理解するのは大変。 go-wiki tips的な Golang JP - Google+のコミュニティ build web application with golang - Goでウェブサービスを開発する場合の説明。 Go言語での構造体実装パターン - 構造体の使い方 Go Language Patterns - 『You should have already read the Go Tutorial and Effective Go. This site is the next step.』 スライド Go For Perl Mongers - YAPC::Asia TOKYO 2014のプレゼ
国技と Scala (Japan's national sport and Scala) // Speaker Deck ドワンゴグループにおける、ニコニコ以外の Scala 開発事例として、日本相撲協会公式アプリのバックエンドに Scala/Play Framework を利用した事例について発表してきた。 言いたかったのは主に2点 長期運用の可能性があり、1万行越えだす様な規模であれば、静的型付けな環境は高い保守性と心の平安をもたらす Scala のプラクティス、ノウハウなどで、既にやっている人にとっては常識となっている様な暗黙知も積極的に公開していき、Scala のエコシステム、コミュニティをもっと盛り上げていきましょうということ(自分もふくめ) 相撲という限られたマーケットであり、スケールさせる為にはとか、分散処理とかの Scala っぽい Reactive Programming
GNUのcpを使って大量のファイルをコピーしたところ、cpの設計上の問題で、極めてコピーが遅かったというお話。 My experience with using cp to copy a lot of files (432 millions, 39 TB) よう。俺は最近、大量のファイルをコピーする必要があったんだが、UNIXは20年もやってきた俺の経験からも、cpの挙動には驚かされたし、俺の意見はコミュニティに共有されるべきだと思う。 環境:古いDellのサーバー(2コア、初期メモリ2GB、追加して10GB、Ubuntu Trusty)と、新しいDellのストレージ格納機(MD 1200)にある、12個の4TBディスクでRAID 6が設定してあって、全体で40TBの要領を持ち、二つのドライブが同時に失敗しても問題ない環境。サーバーは遠隔地バックアップに使われていて、ディスクへの書き込みし
Few days ago, Apple introduced iPhone 6 Plus. The new iPhone substantially changes the way graphics are rendered on screen. We've made an infographic to demystify this. 320 × 480 375 × 667 414 × 736 320 × 480 750 × 1334 1242 × 2208 1080 × 1920 3.5″ 4.7″ 5.5″ iPhone 6 Plus has screen with lower pixel resolution than the image rendered in previous step. Before the image can be displayed on the scree
日本写真印刷株式会社は、「iBeaconの事例が動画で分かる・最新の海外事例15選レポートを公開します。 iBeaconは、iPhoneのiOS7に標準搭載されたことで、現在注目を集めているBluetooth low energy(以下、BLE)を使った新技術です。 しかし、iBeaconは技術が先行している分野でもあり、使い方が良く分からないという声をよくお聞きしています。 そこで日本写真印刷では、iBeaconの活用方法について知りたい人のために、当社で調査した最新の海外事例レポートをダウンロード資料として公開しました。 エンターテイメントやプロモーション、決済でのiBeacon利用など、様々な業種の事例を動画で見る事ができるPDFレポートとなっています。 本iBeaconレポートでご紹介する事例の種類 エンタメ プロモーション お買い物 決済 その他 このガイドブックを入手したいとい
One day of life in V8 Vyacheslav Egorov Can V8 do that?! Vyacheslav Egorov function dot (a, b) { var d = 0; for (var i = 0; i < a.length; i++) { d += a[i] * b[i]; } return d; } dot(new Float64Array([1.1, 2.2, 3.3]), new Float64Array([0.1, 0.2, 0.3])); Can it be as efficient as C? function dot (a, b) { var d = 0; for (var i = 0; i < a.length; i++) { d += a[i] * b[i]; } return d; } dot([1.1, 2.2, 3
こんにちは。kei-s です。当ブログやっと二人目の執筆者です。 先日 Kuniaki.rb というイベントの第一回が開かれ、 そこで Spree のモデリングについて LT をしました。 (Spree とはなんぞや、などについては Sapporo RubyKaigi 2012 で発表した資料をご覧ください。 https://speakerdeck.com/kei_s/ruby-on-rails-and-spree ) (スライドの途中から本題が始まります) スライド中では、 Product と Variant LineItem と InventoryUnit という対比をしています。 前者の組は、サイト上に掲載する商品に関するモデルです。後者の組は、注文されたアイテムに関するモデルです。 詳しいことはスライドに図示しているので、そちらを見てみてください。 Spree の日本語情報はあまり
Ruby on Rails, Web Services, Software Development, Startups 概要 dockerの良い感じの管理ツールがあると聞いて使ってみました。チュートリアルの動画が非常にわかりやすいので、時間がかかりますが一通り見るのが良いです。(英語ですが、たぶんわかると思います)まだUIやdockerの挙動が怪しい時がありますが、まぁ使ってみましょう。Dockerfileをがんばって書いていくより非常に簡単に1システムを構築できますよ!11人で1ヶ月で構築されたらしい。すごい! インストール % brew install http://download.panamax.io/installer/brew/panamax.rb #################################################################
2014/9/12に行われた週末ランサーズでのGulpハンズオンで使用したスライドです。 LIGブログでこの内容をさらにまとめています。 http://liginc.co.jp/web/tutorial/117900
Haskell用のIDE(統合開発環境)Leksahの簡単な使い方を説明します。それほど機能が充実しているわけではありませんが、初めてHaskellを使うときの環境選択に迷った時は、とりあえずLeksahを触ってみてはいかがでしょうか。 Windows/Mac OS X/各種UNIX系に対応しています。 http://leksah.org/ インストール Haskell Platform ※ 忘れないように注意! Leksah 最初にHaskell Platformをインストールします。これを飛ばしてうまく動かないケースがよくあるので、必ずインストールしてください。 https://www.haskell.org/platform/ ※ WindowsではOSが64bitでも32bit版をインストールした方が安定しています。 Leksahのインストール方法はOSごとに説明します。 Wind
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 CEDECの講演 「ゲーム世界を動かすサイコロの正体 ~ 往年のナムコタイトルから学ぶ乱数の進化と応用」 より、 乱数を使った ドルアーガの塔の 迷路生成のアリゴリズムについて紹介です。 講演内容は、こちらです http://sekigames.gg-blog.com/Entry/288/ 講演者の方も、 「ナムコの乱数を取り上げるなら、ドルアーガの塔をせざるえない」 という程、外せない内容との事です 「このテーマだけで講演時間を全て使っても説明しきれない」 (講演では、時間の関係で 触りのみでしたので ある程度、せっき~の解釈で補完しています) -------------------------------------------------------------------
2014/9/6に開催されたXP祭り2014で「アジャイルを手放して得られたこと」という講演をしてきました。Togetterはこちらから。 元々は「アジャイルのダークサイド」の話がしたくて応募したのですが、その後、いろいろと考えているうちに僕自身にも気づきの多い内容となりました。 さて反応を見てると前半のアーキテクチャとマネジメントの話に興味を持っていただいたようです。なので、このブログでは「なぜアーキテクチャとマネジメントの話からアジャイルの話をしたのか」ということを書いてみます。 アジャイルがさまたげたもの アジャイル開発手法が大きく注目されるのは1999年の「Extreme Programming Explained」の出版であり、2001年の「アジャイルソフトウェア開発宣言」です。1990年代後半から2000年代初頭というのは、IT産業が大きく成長する時代であり、同時に、当時主流で
V8 の最適化について 色々(主にVyacheslav Egorovさんの記事やスライド)読んでたのでそれのメモ。 この文章は2014年9月13日に書かれて最適化されていないため、この文章を元に最適化をすると失敗すると思います。 参考まとめ V8に関するリソースまとめ V8 Resources - Vyacheslav Egorovさんによる thlorenz/v8-perf - Thorsten Lorenzさんによる Understanding V8 and JIT compilation basics - Google スライド - 概要分かりやすい Hidden Class V8がリリースされた時から特徴としてあげられている最適化 V8: an open source JavaScript engine - YouTube V8 祭り - Backnumbers: Steps to
ブラウザ上で、100MB 〜 2GB もの大容量のクライアントキャッシュを高速に、ストレスなく扱えます。 もちろんモバイルブラウザに対応しており、iOS 8 と Chrome for Android でも動作します。 詳しくは、 https://github.com/uupaa/WMCache.js/wiki/WMCache に書いたのでご覧ください (ε・◇・)з o O ( いつまでも 5MB + 5MB な (ε・◇・)з o O ( チョビットな世界に縛られているボクタチではないのです! (ε・◇・)っ 画像とWebAudioな動作確認ページ ひとりごと WebKit の IndexedDB は Blob をサポートしていない。Blob が使えれば、もっとシンプルに組めた。 Chrome の FileSystem は Blob も ArrayBuffer も受け付けるが現状 Blo
デザイン制作の際に、色合いにニュアンスを出すために使用されるグラデーション。きれいな色の組み合わせが成功するとデザインが一気に魅力的なものに変化することも。今回はそんなシーンで役立てたい、グラデーションを楽しみながらコード取得もできるサイト「uiGradients」を紹介したいと思います。 ひたすらグラデーションを閲覧するといった非常にシンプルなサイトですが、色の濃淡のコード取得ができるなど実用的にも活用できるサイトとなっています。 詳しくは以下 サイトの左右にある矢印をクリックすることで、グラデーションの色がどんどんと変化していきます。淡い色合いから濃淡のハッキリしたものまでいろいろな種類をチェックすることができ、左上にあるCSSコードを利用すれば実際に色を再現することが可能。左下の「Get CSS code」を押せば簡単にコードコピーもできるようになっているのも魅力です。 グラデーショ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く