山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

ブログ

AspectJの使い方

Aspectなんて知らない人、多いですよね。一時AOPと言われ注目されたJavaの技術です。今ではAOPのまま利用することはほとんどないと思います。しかしアノテーションでいろんな処理を追加するところのベースはAOPになっていることが多いと思われます。アノテー…

Kotlin

Androidでいろいろ見ているとKotlinというものをちらほら目にします。比較的新しいJVM言語のようです。いろんなものが簡潔に柔軟に書けるということでGroovyと何が違うのだろうと思います。でもじわじわ人気上がっているようなので脱Java候補の一つとしてよ…

Jetty8でatomikos設定

なんか手こずってしまいましたがなんとかうまくできました。できてみれば実に簡単でした。Jetty8JavaSE6atomikos3.9.3いろいろ他にも違う設定ができそうですが一設定例として。必要なjarをjettyのホームディレクトリ下のlib/extに配置transactions-3.9.3.jar…

FreePBX Hosting

固定電話撲滅プロジェクトを粛々と進めています。社内の内線はgoogle hangoutを使うとしても社外とのやりとりは電話を残さざるを得ません。とはいえ内勤の人が大半なので電話をよく使うのは一部の人です。そして一部の営業やバイヤーは外出も多いのでだいた…

Swift2

Swift2が発表されました。Javaのtry-catchに相当するdoが追加されました。そういえばSwiftにはtry-catchみたいなのがなく、なんでないんだろうなあと思っていました。これでアプリのクラッシュをより防止できそうです。

Atomikos

JavaEEコンテナじゃないところでUserTransaction(JTA)を使えるようにするものがありました。Atomikosというオープンソースです。相当ニッチです(笑)JBossからJettyへの移行はECサイトでは全部移行しましたがまだ社内システムで残っていてそれをなんとか移行…

有料→無料→有料

コンテンツの話です。ソフトウェアにも同じようなことが言えるかもしれません。インターネット以前はコンテンツはコストをかけて作られていました。紙媒体の雑誌、新聞など。インターネットができて一時はCGMなどと言われ無償で作られたコンテンツが現れまし…

webにデザインをはめ込む

オイシックスはデザイナーがJSPを書いて新しいページを作ります。素のHTMLと同じような感覚でやっています。私たちにとっては当たり前ですが実は特殊ケースなのではないかと思います。他の会社だと普通はデザイナーはJSPを触れなくてHTMLでページを作ってエ…

ベトナムの街

今日はベトナムからマネージャーの人が来ました。今オフショアを委託しているチームがハノイからダナンに移動するそうです。私はベトナムはハノイとホーチミンとダナンに行ったことがあります。それぞれ同じベトナムでも結構違います。ハノイは北にある首都…

ビジネスチャンス

前にも書きましたが世の中全体的にエンジニア不足です。その中で自社が必要なエンジニアを確保するのが大事な一方、エンジニアを増やせればビジネスチャンスでもあります。ではエンジニアを増やすにはどうしたらいいか。エンジニアでない人を育成できればよ…

アイデアを考えるとき

売上を上げるためとかコンバージョンを上げるためにいろいろなアイデア出しをすることがあります。マーケティングの人はプロモーションの案を出しますし、デザイナーはウェブを変える案を出しますし、エンジニアはシステム開発で解決する案を出します。こう…

世の中の逆に行きたい

先日中期経営計画を考えるミーティングをしていたときのことです。注文からお届けまでのリードタイムは長年の課題でたびたびどうするか議論しており、また議論になりました。オイシックスは最短で3日、注文の曜日によっては1週間かかります。なぜそうなって…

今日の技術的なラーニング

finalのクラスはmockitoでmockにできない。実行時にエラーになる。Realmを使うとRobolectricでテストできない。エラーになる。finalのクラスなのでmockにもできない。Realmのサイトにも明記されていて、Robolectricへの対応リクエストを促すようなリンクが貼…

単体テストはDIよりモックがいい

単体テストをするためにDIを使うのはどうも昔から抵抗があります。そういう記事を昔書いた気もする。改めて説明すると、プログラムがいびつになります。また余分なコードが多くなります。よくあるパターンは、ロジックはServiceのようなクラスを作りデータア…

Robolectric

Robolectricを使ってみました。Robolectric自体はいいです。わかりやすく簡単に使えます。RxAndroidと組み合わせるのが結構難しいです。RxAndroid自体ドキュメントがあまりなく謎が多いです。しかし結果的には動かすことができました。Realmを使いたいのです…

Robolectric

