巨大な配列のソートの計算量を減らす

要件:100万レコードからなる{ID,SCORE}の中からTOP N件をSCORE降順で得たい。 普通にやる HashMap<String, Double> items = new HashMap<>(); for (int i = 0; i < 1000000; i++) { items.put(String.valueOf(i), r.nextDouble()); } List<Entry<String, Double>> entries = new ArrayList<>(it</entry<string,></string,>…

storyboardでのScrollViewレイアウト

iOS

Swift - How to use Scrollview Xcode 7 (Storyboard) - YouTube いろいろ大変だったが、結局この動画で一瞬で解決(xcode7) この動画のままだとなぜか横スクロールがでてくる。 ScrollViewが一番上のViewに対して持っている右端と左端の制約をそれぞれ-20…

push通知ハマりポイント

Provisioning Profile で登録している 名前とxcode側の名前(Bundle Identifier)が一致しないとアプリ側に送られてこない。 エラーも何もでないからどこが原因かわかりづらかった。もう。

{"message":"Missing Authentication Token"}

POSTの場合、リクエストの投げ方が間違っているこういうエラーがでる。わかりにくい。こうするとうまくいった curl -H "Content-Type: application/x-www-form-urlencoded" -X POST -d '{"hoge":"123"}' https://aaaaaaaaaaa 参考 AWS API GatewayでContent-…

一括で複数ファイルアップロード

今いるディレクトリのファイル全部アップロード find . -type f -print0 | xargs -0 -I% aws s3 cp % s3://path_to_upload/

さくらVPSでUnicode::Japaneseインストール

yum install perl-ExtUtils-Embed cpan Unicode::Japanese 参考: Perl - Unicode::Japaneseのインストール失敗をなんとかしてみた - Qiita

java.lang.NoClassDefFoundError JaxbAnnotationIntrospector

はまり[GLASSFISH-21141] Missing jackson-module-jaxb-annotations JAR causes error on first Jersey/Jackson JSON response - Java.net JIRA A quick hack how I managed to overcome this on GlassFish Server Open Source Edition 4.1 (build 13): 0) s…

分散的にsqliteを扱う場合のパフォーマンスに関するメモ

