サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
yusuke.blog
SendGrid Advent Calendar 2016の12月22日分です。 メールを送る際、プロトコルとしてSMTPが使われていてメールサーバにはPostfixやGoogleのメールサーバなどを使えば簡単というのは割と有名です。 が、送るのは簡単だけど何かと問題が発生するものです。 私のこれまでの経験をちょっとメモしておこうと思います。 メール配信周りの運用経験1. 自宅サーバ運用の掲示板(James、2000年〜) 2000年くらいから自宅サーバで掲示板を運用していました。Tomcatで動くServlet + JSPのアプリケーションで、メールアドレスを登録しておくと新規書き込みがメールで通知されるというものです。 メールの配信にはPure JavaのメールサーバであるJamesを使っていました。 自宅サーバで運用してた(今も動いてるけど)のは勉強、練習みたいなもので特にサーバの運
機械校正ツールであるRedPen(ライブデモ)は、デフォルトで内蔵している沢山の校正ロジックに加え、ユーザーがカスタムロジックを実装することができます。 自分で実装するにはJavaでValidatorというクラスを拡張すれば良いのですが、間口を広げるためにJavaScriptでもロジックを実装できるようにしました。 RedPen自体はJavaで実装しており、JavaからV8などを呼び出すのは大変なのでJava8に内蔵されているJavaScriptエンジンであるNashornを使いました。 あちこちの情報をかき集めて工夫をしたので、ここにまとめておきます。 やりたいことと、実現するためのコードを逆引き的に並べています。実現方法は全部違うけれども、どのコードもHello Nashornと出力するだけです。 ・JavaScriptを呼び出す ・JavaScriptの関数をJavaから呼び出す ・
Twitter4Jを公開したのが2007年6月9日。 ・Twitter4J 1.0 リリース – #侍ズム 今年でなんと8周年を迎えました。自分が開発してきた中では一番手間暇、時間を掛けているコードになります。 レートリミット、画像アップロード、ハッシュタグ、リツイート、幻のアノテーション、リスト、ストリーミングAPI・・・・そしてAPI1.1。とてつもない速度のアップデートに逐一対応してきました。 最近は新機能の追加はTwitterと連携するアプリケーションを開発している開発者達によって行われています。自分がやっているのはpull requestのレビュー/マージやLambda対応、可変長引数の導入(最近まだJava1.4互換にしていた関係で使っていなかった)など。 「クローズドベータのAPIアクセス権も一部もらっているのでそこらへんの開発はやっていかないと!」と1年前にも書いているので
実は検索エンジンの会社で働いていたことがあります。 ぶっちゃけ検索エンジンのテクノロジーの奥深くについてドップリ詳しいわけではありませんが、昨今のシステム開発に置いて検索技術の重要性は重々承知していいます。 自分の会社では今はカッコイイことをしておらず、永続ストアはGoogle Docs、Excel(!!!)、H2データベースにあり検索エンジンは導入できていません。 日々あらゆるデータソースを探し回っている残念な状態です。 当然ながらこれから検索エンジンを導入するならばElasticsearchを使うのが自然な流れだよね、と思いつつ手を動かせていなかったので背水の陣でElasticsearch Advent Calendar 2014にエントリした次第です。 前置きが長くなりますがもう少し前置きがあります。今弊社には実はElasticsearchの社員がおり、毎日左隣でElasticsea
Javaの最強リファレンス、その名も「Java最強リファレンス」を頂きました。 これが最強のリファレンスだ! pic.twitter.com/lsNf0mRSh6 — 山本://裕介 (@yusuke) 2014, 11月 7 サイボウズ株式会社にてkintoneなどを開発されているエンジニア田中 裕一(@yuichielectric)さんの著書。 Java8対応をうたう本はそれなりに出始めていますが、「とりあえずJava8に追加されたAPIにいくつか触れている」「Lambda記法をちょっと解説している」だけの本も相応にあります。またLambdaに触れる章を追加しただけで、他のコードは古めかしい残念な書き方をしている残念な本があるので注意が必要です。 そしてこのリファレンス、Java5〜Java8までとかなり広範囲をカバーしています。バランスを取るのは非常に難しいはず! 章立ては以下の通り
Herokuはお手軽にWebアプリケーションを公開できるサービスですが、でも「このgithubに上がっているコードをちょっと動かして試してみたい」という場合はcloneして、heroku initして、pushして、と一手間二手間かかります。 ところがより手軽にHerokuにアプリケーションをデプロイする方法があります。 以下のページにアクセスしてみてください。 https://github.com/recruit-tech/redpen Deploy to Herokuというボタンがあると思います。 このボタンを押すといきなりHerokuにアプリをデプロイする画面に遷移します。(もちろん要Herokuアカウント/ログイン) 裏の仕組みはともかく、Herokuボタンを設置するのは非常に簡単。アプリケーション名などを記述したapp.jsonをというファイルをリポジトリのルートに配置し、rea
簡単にWebアプリケーションをデプロイできるHerokuですが、IntelliJ IDEAから直接デプロイすることもできます。 デフォルトで対応しているのでプラグインは不要で、手順は以下の通り。 1. Tools→Edit Configurationsより実行設定のダイアログを開く 2. 設定ボタン(スパナのアイコン)を押し、Heroku Deploymentを選択 3. Server…をクリックし、ユーザー名/パスワードを入力 4. 設定ダイアログの+ボタンを押し、Heroku Deploymentを選択 5. 先に設定したサーバ設定を選択し、必要に応じてアプリケーション名(herokuapp.comのサブドメイン)を指定 6. 実行設定の実行ボタン(緑の再生ボタンみたいなの)を押してデプロイ 7. ブラウザよりアプリケーションにアクセス 実際に設定→デプロイしている様子はこちら↓ (時
Herokuは言わずと知れたPaaS。Ruby界隈では有名だけどJava屋さんにはもしかすると馴染みが無いかもしれません。 つまり無料から始められるお手軽に使えるサーバプラットフォームで、難しい知識無しに手元のWebアプリケーションをそのままデプロイできます。 無料で使えるからにはもちろん制約があって、無料のままではパフォーマンススロットリング機構が働いて一定の負荷までしかリクエストを捌けません。dynoと呼ばれる単位を購入することでスケールさせることができます。 でもJavaは元々パフォーマンスが高いので無料枠でもそこそこのリクエストを捌けてしまいます。 MavenベースのWebアプリケーションをHerokuにデプロイするざっくりとした手順は以下の通り。 1. Herokuのアカウント作成 https://id.heroku.com/signupよりHerokuのアカウントを作成。クレジ
Javaエンジニア山本裕介のブログです。映画、アーチェリー、Java 好き 株式会社サムライズムという会社で海外の開発者向けソフトウェア製品を日本に展開する仕事をしています。 このブログでは日々の出来事、IT関連のニュース、映画の感想など種々雑多なエントリを書き連ねています Twitter でフォローツイートカテゴリーDropbox (1)Fitness (20)GPS (7)Groovy (2)IDE (1)Java (408)JavaEE (5)JVM (8)Mac (118)Python (6)Scala (5)Twitter (17)Uncategorized (3)Web (10)アーチェリー (60)イベント (30)ガジェット (1)ゲーム (19)サーバ (97)フレームワーク (2)ライブラリ (4)写真 (45)旅行・散歩 (75)映画 (116)未分類 (356)車
コツなんて必要ありません。普通にIntelliJ IDEAを初めとするJetBrains IDEでコードを書いていれば綺麗になります。 1. コードフォーマット 特にプラグインとか入れる必要はない。最初からScala、Java、ActionScript、CFML、CoffeeScript、CSS、Groovy、HAML、HTML、JavaScript、JSP、LESS、SCSS、SQL、TypeScript、XML、Yamlなどのコードフォーマッタが入ってる。 ショートカットはOpt+Cmd+L(設定によっては違う)。しかるべきところでの改行と、インデントをまとめてしてくれるのでたすかります。 べつにショートカットを押さなくてもコミット時にフォーマットをかけさせられるのでコーディング時は意識しなくていい。 コミットダイアログ(Cmd + K)ではReformat code、Rearrang
なぜ、IDEじゃなくてVimを使うか。 – Qiitaのパロディです。 ここに書かれていることは私の「なぜ、テキストエディタじゃなくてIntelliJ IDEAを使うか。」の理由なので、IntelliJ IDEAユーザー全員同じ理由とは限らないのでご注意を…。 また、だいぶ省略しているので、IntelliJ IDEAを全くしらないひとには分からないところも多々あるかもしれません、ご了承を…。 IntelliJ IDEA以外のIDE(NetBeans、Visual Studio、Eclipseなど)では同じようなことが実現できるかもしれないので、必ずしもここであげたことが正しいわけではないですのでご勘弁を…。 1. Mac、Linux、Windowsのどれでも使える。 MacやLinuxやWindowsユーザーは新しいマシンを手に入れたら真っ先にIntelliJ IDEAをインストールします
Twitter4Jを公開したのが2007年6月9日。 ・Twitter4J 1.0 リリース – #侍ズム 気がつけば執念の7周年を迎えていました。 レートリミット、画像アップロード、ハッシュタグ、リツイート、幻のアノテーション、リスト、ストリーミングAPI・・・・そしてAPI1.1。とてつもない速度のアップデートに逐一対応してきました。 しばらくAPIのアップデートはなくもう安定メンテナンス期に入ったかと思えばここ最近ツイートに複数の画像を添付できたり、DMに画像を添付できたりといった新機能の追加が立て続けに行われています。 その熱意はどこから出てくるんだと自分でも疑問なくらいものすごい時間をTwitter4Jに費やしてきました。もちろんたくさんのアプリケーション、サービスを支えているという喜びと、「助かっています!」という声に支えられて来たからです。いまやMasterCard、Ever
Java界、PHP界で名を馳せた山城さんが亡くなりました。 java-jaというやんちゃなコミュニティの宴会部長。訃報を聞いた瞬間は「おいおい冗談にもほどが・・」と一瞬思ってしまったくらい。 もちろん死をネタにするなんてことはさすがにないだろうと次の瞬間には本当なんだろうと受け止めたけど、なんともやるせない。 たくさん勉強会で一緒したり、懇親会で飲んだり、お互い欲しい物リストにあるものを送りつけ合ったりした中でした。つい最近はFacebookやLINEで仕事の話もしていたところで、これから一層活躍するはずだった矢先。残念至極。 氏の人徳もあってたくさんの人があつまって送別会をしました。「告別式」みたいなしんみりしたものではなく、みんなでワイワイガヤガヤ楽しんで本当に素敵なお別れ会でした。 写真をパシャパシャ撮っていたけれども笑顔が沢山!整理できていないけれどもひとまずヨシオリさんの笑顔を1
デベロッパーサミットの1セッション、「OSSコミッタ大集合」に出させて頂きました。 RubyコミッタでありHerokuの人でもある相澤さん(@ayumin)とクラウドワークスのCTOである大場さん(@koichiroo)がリードする、「日本にもたくさんOSSコミッタいるよ!みんなやろうよ!」というセッション。 ・Developers Summit 2014:【13-E-1】OSSコミッタ大集合 たくさんプルリクエストを送ったらコミッタにしてもらえた、スキルが認められてそれほど貢献してないけどいきなりコミッタにしてもらえた!というウィザードがたくさんの豪華セッションでした。 自分は特定の製品にがっつりコントリビュートしたことはなく、ざっとコントリビュートした覚えがあるのはJetty、Pure JavaブログソフトのPebble、MySQLのJDBCドライバ(痕跡が見当たらないので勘違いかも?
IDEA Advent Calendar 2013の22日目です。 IntelliJ IDEAを使っていて「やっぱ便利!」と最近実感している小粒な機能を淡々と10件あげます。 1. 構造選択(⌘ + w) Structural selectionと呼ばれるもので文法上の構造の単位で選択範囲を広げていってくれます。単語→リテラル内(ダブルクォート内)→リテラル(ダブルクォート込)といった感じ。 言葉だとわかりにくいけど実際の動きを見てもらえれば分かるはず。Shiftを押しながらだと選択範囲を狭めていける。 慣れるとIDEA以外でテキストを編集しているときにも⌘ + wを押してしまい「あわわ」ってなる。 2. どこでも検索(Shift2回) とにかくShiftを2回押してからクラス名やファイル名、メソッド名などの断片をタイプするとインクリメンタルに絞り込んで好きなところにジャンプ出来ます。これ
スタバでドヤってるんじゃねーもうノマドノマドとか流行らないんだよ、という内容を期待していた人はごめんなさい。そういう話ではなく、全くもって自分固有の理由です。IT界隈のフリーランスはやっぱ普通はノマドとかコワーキングスペースとか家で仕事とかがいいと思う。 ↓↓↓以下本文↓↓↓ 会社を作ってから8ヶ月ちょっとになります。 ・山本、会社作ったってよ #株式会社サムライズム – #侍ズム 会社を作る前、昨年9月にTwitterをやめてからしばらく、六本木ヒルズにあるアカデミーヒルズを主に拠点に仕事をしていました。 アカデミーヒルズは月額1万円で使い放題の会員制ライブラリーです。 http://www.academyhills.com/library より ライブラリと言うからにはもちろん本が充実していて、クリエイティブ系の本から政治経済関連、はてはもしドラまでと幅広く置いています。 会員はカフェ
先に紹介したセミナーにて講演してきました。 昨日も言いましたが、良ければ感想を #oujava というハッシュタグをつけてブログに書いて頂けるとうれしいです! 初心者、学生、Java入門者向けと対象が広いので参加者がどういう期待をもっているのか予測が難しかったです。後半の私のパートが目当てだとすれば ・Javaで仕事をするのは今後どうなんだろうか ・何がきっかけで(コロコロ)転職しているのか ・社長ってどうなの? といったところに興味があるのかなーと想定して今どんなことをやっているのか、どんなことをやってきたのか、キャリアビジョンなどにもちろんJavaを交えてお話をしました。 一方的に話をするだけでなく質問をしてもらうことにし、また手をあげて質問するのはおっくうだろうからと全員に紙に質問をかいてもらうという方式をとりました。 その場で全部に答えるのは無理なので一部だけピックアップしましたが
超高速開発コミュニティというのが出来たらしいということを先日ブログの話題にあげました。 ・#超高速開発 コミュニティの参加を検討してみた – その1- 事務局へ問い合わせ – #侍ズム ・#超高速開発 コミュニティの参加を検討してみた – その2 – 超高速開発コミュニティ=ICT経営パートナーズ ≒ ITコーディネータ協会? – #侍ズム まとめると、プロプライエタリのソリューションでも適材適所で使ってシステム開発を効率的なものにするのは大事だと思っているけど「コミュニティ」の形成や仕組みに何かと違和感を感じる、といったところです。 今日超高速開発ソリューションフォーラム2013というセミナーが開催されて、400名の会場が満席とのことです。 このエントリを書いている時点で会員はユーザー企業が株式会社ワークスアプリケーションズ、株式会社横河ブリッジ、オルガノアクティ株式会社の3社、ベンダ企
ElasticsearchはPure Javaの検索エンジン。 実は検索エンジンのベンダでテクニカルサポートをやっていたこともあり、検索エンジンの重要性は常日頃ひしひしと感じています。 恥ずかしながら勉強会に参加する当日までLuceneベースだと知らず。 Luceneベースの検索エンジン、Solrがあるにも関わらず後発で作っただけあって運用管理が楽そう。バイナリをダウンロードしてさくっと動いてしまいました。 話を聞きながらTwitter APIのsampleストリームをインデックスし続けるコードを書いてみました。 インデックスするだけで検索するコードは書けてない。スキーマ定義せずにサクサクっとインデックスできちゃうのはいいけどAPIはREST APIもJava APIもあんまり直感的ではなく(個人の感想です)、初期の学習コストはちょっとだけ高い感じ。ドキュメントが歯抜けというか、どこから読
超開発コミュニティに問い合わせをしたら事務局の大島さんという方よりご返答を頂きました。そしてその署名欄に「ICT経営パートナーズ協会 会員」とありました。ICT経営パートナーズ協会って何だろう? ・ICT経営パートナーズ協会 結構昔からある由緒正しきWebサイト・・・に見えるけど2011年設立みたい。 ICT経営パートナーズ協会の会長、関隆明さんは超高速開発コミュニティの会長でもいらっしゃいますので兼任ということになるみたい。 ICT経営パートナーズの役割は以下の通りだそうです。 ・従来のIT化の問題点を改め、常に顧客視点に立ち、真に顧客の企業力強化に直結するICT経営を実現します。 ・ICT経営実現に役立つあらゆる種類の人材を集め、多様化するICT利活用への対応力を備えた集団を形成し、互いに連携して効率的支援を実施し、自らのビジネス・チャンスも拡大します。 ・支援を受ける側と提供する側と
超高速開発、という言葉が一部で話題になっています。 効率的なツール、手法をもっと広めようといった趣旨のようです。 ・プロフェッショナルたちの熱い想い:「超高速開発コミュニティ」を設立――日本が19位で黙っているわけにはいかない – @IT サイトはこちら。 ・超高速開発コミュニティ オープンソースのツール、ミドルウェアを組み合わせれば製品の調達費用はほぼゼロになるけれども、それを組み合わせたり、何かと調べたりトラブルシュートすることでとても費用がかかるこということは良くあります。 ピッタリ来る既存ツール、パッケージを使った方がよっぽど安く、早くあがる場面は良くあります。 今自分の会社では生産性の高いツールを取り扱っているわけですが「創設企業のメンバー」の写真を見るとIT業界に長年携わってきたであろう方々が多くいらっしゃいそうです。うまいことこのコミュニティを活用すればTwitterやFac
Twitter4Jを公開したのが2007年6月7日。 ・Twitter4J 1.0 リリース – #侍ズム 気がつけば執念の6周年を迎えていました。 レートリミット、画像アップロード、ハッシュタグ、リツイート、幻のアノテーション、リスト、ストリーミングAPI・・・・そしてAPI1.1。とてつもない速度のアップデートに逐一対応してきました。 その熱意はどこから出てくるんだと自分でも疑問なくらいものすごい時間をTwitter4Jに費やしています。 もちろんたくさんのアプリケーション、サービスを支えているという喜びと、「助かっています!」という声に支えられて来たからです。 いまやMasterCard、Evernote、LinkedIn、Twitterを初めとする大企業から個人のアプリケーション、プログラミングの練習まで幅広く使って頂いています。 まだまだかゆいところがあり、レビューしきれていない
Twitter APIについて2年間、計8回勉強会をやりました。 今回からはTwitter API縛りはなくし、API全般についてという主旨で開催。 Twitter APIにとどまらず自前APIを持つサービスや、Fitbit APIに始まり幅広い話が聞けて有意義でした。 開場をご提供くださいましたEngine Yard様/@engineyard_jp/@yando、ありがとうございました! 以下、スライドと動画。 UST職人として大変自己満足できるクオリティ! ・Twitter API1.1、Display Requirements、Twitter Cardについて #apihack @yusuke ・家族フォトについて @setomits #apihack ・何となくわかってきた Twitter API と正しく付き合う方法 @komiya_atsushi #apihack ・Activ
「ゆとり社員に度肝を抜かれた瞬間」という記事がちょっと話題。 ・ゆとり社員に度肝を抜かれた瞬間 | キャリア | マイナビニュース 以下団塊ジュニア/就職氷河期世代35歳男性の所感。 ・「会社のお酒の席で『自分の知り合いも呼びたい』と言い出した。もちろん会社とは無関係の、プライベートの友だち。びっくりしました」(23歳/女性) 会社の酒の席に友達を呼んで何が楽しいのかわかんないけどそういう空気じゃないなら指導してあげれば? ・「新入社員の同期の誰かが誕生日だったようで、社員が使用している食堂で大きな声で誕生日会をしていたこと。浅はかだなと思い、スルーした」(29歳/女性) 同上。おかしいと思う/社風に合わないなら指摘してあげれば? ・「会社の飲み会を『用事がある』と断った新入社員。帰りに、ふとコンビニに立ち寄ると、その社員がジャンプを立ち読みしていた」(38歳/男性) 会社に人生を捧げる時
開発をより楽に、楽しいものにしてくれているIntelliJ IDEAを始めとするJetBrainsの製品が日本でも普及すれば良いのに、と思いJetBrainsのお手伝いをしています。 ユーザーグループを開いたりデベロッパーサミットに共同で出展したり。 そして先日のエントリでもちょっと触れましたが代理店契約を締結するに至りました。 サイトのロゴはちゃんとデザイナーにお願いして制作していただき、付け焼き刃でWordPressをインストールしてサイトをこしらえ、ニュースリリースとして自分のサイトに掲載しています。 ・JetBrains社との代理店契約締結のお知らせ #jb_samuraism | サムライズム #Samuraism さらに代理店契約についてプレスリリースを配信して周知を図りました。 プレスリリースを配信したのは以下のIT系のWebサイト。 ・gihyo.jp ・CodeZine
Webのフォームで非常に多くの選択肢があるプルダウンリスト、またはリストボックスから目的のアイテムを選択するのは非常に面倒です。 残念ながら私の会社のとある社内システムでoption数が800を超えるリストから選択しなければいけない部分があり、非常に苦痛です。 エクスプローラ や Finder のファイルを選択するのと同じく、表示されているテキストの先頭数文字を入力することでその文字列から始まるリストにジャンプしてくれるブラウザもあります。 しかし、 ・テキストの途中の文字列で絞り込めない ・リストが辞書順に並んでいないと似ているアイテムを選択するのが難しい ・タイプが遅いとうまく絞り込めない ・Safari にはそもそもそんな機能がない ・日本語表示のアイテムにはジャンプできない という問題があります。 そこでリストをインクリメンタルサーチできるテキストボックスをダイナミックに追加してく
次のページ
このページを最初にブックマークしてみませんか?
『samuraism.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く