画像

学習アプリケーションについて

kiryu2プレミアムビールはヱビスよりモルツ派の方々、こんにちは。桐生です。本日は、学習アプリケーションについて書きたいと思います。現在、業務でハイブリットアプリケーションを開発していますが、開発の参考及び自己啓発の一環として、スマートフォンの学習アプリケーションを利用して英語の学習を行っています。クオリティを考慮して有償のものを利用しているのですが、無償のものと比較してクオリティの高さに感動しました。具体的に素晴らしい点を挙げると、問題文を作成する際の英単語及び選択肢を抽出するアルゴリズムです。学習履歴を参照し、ユーザーのレベルに応じた英単語を抽出。また、正解不正解に応じて同様の問題を出題する感覚を調整。と、割とあたりまえに備わっている機能に感じるかと思いますが、その精度の高さに驚きました。漠然と続けていくだけで、苦手な英単語を克服できるように作ってあるわけですね。学習者の目的と視点に合わせたひとつひとつの機能の質の高さに、開発者の技術力を感じました。ついつい仕様を開発者の都合にあわせてしまいがちなことがあるかと思いますが、システムが利用者ありきであることを改めて実感しました。今後開発を行っていく際に、利用者の視点から開発ができるよう取り組んでいきたいと考えています。

画像

思い切って捨てる

kiryu金田一少年より名探偵コナン派の方々、いかがお過ごしでしょうか、桐生です。日ごとに気温も高くなり、夏の到来を実感しますね。本日の日記は、日頃私が意識して心がけている「思い切って捨てる」ということについて書きたいと思います。現在、業務上での私の役割はアプリケーションの製造担当、プログラマーです。業務を行っていく過程の中で日々ぶつかる障壁は多々ありますが、最も困ることは予定通りに開発スケジュールを消化できないことです。狙い通りに処理が働かなかったり、技術に関する知識や経験不足等により遅れが発生してしまいそうになったりすることがあります。そういった際に工夫していることが、思い切って捨てることです。4時間かけて作成した関数があったとして、期待する振る舞いがどうしても得られないといった際には思い切って捨て、そもそも手法が適切であったのかどうかを検証する作業に戻ることにしています。多くの場合において、より簡潔かつ適切な手段が思い浮かぶことが多いので、このやり方は重宝しています。アルゴリズム系のロジックを構築する処理等は、疲れている時に行うと手癖で実装してしまうことも多いので、案外初めから構築しなおしたほうが早かったりします。柔軟な思考が大切だと日々実感しています。

画像

アプリケーション画像素材収集

kiryu2資源ごみを出し忘れてついつい溜まっていってしまう方々、桐生です。先日の休み、開発中のアプリケーションで利用する花の写真をゆり園にて撮影してきました。見ごろは先々週あたりがピークだったようですが、大変綺麗に咲き乱れていました。私は花に関しては、ほとんど無知ですが、ゆり一つでも多くの種類があることが勉強になりました。現実にリリースされているアプリケーションにおいて、画像や動画などの素材を確保する作業は手間がかかるかと思います。近頃では、無料で画像などの素材を提供しているサービスも少なくないので、エンジニアの端くれとしては、プログラミング技術を駆使してそのような素材を取得、利用し、生産量を向上させたいところです。が、たまにはそんなことも忘れて実際に写真を撮りに行くのもいいものですね。今度はバラ園にでも行こうかと考えています 笑。

IMG_1323

画像

一日の業務の流れ