AndroidのActivityのテストをうまいことやりたいと思って探したらいいのがありました。Robolectric名前は聞いていたのでメジャーなものだと思います。iPhoneアプリのときも単体テストのやり方を検討したのですがXCTestだとUIViewControllerのテストがうまく…

サラダレシピ企画当選発表

先日ご紹介したGitHubサラダレシピ企画の当選発表をしました。サラダレシピ企画GitHubレシピ当選発表(FBページ)予想以上に好評で選ぶのがとても大変でした。当選されたnegimic様、おめでとうございます。糖質を全部調べてくれたりなどかなり凝ったレシピをい…

UIを改良したのに使いにくくなったと言われる

Zaimさんの記事以前にもここに書いたように思いますがUIを改良したのに使いにくくなったと言われることがよくあります。Zaimさんの記事でも同じことが書かれていてやっぱりみんなそうなのだなと思いました。具体例が挙げられていてとてもわかりやすいです。…

Activityの単体テスト

Androidでmockitoを使ってActivityをテストするこれを見たところではAndroidの場合テストしやすい仕組みが整っているようです。iosのViewControllerの場合とだいぶ違いますね。これだけテストできればActivityとロジックを無理やり分けて値の詰め替えだらけ…

大阪都構想投票は引き分けでいいのでは

得票数がほぼ同じなのでもはや勝ち負けを決める意味がないのではないかと思いました。誤差みたいなものですので。私は大阪都構想を擁護しているわけではありません。逆に僅差で勝ったとします。ではそれで大阪市を廃止して大阪都に変えていいかというと、ほ…

大変なことはいいことだ

IT・ゲーム業界の管理職が「年収半減」の理由 - 金持ちvsビンボーの分かれ目【1】30代オイシックスは本当に今までずっと努力して努力して業績を上げてきた感じがあります。世の中追い風が吹いてくれて乗っかっているだけで伸びてくれればいいのにとなんども…

Androidで使うライブラリ

Android開発で使うライブラリはだいぶいろいろなものがあるようです。さわりだけまとめます。・ORMActiveAndroid、greenDAOなどがメジャー。たくさんあってこれで決まりというメジャーなものはあまりなさそうです。・非同期処理RxAndroidなど。HTTP通信、DB…

ActionBarが出ない場合

小ハマりしたのでメモ。バージョン:Android Studio 1.2minSdkVersion 15 (Android4.0.3)targetSdkVersion 22compileSdkVersion 22事象:ActionBarが出ない。テーマを変えても出ない。ググった情報だとAndroid4ではデフォルトでActionBarが出るはずで消す時…

複雑なサービスに対する考察

世の中いろいろ複雑なサービスがあります。オイシックスの仕組みも結構複雑なものがあったりします。まず「定期ボックス」という仕組みが特殊です。その定期ボックスに毎回入れたいものを登録できる「Myセット」という仕組みがあります。さらにそのMyセット…

企業の売上規模

世の中には大きな会社から小さな会社までいろいろあります。オイシックスはまだまだ小さい会社ですが大きな会社を目指しています。会社の価値は売上が全てではありません。しかし売上=供給=それだけの需要があるということで、売上が大きければ大きいほど…

Javaから他の言語に移行する

昨日のScalaの記事に旧システムから新システムへの移行の話がありました。間に腐敗防止層というものを置いているそうです。新機能をどんどん作っていくとだんだん新システムになっていくというやり方のようです。実はオイシックスもだいぶ昔から近いことをや…

Scalaの記事

Scala採用を決めて一年たった、CTOの雑感Scalaはなかなか普及しませんが常にどこかで耳にしますね。消えていくというよりむしろじわじわ支持を増やしている感じでしょうか。難しそうだし、記事にもやっぱり難しいと書いてあるのでなかなかメリットあるかちょ…

逆算目標は本当に有効か

ビジネスの世界では目標と時期を決めて逆算でスケジュールを考えて実行する、というのがセオリーになっていると思います。でも最近それが本当にいいやり方なのか疑問を感じてきました。確かにこのやり方は目標もなしに行き当たりばったりやるよりリミットが…

エンジニアの人手不足が深刻

昔は、リーマンショック後くらいまでの時期はお金がなくてエンジニアが増やせませんでした。今はお金はそこそこあり、外注でエンジニアを増やしてきました。しかしそれも難しくなってきました。外注先も人がいません。外注先のパートナーにも当たってもらっ…

わかりやすそうに見せかけてわかりにくいスライド

モダンWebシステム開発絵が一見わかりやすそうな印象を与えます。自分の理解力が足りないのかと思いましたが、やっぱりわかりにくいと思います。別に無理に状態管理の話に結びつけなくてもいいような。具体的なメリットが、「状態管理から解放」というふうに…