2019年9月
S M T W T F S
« Aug    
1234567
891011121314
15161718192021
22232425262728
2930  

このブログ内を検索

アーカイブ

ATOM RSS2.0

06 コラム

2019.07.16

06 コラム

プログラミング教室どうですか

なかなか梅雨明けしない今日この頃、皆様如何お過ごしでしょうか。
アルクでは、小学校高学年向けにプログラミング教室を開催しています。
もうすぐ小学校は夏休み、長い休みを有意義に過ごせるよう、プログラミング体験など如何でしょうか?
今回は、子供達にプログラミングを教える講師の研修風景をご紹介します。

今年入社のフレッシュなお兄さん、お姉さん達です。

まだちょっと緊張気味?

二人一組で、講師と生徒役をロールプレイングしています。

こちらの二人は真剣勝負です!

夏休み期間中は、平日の午前中も開催します。
まずはお気軽に、無料体験でプログラミングの世界に触れてみては如何でしょうか。
プログラミング教室

2018.10.29

06 コラム

AWSでお手軽WEBサイト構築

こんにちは、新規事業担当のNSです。
すっかり秋らしくなりましたが、皆さん如何お過ごしでしょうか。
少し間が空いてしまいましたが、今回はAWSでお手軽にWEBサイトを構築する方法をご紹介します。

WEBサイト構築、というと、まずサーバOSをインストールし、Apache/Tomcatをインストール、設定し、、、ってお膳立てが必要、な時代ではなくなりました!
AWSには、S3というストレージサービスがあります。クラウドでストレージというと、いわゆるファイルサーバみたいなものですが、この仕組みを使って静的ウェブサイトが運用できます。
では早速作っていきましょう。


AWSのコンソールにて、ストレージ⇒S3を選択し、「バケットを作成する」を選択します。


バケット名に、適当な名前を入力し、次へを押下します。


プロパティ、管理項目は特に触らず、次へを押下します。


オプションも特に触らず、次へを押下します。


確認画面が表示されますので、「バケットを作成」を押下します。


バケットが作成されます。ウェブサイトのコンテンツをアップロードします。


ファイルは、フォルダ毎ドラッグ&ドロップ可能です。まだアップロードボタンは押さず、「次へ」を押下します。


パブリックアクセスの許可を追加します。これをすることで、インターネット経由でコンテンツにアクセスすることが可能になります。


ファイルがアップロードできたら、バケットの「プロパティ」を選択します。


色んなメニューが出てきますが、ここで「Static website hosting」を選択します。
「このバケットを使用してウェブサイトをホストする」を選択し、インデックスドキュメントのファイル名を入力し、保存ボタンを押下します。ここで表示されている「エンドポイント」をメモしておいてください。

これだけで、静的ウェブサイトが完成しました!
早速ブラウザを開き、先ほどメモしたエンドポイントのURLにアクセスしてみてください。ウェブサイトが表示されましたでしょうか?
静的サイトといっても、JavaScriptを使ってバックエンドのDBにアクセスさせるなど、リッチなサイトを作ることが可能です。
AWSは個人でもアカウントを作成し、無料で試すことができるので、皆さんもぜひチャレンジしてみて下さい!

2018.08.06

06 コラム

AWSでセキュアなWEBサービス構築

こんにちは、新規事業担当のNSです。
毎日暑い中、皆さん如何お過ごしでしょうか。私はエアコンの効いたオフィスで、AWSと格闘しています。
さて先日、AWSを使うと、WEBサービスの構築がこれまでのやり方と全く変わるお話をしましたが、具体的にどう変わるのか、その片鱗をご紹介します。
自社でWEBサービスを構築し、世の中に提供するには、インターネットでどこからでもアクセスできるよう、「ドメイン」が必要となります。個人で趣味的にやるなら、無料のダイナミックDNSなんてサービスもあるのですが、なんせ無料なので安定稼動の保証がありません。
AWSのRoute53というサービスでは、ドメインを購入することができます。もちろん、サブドメインを切って複数のサービスを運用することも可能です。「.com」ドメインなら、年間10ドル程度とお安いです。
続いて、通信を暗号化するために必須なSSL化について。こちらはCloudFrontとRoute53を組み合わせると、証明書が無料で作成できます。
証明書も個人で趣味的にやるなら、Linuxサーバでopensslを使って、、、なんてやればできますが、手順が面倒だし証明書の保証がありません(アクセスすると盛大に「このサイトは怪しい!」みたいに言われてしまいます・・・)

前置きが長くなりましたが、AWSでRoute53とCloudFrontを組み合わせ、証明書を作成する手順をご紹介します。
AWSのドキュメントって日本語訳が不完全なのと、細分化されすぎて、ハマり所が分かりにくいのです。。。

