そごうソフトウェア研究所

SOA、開発プロセス、ITアーキテクチャなどについて書いています。Twitterやってます@rsogo

AWS Lambdaで必要な外部Jarも含めて一つのJarにする

AWS Lambdaでアプリを作っている時に必要となる外部のクラスが見つからずにjava.lang.NoClassDefFoundErrorが発生するケースがあります。 ビルド時は依存関係は解決できていてコンパイルエラーはでていんですが、これは外部のライブラリがパッケージングの際…

homebrewでmysqlを8から5.7にバージョンを落としたときの対応

趣旨 Macにhomebrewで入れたMySQLを8から5.7にダウングレードした時の話をします。 事の発端は新しいMacBook Proに開発環境を移行しようとしたんですが、 homebrewでMySQLを入れるとバージョン8が入りました。 で、いろいろ変わっているようなので、今やりた…

Mule ESBのフロー定義中にでGroovyスクリプトでカスタムのロジックを埋め込む

そういえば、Salesforce.comによるMulesoftの買収が発表されましたね。今後、どのようになっていくのか注目したいと思います。 www.mulesoft.com さて、今回はMuleのフロー定義にGroovyのスクリプトを埋め込んでみたいと思います。 これができるとMuleで予め…

AWS Lambdaの何が嬉しかったか。Excel生成WebサービスのLambda関数化

AWS Lambdaを使った開発をやってみて何が嬉しかったのかを書いておこうと思います。 Lambda関数化したのは以下のようなWebサービスでした SPAなWebアプリからJSONでリクエストを受け取る JavaのExcelを扱うライブラリであるPOIでExcelのテンプレートファイル…

Lambda関数をAPI Gatewayで公開する(シンプル版)

先日、JavaでLambdaを作るエントリを書きましたが、今回、API Gatewayを使って、Lambdaで実装した処理をWebサービスとして公開したいと思います。 API GatewayはRESTfulなAPIを簡単に作れます。 RESTfulなので、まずはリソースを定義して、そのリソースに対…

Install Node.js v8 and npm 5.6 for macOS High Sierra

以前、Node.js v5をMacにインストールする手順を書きましたが、MacBook Proを新調したので、新しくセットアップした手順をメモします。 begirama.hatenablog.com 公式サイト Node.js からMac用のpkgファイルをダウンロードします。2018/5/14時点で安定版の最…

JavaでAWS Lambdaの実装をやってみる

各種情報 開発者ガイド docs.aws.amazon.com AWS Lambdaには設計書と呼ばれるテンプレートが用意されていて、テンプレートをカスタマイズすることでいろいろな機能を試すことができます チュートリアル チュートリアルへのリンクが公開されています。 aws.am…

Apache ActiveMQ ArtemisのLibrary artemis-native-64 not foundメッセージは問題あるのか調査