kiryu27時間以上寝ないと熟睡した気になれない方々、いかがお過ごしでしょうか。桐生です。本日の日記は、私の一日の業務の流れをお話ししたいと思います。大きく分けて次のような流れです。①朝ミーティング->②午前の開発業務(その他雑務)->③お昼休み->④午後の開発業務。⑤日報の作成、といった流れです。(この他にも、部署別週次ミーティングの準備、月初勉強会の準備、電話応対等の仕事もあります。)①朝ミーティングでは、先日に行った業務の内容をプロジェクトチーム内で共有、確認し、現在の進歩状況をチーム内で把握しています。また、現在抱えている問題点や質問事項等を上司に報告し、判断を仰ぎます。②午前の開発業務では、主に前日に完了しなかった点や、ミーティング時に新たに発覚した問題点の解決を行うことが多いです。また、プロジェクトで使用する備品の注文や、経費の申請等もこの時間に行うことが大半です。③お昼休みでは、業務を忘れ、のんびりとネットサーフィンをしたり、同期とプライベートな会話を楽しんでいます。アイスクリーム好きな同期のI君は、お昼休みの鐘が鳴るとともに、ジャイアントコーンを美味しそうに頬張り幸せそうです。④午後の開発業務では、未着手、未実装の機能を開発します。この際に、把握していない技術や想定外のエラーが起こることもめずらしくないので、原因を詳細に分析及び理解し、後に手戻りの起こらないように開発を進めていくことが大切です。⑤日報の作成は義務付けられている訳ではありませんが、その日に行った内容、現在抱えている問題点を洗い出し、後日やるべき内容を詳細に把握するために、個人的に書いているものです。作成するメリットは、行うべき業務の作業内容を明確にし、手順を組み立てることで、業務の効率化を図っている点です。以上が主な一日の流れです。まだまだ学ぶべきことは山積みですが、一つ一つ丁寧にこなしていきたいと考えています。

画像

Apache Cordova(PhoneGap)       &  これまでの総括

kiryu電車に傘をついつい忘れてきてしまう方、桐生です。本日は、先週予告していたApache Cordova及びこれまでの総括についてお話ししたいと思います。Apache Cordovaとは、Adobeが開発、公開しているクロスプラットフォーム・モバイルアプリケーションの開発フレームワークです。普及しているモバイル開発のフレームワークにPhoneGapがありますが、現在ではApache Cordovaのディストリビューションの一つとなっています。Cordova = PhoneGapとして語られるWeb上の記事も多いようです。PhoneGap(Apache Cordova)に関してざっくりと説明してしまうと、OS毎の開発言語に依存せず、HTML + CSS + JavaScriptのみで、さまざまなプラットフォーム対応するネイティブアプリケーションの実装を行うことを目的としたものです。PhoneGapライブラリを使って開発をおこなうことで,各デバイスのカメラやGPS、電話帳といったデータを操作することもできます。つまり、Webアプリ開発のノウハウをネイティブアプリの開発にそのまま利用でき、開発手法を一元化することで、OS環境ごとの開発、調達コストを大幅に削減するメリットが得られるわけですね。総括としてこれまでの話をまとめますと、①「AngularJS」 – 実装上の生産性及び保守性の向上を実現②「ionic」 – モバイル向けUIの実装及びアニメーション等レイアウト、デザインの向上を実現③「PhoneGap(Apache Cordova)」 – OSに依存せず、開発手法の共通化による開発コストの削減を実現。と、それぞれの特徴が挙げられます。現在は、これら三点の技術を主軸とした、ハイブリットアプリケーションを業務で開発しています。企画段階において、上記の技術の導入を提案したところ、まだ駆け出しの新人の意見であるにも関わらず、社長及びプロジェクトリーダーの先輩共に快く承諾していただき、新しい技術に触れる機会を与えていただきました。社風として、実力主義であること、積極的な主体性を好むといったことは入社前から当社の特色として把握していましたが、実際に体験することで、より当社の魅力を感じ取ることができました。今後も、積極的にアイデアを提案し、事業の基幹を担える人材となれるよう励んでいきたいと感じています。

画像

ionic