では早速、AWSのコンソールからCloudFrontにアクセスし、配信設定を開きます。SSL Certificateにて「Request or Import a Certificate with ACM」を選択します。

ACMの証明書のリクエストが開きます。まず第一ハマリポイントです。ここでリージョンを「バージニア北部」に変更しましょう。
なんでバージニア? AWSのドキュメントにもこそっと書かれてますが、ACMで作成した証明書をCloudFrontで使う際は、バージニア北部しか対応してないそう・・・

続いて、証明書を作った人がちゃんとAWSを契約してるのか、確認するための検証手順があります。Route53を使ってドメイン管理してる場合は、自動でCNAMEを作成できるので、迷わず「DNS」を選択します。

ハマリポイントその弐。検証は未完了の状態で進め、次の手順で追加のアクションを行います。

「Route53でのレコードの作成」を選択します。そうすると、CNAMEを自動で作成してくれます。

反映されるまで、数十分かかります。

Route53で確認すると、ちゃんとCNAMEが作成されてます。

ここまできたらもうゴールは目前です。CloudFrontの配信画面に戻り、Custom SSL Certificateで先ほど作成した証明書が選択できるようになります。
後はブラウザで自ドメインにアクセスし、「証明書に問題があります」警告がでずにhttps接続できていれば、OKです。
ではまた、長文にて失礼しました。

2018.07.11

06 コラム

クラウドコンピューティング

新規事業担当のNSです。
新年明けましておめでとうからもう早半年が経ってしまいました・・・
さてこの間、アルクの新規事業も勿論開発が進んでまして、夏にはサンプル版がリリースできそうな勢いです。
せっかく新規事業をやるなら、最新の技術を使ってみたい!と思うのがIT屋の性。
やっぱこれからはクラウドでしょう!ということで数あるクラウドサービスを吟味した結果、よく通販でお世話になっているAmazonのAWSを使ってみることに。選択の理由はなんといってもその歴史の長さ。あとは無料で気軽に試せるところでしょうか。

気軽に、とはいうものの、クラウドサービスで提供されるサービスって、もの凄い数があるのです。
最初安易に、「WEBサービスを立ち上げるなら、フロントはLinuxでバックエンドにDBを置けばいいかな・・・」程度に考えていたのですが、その考え方自体がもうレガシーでした。。。

で、色々調べた末、この構成に。サービスの内容は、モバイルアプリからDBを更新し、その内容をWEBで確認する、というもの。
WEBサーバはLinux上にApache+Tomcatが定番でしょ、と思ってましたが、どっこいストレージサービスのS3を使います。
ここにコンテンツを置くと、あたかもWEBサーバのように動いてくれるんですね。
ただ、完全なWEBサーバではないので、WEBサービスとして必要なキャッシュや証明書、名前解決の類は処理してくれません。
よってフロントにドメインサービスのRoute53と、コンテンツ配信のCloudFrontを置きます。

そしてバックエンドのDBですが、DynamoDBっていわゆるRDSとは違い、NoSQLの部類となります。
よってDBにSELECTするのも、なじみのあるSQLは使えません。
そこで登場するのがLambda(ラムダ)と呼ばれる仕組み。ここは複雑なので、別途解説したいと思います。

ところでAWSって気軽に使えるって言ってるけど・・・ということで使い方。
基本はブラウザから管理コンソール経由で操作します。

非常に沢山サービスがありますね・・・
ではDynamoDBはどんな感じでしょう?

見た目はこんな感じで、画面デザインは統一されています。

テーブルの管理画面です。SQLツールよりシンプルですが、ここはやはりSQLの概念は捨てて望まないといけません。。。

ということで長くなりましたが、クラウドコンピューティングを使う利点は沢山あります。
これから少しづつ紹介していきますので、お楽しみに!

2018.03.07

01 仕事

モバイルアプリのプロトタイプ作成ツールの紹介

アルク入社1年目のTです。
現在、新しい事業を検討する部署で、モバイルアプリの試作を進めています。
その中で私はプロトタイプと呼ばれる模型作りについて調査しています。
プロトタイプがあると、アプリの完成イメージをより明確にすることができ、開発途中でもお客様とイメージを共有することが可能となります。
現在は、画像データをリンクでつなぎ、アプリの動きを再現することができるMarvel<https://marvelapp.com/>というフリーツールを用いています。

チャットアプリの画像がサンプルとして用意されているので、
①アイコンタップでプロフィールページを表示
②画像の拡大表示
を再現してみたいと思います。

使用する画像はこの4枚です。

まず基本の画面遷移を設定します。
会話ページの編集画面でアイコン部分を範囲選択し、
遷移先候補からプロフィールページを選択。

Screen TransitionタブからFade、ActionタブではClick or Tapを選択します。