「AppPot - 企業向けスマートデバイスアプリ開発のためのプラットフォーム」の内部では、Apache ActiveMQ Artemisを使用しています。 下記のようなメッセージが出るので調査をしてみました。 DEBUG [org.apache.activemq.artemis.jlibaio] (MSC service thre…

EXPLAINによるMySQLの実行計画の確認

担当しているソフトウェアで、運用しているとMySQL内のレコードが増えて性能が悪化するというお問い合わせをいただきました。 そこで、Indexを改善しようということになったのですが、どこにIndexを付けるべきか確認するためにMySQLの実行計画を確認しました…

macOSにTensorFlowをセットアップする (2018/04更新)

マニュアルInstalling TensorFlow on macOS | TensorFlowでオススメされているvirtualenvを使った、セットアップを行います。 このドキュメントは2018/04/29にMacBook Pro 2017年モデルに環境構築をするために、再確認して更新しています。 使用した環境 mac…

MySQL(RDS)へのデータのインポート

RDSへ、Excelでもらったマスタデータを取り込む時にいろいろとハマったので書いておこうと思います。 RDSでmysqlimportは使えない、LOAD DATA LOCAL INFILEを使う まさにこちらの記事と同じ手順を辿りました。 RDSでcsvファイルをインポートしようとして権限…

Raspberry PiにnodeとReactを入れる

冬休みの勉強でRaspberry Piにnode入れて、なんかいろいろやろうと思います。 cpuinfoでCPUの確認 pi@raspberrypi:~$ cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp…

MacOSXへのApache Kafkaのセットアップ

kafka.apache.org 0.10.0.1を入れます。 1. Zookeeperの起動 $ bin/zookeeper-server-start.sh config/zookeeper.properties Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 [2016-10-09 22:17:15,900] INFO Reading configuration from: config/zooke…

MacOSXへのActiveMQのセットアップ

MQTTを試したいので、ActiveMQをローカルに入れたいと思います。 1. モジュールの入手 http://activemq.apache.org/ 今は5.14.1 が最新みたいです。 Windows Distributionと、Unix/Linux/Cygwin Distributionがあるので、Unix/Linux/Cygwin Distributionの方…

AppPot経由でHttpFSでREST化したHadoopとやり取りする

GetAnonymouseToken GETメソッド http://localhost:8080/apppot/api/1/apppot.TestApplication/1.0.0/anonymousTokens?appKey=40c71254aca44664b61635573085ef1d&deviceUDID=bd393116-0b47-4b9e-a186-e64ffc0fbdf2 Response { "status": "OK", "errCode": 0,…

HttpFSの検証

モバイルアプリからのリクエストをリアルタイムにHadoopに投入する方法を検討しています。 begirama.hatenablog.com MuleのHDFSコネクタを使おうと思ったけど、Mule CEではだめだったので、今回はだめ。 begirama.hatenablog.com WebHDFSはクライアントから…

WebHDFSの検証

ファイルの作成 ファイルのアクセスは2回に分けて行う必要があります。 作成するファイルの中身はこんな感じです。 $ cat sample.txt 1 aaa 2 bbb 3 ccc まず、1回目。 PUTメソッドを利用します 操作名はop=create。 上書きするoverwrite=true。 ユーザー…

Mule HDFSコネクタ5.0.0の検証(Mule EEが必要でした。途中で止めています)

MuleにはHDFSコネクタというのがあって、HDFSに接続できるみたいです。試してみたいと思います。 この検証の結果としては、Mule EEがHDFSコネクタの検証に必要だと分かったため、途中で止めています。 HDFSコネクタの情報源 リリースノート HDFS Connector R…

Hiveでファイルからデータをロードする

前記事はこれ。 begirama.hatenablog.com begirama.hatenablog.com 読み込むファイルを作成します 今回はタブ区切りの次のようなファイルを作成します。 1 aaa 2 bbb 3 ccc 読み込む先のテーブルを作成します 項目の区切りをタブ、行末を改行として、数値型…

Hiveでデータベースを準備する

前にMac上にセットアップした環境にHiveで環境を作っていきます。 begirama.hatenablog.com Hiveデータベースを作成 データベースを確認する hive> show databases; show databases OK default Time taken: 0.567 seconds, Fetched: 1 row(s) データベースを…

MacにHadoopとHiveをセットアップする

MuleからHadoopに接続するのが目的です。 今回はHadoopをセットアップしたいと思います。 環境 OS X El Capitan 10.11.6 リモートログインをONにしておきます。 Hadoop install brew install hadoop HADOOP_HOMEは/usr/local/Cellar/hadoop/2.7.1/libexecで…

Google I/O 2016。Keynote自分まとめ。Machine Learning、Google Home、Allo、Duo、Android N

Keynoteのライブ、見終わりました。 ここで録画が見られます。 www.youtube.com Keynoteのメッセージの中心にはマシンラーニングがあったのかなと思います。 AlphaGoのようなマシンラーニングを活かすために、Google Assistantと、Assistantにテキストや、声…

Google I/O 2016 Live有りAndroidセッションまとめ

いよいよGoogle I/Oが今年も始まりますね。 events.google.com ライブストリーミングがある予定の、Android関連セッションのうち、私が興味があるものをリストアップしてみました。 ちなみに私が興味があるのはAndroidの最新情報の概要と、AndroidアプリのUI…

Cordovaを6.xに、cordova-androidを5.xにバージョンアップしました

Cordovaをバージョンアップしました。 バージョンアップ前 $ cordova -version 5.4.1 バージョンアップ $ sudo npm install -g cordova@6.1.1 バージョンアップ後 $ cordova -version 6.1.1 Pluginのバージョン確認 $ cordova plugin version com.phonegap.p…

www.gitignore.ioを使って「OSX端末上でEclipseを使っているJavaのMavenプロジェクト」の.gitignoreファイルを作る

www.gitignore.ioを使って、OSX端末上で、Eclipseを使ってJavaのMavenプロジェクトを開発している場合、 次のようなコマンドで.gitignoreファイルを作る。 curl https://www.gitignore.io/api/osx,java,eclipse,maven > .gitignore 今更使ったけど、すごい便…

Concurrency Utilities for Java EE(JSR-236)のシンプルなサンプル試してみる

Java EEで非同期処理を行う方法を調べていました。 やりたいことは、iOSやAndroidのPushメッセージのリクエストを受け付けて、リクエストの内容はデータベースに保存。非同期で、データベースの情報を元に、APNsやGCMにメッセージを送るという処理です。 選…

Cordovaのサンプルをブラウザと、Androidで実行するまで

このエントリーでは、こちらのCorova公式サイトのGetting Startedで紹介されている手順をやってみます。 cordova.apache.org Cordovaの環境の準備はこちらのエントリで書いています。 begirama.hatenablog.com それでは行きましょう。 プロジェクトの作成 co…

Install Node.js v5 and NPM for Mac

Cordovaの環境構築のためにパッケージマネージャーのNPMを入れます。 インストーラーのダウンロード こちらからpkgファイルをダウンロードします。Node.js 特にnode.jsでなんか作る予定はないので、最新のv5を使っていきます。 node.jsインストーラーの起動 …

Android:Fragmentの画面遷移時にアニメーション

Androidで、Fragmentの画面遷移の時にアニメーションを付けるやりかたを書きます。 FragmentTransaction.setCustomAnimationsを使いました。 FragmentTransaction | Android Developers 進む時のみにアニメーションを付ける場合 setCustomAnimations(int ent…

EclipseからAndroid Studioへ移行しました

先週末、あるAndroidのプロジェクトをEclipseベースから、Android Studioに移行しました。 新規のプロジェクトや、小さめのプロジェクトはAndroid Studio化は完了していたのですが、一番大きいプロジェクトは社外の開発者の方の慣れもあって、踏み切れていな…