巨大なSQLliteのDBをいくつかのDBに分けた場合のパフォーマンスに関するメモ。結論:2つ以上のDBに交互にSELECT文を発行すると、そうでない場合に比べて10〜100倍くらい遅くなった。 最初に複数のDBコネクションを配列に入れる。 my @dbhs = qw(); for(my $t…

同じクラス名は避けるべし

重大: Mapping conflict. A Servlet registration exists with same mapping as the Jersey servlet application, named jp.unko.hoge1.resources.MyApplication, at the servlet mapping, /rest/*. The Jersey servlet is not deployed. 重大: Mapping conf…

JAVAでSQLiteを使う(glassfish)

WEBサービスで使う機械学習のモデルを実現するためにJAVAのヒープを使うっていう話もあったが、 メモリに頼ったやり方だとモデルが巨大化していった時にスケールしにくいし、ユーザ0のうちから金がかかるのは微妙。 なので、SQLite+ヒープのキャッシュで賄…

最大使用メモリの取得

参考:GNU timeでプロセスの最大メモリ使用量を取得するシェルスクリプトを書いてみた - N_Nao’s log mac /usr/bin/time -lp perl myScript.pl maximum resident set sizeが最大使用メモリらしい real 172.55 user 144.37 sys 20.92 12747128832 maximum res…

ディープラーニングフレームワークChainerをEC2のGPUインスタンスで動かす g2.2xlarge instance

GPUモードで動かしたことなかったのでEC2でやってみた。 GPUモードとCPUモードのスピードの差は圧倒的で、 GPU:CUP=2.49143505096:161.869711161だった以下手順備忘録 1. g2.2xlargeを一番安いバージニアリージョンでたてる ただしコマンドのレスポンスが…

TypeError: amax() got an unexpected keyword argument 'keepdims'

というエラーはnumpyのversion updateによって解決 sudo easy_install -U numpy

serviceはかならずreturn {}を含めなければならないっぽい

さもなければコンソールにinjection関係のエラーがでる。

divでNカラムでいらいらしない方法

ようやくしっくりくるやり方が見つかった。 <div style="display: table; table-layout: fixed; width: 100%; border: 1px solid #CCC"> <div style="display: table-cell; width: 100px; border: 1px solid #CCC"> 固定幅の何か </div> <div style="border: 1px solid #CCC"> 長文 長文長文 長文長文 長文長文 長文長文 長文長文 長文長文 長文長文 長文長文 長文長文 長文長文 長文長文 長文長文 長文長文 長…</div></div>

NetBeans + AngularJs (windows)

環境準備のうる覚え netbeansだと環境準備が楽そう AngularJS Meets Java EE 7 - YouTube Tips for AngularJS in NetBeans IDE 8.0.1 - YouTube プロジェクト作成 新規プロジェクト > HTML5 > HTML5アプリケーション > プロジェクト名決める > オンライ…

java.io.NotSerializableException

問題 java.io.NotSerializableException とあるオブジェクトをこのtoByte()でbyteに変換しようとしたらエラーがでた。 Javaで大量データをメモリに展開するテクニックの考察 - Symfoware 解決方法 java.io.NotSerializableException - How to solve Not Seri…

munin-node | mysqlのレプリケーション関係で動かない

mysqlのリプリケーションをやったサーバでmunin-nodeを起動しても動作しなかった それ以外の状況が全く同じサーバについては普通通りに動いている。ログをみると、/var/log/munin-node/munin-node.logだけがでている。 sudo -u munin /usr/bin/munin-cron こ…

1つのサーバにmysql複数プロセス立ち上げる

基本 MySQLプロセスを一台のサーバで複数起動 [GameCreator'sNote]mysql dirの初期化だけはこちらの手順 MySQLのデータベースを初期化する - Qiita つまり vim /etc/my2.cnf mkdir /var/lib/mysql2 chown mysql:mysql /var/lib/mysql2 # init dir su mysql m…

さくらVPSでmysqlレプリケーションを構築してみる

前提 centos6 mysql5.5 まず、mysql5.5を入れる。 【シンプル】CentOS6にMySQL5.5をyumで簡単にインストールする手順 | 田舎に住みたいエンジニアの日記 最初5.6を入れてすすめていたが、5.1から5.6への移行は推奨されないというのを見て、嫌な予感がして5.5…

jax-rsでNoSuchMethodErrorにハマる

問題 java.lang.NoSuchMethodError: com.sun.research.ws.wadl.Response.getRepresentationOrFault()Ljava/util/List; at com.sun.jersey.server.wadl.WadlGeneratorImpl.createResponse(WadlGeneratorImpl.java:198) at com.sun.jersey.server.wadl.WadlBui…

web server (apache) → app server (glassfish) 構成

web server (apache) → app server (glassfish) の構成にする。 ApacheとGlassFishを連携する mod_proxy編 - Webサービスで起業を目指すプログラマーblogこれによって、無駄にport開放をしなくてよくなった。ユーザのアクセスはすべてapacheの80に集約される…

sqlite + java + connection pool + glassfish

Glassfishの設定 http://sourceforge.net/p/sqlite-connpool/wiki/How%20To%20Setup%20a%20SQLite%20Connection%20Pool%20on%20Glassfish/ Java source code http://sourceforge.net/p/sqlite-connpool/home/Home/ おまけ 設定 java - Set SQLite connection…

JAX-RS Viewable | jspで変数が展開されずにハマった

問題 ${it} これがjspでそのまま ${it} と表示されてしまう。解決方法 java - JSP: EL expression is not evaluated - Stack Overflowこれでもいける なぜハマってしまったのか 原因がJAX-RSかViewable近辺にあると思いこんでいた。。 あと、jspのこの変数の…

Route53の設定を変えるとしばらくホスト名が解決できなくなる

しかしながら、他のネットワークからならアクセスできた。 あと、15分くらい待ったらすべてのネットワークの端末からアクセスできるようになった。かなり不確かな情報だけど、プロバイダーがそういう情報をキャッシュとしてもっていてそのキャッシュが更新…

Elastic Beanstalk + logback

beanstalkでtomcatデプロイ。で、ログを出したいだけなのに 何かといろいろ調べなければならなかった。 pom.xmlに依存を加える <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jdk14</artifactId> <version>1.7.5</version> </dependency>

AWS + java + JAX-RS + session のメモ

EclipseでJersey(JAX-RS)を始める EclipseでJersey(JAX-RS)を始める - Qiita beanstalkでさっとdynamodbのセッションを作る Amazon DynamoDBによるTomcatセッション永続化とフェイルオーバー | Developers.IOeclipseで普通にやるとsession用のdynamodbのテ…

JDK1.8をcentosに入れて、デフォルトのjavaを入れ替える で jstatで監視

jstatを使ってヒープの監視がしたかったのでいれる。このサイトの通りでいけた。 How to Install Java 8 (Jdk 8u31) on CentOS/RHEL 7/6/5 cd /opt/ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; o…

オンメモリ高速KVSをjavaのstatic変数で実現する

やりたいことは、メモリの高速さをフルに活かした超シンプルなKVS。 用途は、機械学習アルゴリズムのモデル用。 ・大量のKeyValue値を高速に読み書きできること。 ・モデルはシリアライズを使って、ファイルに保存/読み込みもできるようにしたい。 ・サーバ…

JSON形式のマルチバイト文字(UTF16)をUTF8変換する

JSON系モジュールを使わずに直接まともに見れる形に変換したいが、なかなか情報がなかった。 use Encode;## test print encode("UTF-8", "\x{3042}"); ## "あ"## 変換したいUTF16な文字列 my $str = '\u3042';$str =~ s/\\u(:xdigit:{4})/chr eval "0x$1"/eg…