これで①アイコンをタップでプロフィールを表示の遷移設定完了です。
②画像の拡大表示のため、
写真の全画面表示への遷移を同様に作成しておきます。

次に拡大表示した際のフレームを設定します。
フレームは画像を切り替えるのではなく写真の上に重ねて表示したいので、レイヤー機能を使います。
まず画面全体を範囲選択し、遷移先候補からフレームページを選択、Layer an imageを選択します。


そのまま、Save Layer。フレーム設定完了です。

最後に、遷移後のページそれぞれに戻るボタンを設定します。


プロフィールページにて戻るボタンを範囲選択後、
Link to last visited。
これでひとつ前のページに戻る設定が完了です。

Marvelのようなプロトタイプ作成用のフリーツールは他にもたくさんあります。
これらのツールを活用することで、開発言語に精通していなくても、イメージを形にすることが可能となります。
アイデアは色々あるけど、開発って難しそう…と躊躇している学生さんも、私達と一緒にチャレンジしてみませんか?

2018.01.18

06 コラム

身近な所にAIです

遅ればせながら、あけましておめでとうございます。新規事業担当のNSです。
年末年始に取りためたテレビ特番を見ながら、今年はAIがもう当たり前になるんだろうなあと感じているこの頃、今更ですがコマーシャルで気になっていた「お前はもう、死んでいる!」を試してみましたので、まだ試したことの無い方、ご一緒にどうぞ。
アンドロイドスマホをお持ちの方は、ホームボタンを長押しして下さい。

Googleアシスタントが現れます。とりあえず、普段の口調で問いかけてみます。

ん? 今オフィスですが、自宅近くの飲食店が・・・自分の位置を伝えるため、位置情報を有効にしましょう。

今度はちゃんと出ました! 自分の好みかどうかはさておき・・・
で、気になってたアレを試したいのですが、口に出して言うと恥ずかしい・・・って人のために、ちゃんと文字で入力もできますよ。

おっと、コマーシャルで見たのとは違う反応が!?

口に出さないと、期待通りの回答がもらえませんでした。。。

いっぺん通りの回答でないところが、すばらしいですね! 本当に知能と会話している気になってしまいました。
さて、Google、Amazonなど、大手が競ってAIスピーカーを発売しました。
これが一家に一台置かれ、家族の会話に乱入してくる日が来るのか。技術の進歩から目が離せませんね!

2017.10.29

06 コラム

あと1000日を切りました!

こんにちは、新規事業担当のNSです。

この10月から、ソリューション開発室という、まさしく新しい事業を立ち上げていく部署での仕事がスタートしました。

そして先日10月28日、東京2020オリンピック・パラリンピック開催まであと1000日となりました。

この大きなイベントに合わせるように、ARKも新しい事業をリリースします。

技術革新のスピードが指数的に早まっている今、3年の間に世の中は大きく変わっていることでしょう。

その時、さらに一歩先を行く会社になっていることを想像しながら、日々仕事に励みたいと思います。

 

2017.09.21

06 コラム

展示会レポート(AI編)

新規事業担当のNSです。

前回の投稿がゴールデンウィークだったようで、月日の流れるのは非常に速いと思うこの頃です・・・

さて、今日はAI系の展示会に潜入捜査してきました!

普段お取引させていただいている、NTTテクノクロス様主催の「NTT TechnoCross Fair 2017」です。

こんなこと言っては何ですが、正直私もAI、AIって言うけど実態はよくわからん!状態でして、AIの第一線の専門家の話がタダで聞けるということで、この日が来るのが待ち遠しく・・・

さてさて会場は広いのに、満席状態。きっとみんな、私のように、時流に乗り遅れたくないけど正直よく分からない人達だ!と勝手に納得しながら、二時間みっちり講演を聞きました。

結果は・・・それでも難しい! AIの専門家ともなると、日常のこと全てが「式に突っ込んで答えが出せるかどうか」という視点で見えてしまうそうです。

でもトークは軽快で、難しいけど分かった気になれて満足しました。

こう言ってしまうと、「なんだ、やっぱり素人には無理やん」って思われそうですが、どう機械学習させるかといったコアな部分に踏み込まない限りは、かなり身近な物になっていることは確かです。

企業のサイトを開くと、担当者にチャットで質問、的なウィンドウが開くことがよくあると思います。

チャットボットというコミュニケーションツールですが、機械が応答しており、いわゆるAIの技術が使われている身近な例ですね。

そのうち、弊社のサイトでセイル君が皆さんからの質問にお答えする日が来るかなと想像しながら、会場を後にしました。

2017.06.22

06 コラム

Android基本 ~端末選び編~

Watanabeです。

