ProductZine Day&オンラインセミナーは、プロダクト開発にフォーカスし、最新情報をお届けしているWebメディア「ProductZine(プロダクトジン)」が主催する読者向けイベントです。現場の最前線で活躍されているゲストの方をお招きし、日々のプロダクト開発のヒントとなるような内容を、講演とディスカッションを通してお伝えしていきます。
2000年にサービス提供を開始して以来、毎年成長を続けているYahoo!カレンダー。サービスや組織の成長に伴い、出てきた課題を解決するため、PHP製のサーバーサイドシステムを改修してきた。その結果、アプリケーションが細かく分割されすぎることで、修正コストが増加。サービス追加などへの対応も時間がかかるようになってしまった。そこでPHPからKotlinに技術移行を決断。Kotlinに移行したことで、品質や生産性も高まったという。この技術移行の概要についてヤフー IDサービス統括本部 PIM本部 サーバーサイドエンジニア(登壇当時)の岡田信夫氏が解説した。 講演資料:なぜYahoo!カレンダーはPHPからKotlinへ技術移行を進めるのか ヤフー株式会社 IDサービス統括本部 PIM本部 サーバーサイドエンジニア(登壇当時) 岡田信夫氏 「ユーザーのための時間」を増やすため技術移行を決意 Yah
2018年7月11日、楽天はアジア地域向けにAPIマーケットプレイス「Rakuten RapidAPI」の提供を開始した。登録されたAPIは8,000に上り世界最大級。開発者には開発生産性を高め、API提供者には便利な管理機能などが用意されている。Developer Summit 2018 Summerでは、楽天コミュニケーションズがこのAPIマーケットプレイスのデモを交えて紹介した。 API利用が普及した現在、API利用の課題が顕在化してきた システムはかつて巨大なモノリシックだったが、SOAやAPIによりマイクロサービス化が進んでいる。「APIエコノミー」という言葉は、登場したての頃には将来予測の段階に留まっていたが、今ではもう現実となり、日々拡大を続けている。現在では多くの企業が自社サービスをAPIとして提供し、こうしたAPIを組み合わせて多彩なサイトやアプリが生まれているのが実情だ
ソフトウェア開発の現場ではソースコードの大規模、複雑化の一途をたどっている。そのような開発現場ではチームで開発することが一般的だ。しかしチーム開発においてやっかいなのが、修正箇所がコンフリクトしたり不整合が起こったりすること。それを比較してマージする際に、手戻りが発生するなどして作業時間が大幅にかかってしまうといった経験をした方も多いのではないだろうか。そのようなチーム開発における非生産的な作業を効率化するのが、マージツール「Araxis Merge」だ。 ファイル比較・マージツール「Araxis Merge」 転職先でも使い続けたい声多数!「Araxis Merge」とは? 「Araxis Merge」は高度な2者間および3者間のファイル比較、マージ、およびフォルダ同期を行うツールだ。主な機能はファイルに含まれるテキストデータを比較して、差分の抽出と統合を実行すること。フォルダごと比較す
はじめに 写真やデータの保存場所としてのクラウドは一般の方にもかなり認知されたようですが、アプリケーション開発でクラウドのメリットを享受されている方はまだ少ないように感じます。MBaaS(Mobile Backend as a Service)はクラウド利用の具体的な答えの一つです。MBaaSを使えば、簡単にクラウドのメリットを活かしたスマホアプリを作成できます。 対象読者 MBaaSと連携するAndroidアプリを開発したい方。JavaとEclipseについては解説しませんので、JavaとEclipseの基本的な知識があると読みやすいでしょう。 必要な環境 JDK Eclipse Android SDK ニフティクラウド Mobile backend Basic(無料版) スマホ+MBaaSの時代へ スマートフォン(もしくはタブレット)+MBaaS(Mobile Backend as a
筆者は、このような画面を頻繁に目にします。なぜなら、デザインに疎い筆者自身がWebアプリを開発すると、このようなシンプルな画面がたくさん出来上がるからです。 そもそも業務アプリケーションでは、業務で取り扱う数多くの情報を、データベースや他システムなどから取得し、アプリケーション内でそれらの情報を、安全かつ正確に処理するためのコーディングを行う必要があります。開発規模が大きくなれば、再利用性の高い設計になるようさまざまな知恵を使う必要がありますし、取り扱う情報には機密性の高いものも含まれるため、セキュリティなどにも細心の注意を払う必要があります。そのため、どうしてもビジネスロジックの開発に注力しがちで、画面デザインやレイアウトなどのフロントエンド開発は、ついつい後回しになってしまいます。 しかしながら、Webアプリの操作性は、システムの顧客満足度を左右する重要なポイントになります。また、パソ
本連載では、Composerを使ったパッケージ管理を紹介します。PHPではデフォルトでインストールされているPEARがありますが、最近では、Composerというパッケージ管理ツールも使われつつあります。例えば、JavaなどではMavenのようなツールでパッケージ管理をしたり、Rubyではbundlerといったパッケージ管理が使われるなど、現在では多くの言語でパッケージ管理ツールが使われています。 パッケージ管理ツールを使うとプロジェクトで使われているライブラリの依存関係を管理しやすくなり、依存しているライブラリのインストールも簡単になります。CakePHPもComposerを使ってインストールができるようサポートしており、開発環境ではZend Studioなどでの標準サポートされているなど、PHPでの開発では必須知識といえるほどの広がりを見せています。 本連載では、Composerの導入
はじめに 本連載では、PHPでPDFを作成するエクステンションであるHaruについて紹介しています。今回は画像の表示方法、帳票出力時に設定が好ましいプロパティとセキュリティ設定の方法、そして前回紹介した方法も含めて、簡単な帳票出力を通してより実践的な使い方を紹介します。 対象読者 PHPの基本構文を理解している方で、帳票印刷やPDFファイルに興味がある方を対象としています。 必要な環境 この記事では、以下のライブラリを使用しています。 libharu 2.1 haru 1.0.4 また、PHP 5.4を使用し、Linuxで動作の確認を行っております。各項目のインストール方法は、前回を参照してください。 画像を表示する 画像を読み出すメソッドは、以下の3つのメソッドを使ってHaruImageオブジェクトを作成します。従って、それ以外のフォーマットの場合には、一度これらのフォーマットにGDライ
本連載では、このTech-Sketchから「コレは!」というテーマをピックアップし、加筆修正して皆様にお届けいたします。 リアルタイムWebとSocket.IO 栄えある連載第1回は、リアルタイムWebとSocket.IOについてお届けいたします。Tech-Sketchに掲載した元ネタはこちらです。 JavaScriptとDynamic HTMLによる「動的に表示内容が更新されるWebサイト」は、JavaScript内から非同期にサーバへ接続しデータを取得する技術、いわゆるAjaxが利用できるようになったことを皮切りに、爆発的に広がりました。Google Mapsなどがその代表例です。 このGoogle Mapsは、表示する場所や縮尺を変更するといった「利用者の操作」を契機として新しいデータをサーバへ取りに行く仕組みになっています。そのためサーバ側でデータが変更されたとしても、次にデータを
はじめに 第1回はSSOとOpenAMの概要について解説します。SSOが求められるようになった背景や、OpenAMを利用することでどのようなメリットが得られるのか、といったことについて簡単に説明します。 前半はSSOに関する基本的な内容なので、ご存知の方は適宜読み飛ばしてください。 対象読者 SSOについて理解したい方 SSO製品の導入を検討している方 OpenAMについて理解したい方 OpenAMを用いてSSO環境を構築したい方 シングルサインオン(SSO) SSO(Single Sign-On)とは、一度で複数のシステムが利用可能になるログイン(およびそのような方式)を意味します。例えば、グループウェアにログインした後に、CRMにアクセスすると、通常はログイン画面が表示されますが、SSOの場合はログイン画面を経由せずに、そのままシステムを利用することができます。 SSOが求められる背景
対象読者 スマートフォンWebサービス開発者 特に、フロントエンド周りの開発に従事する方 スマートフォン向けWebサイト高速化のテクニック スマートフォンはOS/デバイスの進化が激しく、要求される最適化の内容も半年で別物になることがあります。そのため最適化に際しては、案件ごとの状況や目的、デバイス/OSのシェアに応じて、まずターゲット端末を選定し、問題の検出を行います。 この記事では「iPhone 4+iOS 5」を想定して話を進めます。実際に「iPhone 4+iOS 5」はよく現場でも最も動作が重い組み合わせとしてターゲット端末に挙がります。これはiPhone 4がRetinaディスプレイを採用したことで960×460ピクセルの高解像度を備えながら、CPUなどのデバイス性能が潤沢とはいえず、ボトルネックが生まれやすいためです。iOS 4ではなくiOS 5をターゲット端末として扱うのは、
スマートフォン向けサービスを大幅に拡充しつつあるサイバーエージェント。その開発を集中的に行う場として今年4月に立ち上げたのが、大阪開発拠点だ。新規サービス開発チームを率いる川畑氏は、同拠点で行われているサイバーエージェントならではのサービス開発の仕組みについて説明。また、同社のビジネスとは別に、「関西のエンジニアをもっと盛り上げるために」スタートしたという新たな取り組みについて紹介した。 ネーミングも内容もユニークな独自の制度、 すべてはよりよいサービスを生み出すため サイバーエージェントといえば、インターネット広告分野における国内トップクラスの企業としてよく知られる。一方で、「アメーバブログ」「アメーバピグ」をはじめ、コンシューマ向けのメディアやコミュニティ、ソーシャルゲームなど、さまざまな自社サービスを企画・開発・運営する企業でもある。こうした中でも、現在特に同社が注力しているのが、ス
イベント駆動型のプログラムをきれいに作る JavaScriptのプログラムは、イベント駆動型で非同期な構造が基本となります。他のプログラミング言語で一般的な「同期型」の関数では、例えばネットワーク経由でデータを読み込む場合、データを読み込む関数を実行するとその読み込みが完了するまでプログラムの実行は止まったままになります。 それに対して、「非同期型」の関数を使うとデータの読み込みが完了するまで他の処理を実行でき、読み込みが完了した後で特定の関数を呼び出してもらうことができます。身近な例に例えると、メールを送信して相手からの返信が来るまで何もせずに待つのが同期型関数だとすれば、非同期型関数は返信を待つ間に他の仕事をこなすことができます。 Webアプリケーションはネットワーク通信部分に最も時間がかかる場合が多いため、その待ち時間に他の処理をこなせば、ただ待っているよりも遥かに効率よく多くの処理
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く