kiryu2起床から玄関を出るまで30分以内で済んでしまう方、桐生です。本日は先週予告した、UIフレームワークionicについて紹介します。ionicとは、HTML5で制作するモバイルアプリケーション開発において話題のフレームワークで、先週紹介させていただいたAngularJSを利用及び拡張していることやSassと呼ばれるCSS拡張の技術を利用していることが特徴です。また、非常に洗練されたモバイルUIが特徴的で、お洒落なモバイルデザインをいとも簡単に実装することができます。しかし、難点は、日本語の記事が極めて少ない事です。新しい技術に関する情報は、日本語に訳された情報が少ないので、つくづく英語の勉強が必要であることを感じさせられます。このフレームワークを利用して作られたアプリケーションが、サイト上で公開されているので、興味のある方はこちらを是非ご覧になってみてください。次回は、Apache Cordovaについて紹介します。

画像

AngularJSフレームワーク

kiryu2朝ごはんをランチパックで済ませちゃう方、桐生です。今回は現在行っている業務のアプリケーションに導入したAngularJSフレームワークについて紹介しようと思います。AngularJSフレームワークとは、動的WebアプリケーションのためのJavaScriptフレームワークで、アプリケーションのコンポーネントを分かりやすく簡潔にするためにHTML文法を拡張する目的で利用されます。上記を実現するための大きな特徴として、①データバインディングと依存性注入が可能②MVW(MVC)パターンが適用されている、等が挙げられ、学生時代からオブジェクト指向を学習してきた身として、是が非でも習得しておきたい技術であります。しかし、正しく利用するには、オブジェクト指向プログラミングに関する深い技術や知識が求められることや、システムによっては利用が適さないので、導入の際は入念に検討する必要があるようです。今後も新しい技術を身に着け、業務に役立てたいと考えています。次回は、UIフレームワークのionicについて紹介します。

画像

最終課題いよいよ大詰め

kiryu2こんにちは、桐生です。私たちの新人研修最終課題もいよいよ大詰めを迎え、同期一同、より一層追い込みをかけて制作に励んでいます。私たちが作成している「花の名前ダウト(仮)」ですが、ダウトの発生ロジックの実装、4択の表示、スマートフォンに適したデザイン、レイアウトの実装等を無事終え、ゲームを行う上での機能要件を満たし、現在は会員登録機能及びログイン機能の作成に取り組んでいます。クライアントからのリクエストを受け取ったサーブレットがデータベースへのアクセスを行い、入力値チェックや既存の会員データとの重複の有無などをチェックし、その結果によってクライアント側の振る舞いを変化させるといった実装が必要となります。また、スマートフォンアプリケーションらしく、結果を表示する振る舞いとして、洒落たアニメーションの実装も行いたいと考えているので、やりたいことは山積みです。今日を含めて残り二日となりましたが、可能な限り素晴らしいアプリケーションにできるよう頑張ります!IMG_1947

画像

HTML5なアプリケーション制作

kiryu2皆様、いかがお過ごしでしょうか。5号の桐生です。現在私は、研修最終課題である「お花の名前でダウトゲーム(仮)」のアプリケーション制作に励んでいます。このアプリケーションの特徴は、①HTML5(CSS3、JavaScript)で構成されたアプリケーション②ネイティブアプリケーションのようなレイアウト及び振る舞いを持つWebアプリケーション③CSS3やJQueryを利用した動的なアニメーションの実行、といった点です。私は、フロント側の処理をレイアウト及びロジックの実装を担当しているので、JavaScriptの技術として、JQTouch、WebSQL、PhoneGap等の学習と実装に取り組んでいます。苦戦している内容としては、スマートフォン上でのデザインが狙い通りにならない点です(笑)。まだまだ要件通りの機能を満たすまでには遠く、技術上の課題も多く残りますが、全力を持って取り組み、最終レビューのプレゼンテーションを成功させられるよう頑張ります!

画像

新人日記オープンのご挨拶

kiryu2
初めまして、新入社員の桐生 剛至(きりゅう つよし)です。本日から新人日記「SIrcle」がスタートします。同期6人、力を合わせて制作いたしました。今後この日記を通じて、日ごとに更新する「新人日記」、月ごとに更新する「月刊 SI」と、二つのコンテンツをお楽しみ下さい。至らぬ点も多々あるかとは思いますが、1年間お付き合いいただけたら幸いです。どうかよろしくお願いいたします!!