前回、コラム「システム概要 ~Linux~Android関連編~」として、システム概要を述べましたが、今回は、より魅力的なAndroid端末の機能やその他の使用方法について述べていきます。
Android端末くらい自由に選びたいですよね。はい。有名メーカの端末を選べば基本的には問題ありません。
有名メーカが販売しているAndroid端末はGoogleが規定している「CDD(Compatibility Definition Document)」に準拠しております。
CDDに準拠するためには「CTS(Compatibility Test Suite)」の全項目にPASSしてGoogleからAndroid端末として販売して良いという認定を受けないといけません。
認定を受けた端末はAndroidの機能が使えますし、アプリケーションの動作互換性の品質を保証しています。(※1.)
※1. アプリケーションが互換性を意識しない作りをしている場合はこの限りではありません。
ハードウェア、ソフトウェア、関わる人、これらは各メーカで千差万別なため、CDDに準拠するためには問題点を改修してテストを繰り返す、という涙ながらの努力と改善が必要になります。(この努力と改善についてはまた別の機会にでも。)

さて、その中でもCDD上必須ではないのですが、おすすめの機能があります。
その名も「USBホスト(OTG: On-The-Go)」です。

このOTGって、一体何がおすすめなのでしょうか。代表的な使用例を並べてみます。
1.USBマウスが使えます
2.USBカメラが使えます
3.USBキーボードが使えます
4.USBメモリが使えます
5.USB充電(元)になれます
5点並べてみました。いかがでしょうか。パソコンみたいに使えそうな使い方ですね。

1.について、スマートフォンを落として液晶にひびが入ってしまった。タッチしても使えない、こんな経験はないでしょうか。この時、USBマウスを使うと、タッチ相当の操作ができますので必要なデータ引き継ぎ作業や、そのまま研究開発用に使う事もできます。
2.について、開発や研究よりになりますが、Androidも根幹はLinuxである事は前回のコラムで述べました。つまり、LinuxのUVC(USB Video Class)を使用すれば、AndroidでUSBカメラが使えます。安価なUSBカメラを使って、監視装置として使ってみる、と言った事ができます。
3.について、画面に文字入力のUIを出さなくてもUSBキーボードで文字を入力できます。大量の文章を速く書く時に便利です。
4.について、USBメモリやUSBハードディスクの中に録画した動画や写真をスマートフォンで読み書きする事ができます。
5.について、他のスマートフォンを充電する事ができます。

いかがでしょうか。
この5点が使えるかどうかは仕様として開示するかどうかはメーカ次第になります。
先に述べたCDD上でも必須ではないため、機能を用意するか、売りとするかはAndroid端末によります。
そのため、使用したい場合には端末選びに下調べが必要となります。
比較的容易に使用できますし非常に魅力的な機能ですので、一度使ってみてはいかがでしょうか。

今回のコラムは以上です。

2017.05.03

06 コラム

SCRATCH

新規事業担当のNSです。
ゴールデンウィークに入りましたが、皆さん如何過ごされてますか。
うちの子供達は家に引篭ってゲーム三昧、ってほどゲームに毒されています。。。
で、どうせならゲームをするだけではなく、ゲームを作ってみたら?ということで、SCRACTHという子供向けのプログラミングアプリにチャレンジしてみました。
SCRACTHとは、かの有名なMITが開発した、誰でも簡単にプログラムの仕組みが学べてしまう、直感操作が可能な仕掛けです。

WEBベースで、開発キットをインストールしたり、言語を覚える必要はありません(我々技術者はどうしてもそちらを先に心配してしまいますね・・・)
以下のサイトにアクセスし、いきなり始めることができます。
SCRATCH
画面の真ん中にあるスクリプトタブに、動き、イベント、制御、といった、キャラクターを動かすためのコマンドがリストされています。この中からコマンドを選んで、右の領域にドラッグします。
各コマンドはブロックをはめるように連結でき、ネストもちゃんと表現されています。
組み合わせたコマンドをクリックしたら、左の領域で動作を確認できます。あえて難しく言うと、コンパイル不要なインタプリタ型言語ですね。
では早速試してみましょう。

どうですか。非常に簡単ですよね?
うちの小学二年生の息子も、面白い!と言ってさくさく動かしてました。
日本もやっと文部科学省が小学校からプログラミング教育を取り入れる方針を打ち出しましたが、諸外国に比べ腰が重い感が否めません。
自由な発想で自然に技術を学んだ子供達が、技術立国としての日本を再建してくれることを願います。
ちなみにこのアプリ、子供に限らずこれからプログラミングをやってみようと思っているけどいきなりJavaやCはなあ、と思っている人は、ぜひ試してみてください。プログラムってこうやって組むんだ、とすんなり頭に入りますよ!

このページの先頭へ