TechAcademy(テックアカデミー)による連載企画。「非エンジニアの起業家が知っておくべきプログラミングの知識」というテーマで数回に分けて極めて基礎的なプログラミングの基礎知識をお伝えする。cc「非エンジニアが知っておくべきプログラミングの知識」というテーマで、10回に分けてお届けする連載企画。第5回目のテーマは「これからプログラミングを学び始める方へ」です。これから学ぶ人のためのCSS全体像」というテーマでお送りしました。今回からいよいよ「プログラミング」の記事テーマで、考察・ご紹介します。本連載は、インターネット業界で、これまで技術的なバックグラウンドを持たないまま起業した方や、これから独立・起業しようと思い立った方をサポートするための、連載記事です。プログラミングといっても、カバーされる非常に広範囲なため1つの記事だけでは表現できません。そこで、本記事では「プログラミング的な考え方」について中心に解説します。0と1の世界へようこそコンピューターの世界では、0と1という情報しか扱うことができません。普段手にしているスマートフォンのディスプレイの発色も、0と1の組み合わせによって発色が表現されています。プログラミングを学び始める上で、情報工学の基礎となる「bit」について正しく理解をしておきましょう。ある1つの電球によって表現できる状態は「ON」または「OFF」の2種類です。2^3=8種類となります。コンピュータ内では、2進数計算の0と1を高速に、かつ大量にやりとりしています。1bitが8つ集まった単位を1バイトと呼び、その後キロバイト、メガバイトと単位が増えていきます。コンピュータに表示されている1つの文字(英数字、ひらがな、カタカナ、漢字も含む)も、この組み合わせ(bit)で表現されています。1バイト=8つの電球(8bit)だけでは、2^8=256通りの組み合わせしか表現できず、アルファベットと数字くらいです。日本語やひらがなは、どのように表現すればよいでしょうか。日本語の表現では、それを2倍にした16bit、すなわち2バイトで表現します。日本語が2バイト文字と呼ばれるのは、16bit(2^16=65,536種類)で表現することができるからです。digitの略で、情報工学における最小単位として知られています。bit単位に意識をおいたプログラミングをする機会は減ってきていますが、高機能なウェブアプリケーションや、スマートフォンアプリなども、メモリ管理など、最終的には「bit」の思想に行き着くのです。そもそもプログラミングとは?プログラミングは、0と1だけで構成されたデジタルの世界に登場した概念です。プログラミングとは、そもそも何なのでしょうか?一般的に、プログラミングとはコンピュータに対して「指示や命令を伝えること」です。人間の意図を正しく伝えるために、プログラミング言語というインターフェースがあります。私たちはプログラミング言語を使うことで、0と1の世界のコンピュータとコミュニケーションを取るのです。アルゴリズムとは何か?プログラミングを学ぶ上で、「アルゴリズム」という存在を知ることになります。アルゴリズムを簡単に説明すると、「問題解決のための考え方」です。問題の数だけ、もしくはそれ以上にアルゴリズムが存在し得ます。世の中には常に新しい解決法が求められているわけではないので、「◯◯ということがしたい」という希望に大して、「それでは、XXというアルゴリズムを使おう」と言えることもあるのです。いった、プログラミングの考え方を組み合わせたものとして有名なもので、プログラミングとアルゴリズムの基礎を学ぶのに最適なことから、研修や大学の情報工学の授業でも、頻繁に取り上げられます。【コラム】FizzBuzz問題FizzBuzz問題という、有名なプログラミングのアルゴリズムに関する問題があります。1から100までの数をプリントするプログラムを書け。3と5両方の倍数の場合には「FizzBuzz」とプリントすることこの問題に対する答えは無数にあります。それぞれの言語で、何十通りの答えがありますが、一つの例として、Rubyでこの問題をシンプルに解くと、以下のようなコードを書くことで実現できます。fizzbuzz.rb」というコマンドで実行してみてください。以下のような結果が出れば成功です。【コラム】世界でもっとも強力な9のアルゴリズム英ディッキンソン大学のコンピュータ・サイエンス教授、ジョン・マコーミック氏の『世界でもっとも強力な9のアルゴリズム』という書籍が発刊されています(日本国内では日経BP社が発刊)。こちらで紹介されている9つのアルゴリズムは、以下の通りです。初心者の方が手にとっても、内容を理解するのは難しいかもしれませんが、デジタル化された現代社会で成り立っている、もっとも高度なアルゴリズムを「読み物」として知っておくためには、あなたの学習のモチベーションをアップさせる一冊になるかもしれません。プログラミングを支える基礎的な考え方これからRubyという言語を通して、どの言語にも共通するプログラミングの基本的な概念を一部だけ、ご紹介します。変数とは、情報を格納しておく箱のようなものです。名前を付けて管理することで、値を処理しやすくします。値とは具体的に、”Hello”という文字列や、1という整数などのデータのことを指します。「〜なら...しなさい」という命令の出し方です。「変数に入った値が1なら”Hello”と出力しなさい」というようなことができます。繰り返し行いたい処理を行う際に用います。ほとんどのソフトウェアにおいて、条件分岐とともに反復構造も基礎構文として使われています。1end上のコードは、変数iが10未満の間、iを1ずつ増やし、その値を出力します。反復構造は、検索アルゴリズムの「線形探索」など、多くの場面で登場する基礎的な概念です。配列は、複数のデータを一つのまとまりとして扱う仕組みのことです。配列にデータをまとめて入れておいて、それぞれに対して処理を行うようなケースはとても多いです。nendまた、上のケースで特定の値、たとえば8だけを取り出したして出力したいときは以下のようにアクセスできます。中に書いた数字を、インデックスと呼びます。注意したいのは、インデックスは1ではなく0からスタートするということです。そのため、8という値にアクセスするためには、7というインデックスを指定しています。ccさて、プログラミングの考え方について大まかにつかんだところで、これから勉強を始めようと思ったら何から始めるべきでしょうか。プログラミングを始めるにあたって、書店に出向いたり、Google検索などをすると様々な言語・開発環境が見つかりますが、プログラミング上達のもっとも速い方法は、「最初に作りたいものを明確にイメージすること」です。あなたが身の回りにある、ちょっとした不便や、自分が使いたいと思うもの(たとえプログラミング学習ノート共有のWebサービス、位置情報をもとに現在地に最も近いバス停からの、次の出発時刻を出すスマートフォンアプリなど)をイメージしてみましょう。世界中には、似たようなアイデアを実現している人がたくさんいます。GitHubにアカウントを登録し、さまざまなアプリケーションがどのように構成されているか覗いてみるのも良いかもしれません。HTMLと組み合わせてブラウザ上で動く「JavaScript」から始めてみようHTMLの学習を終えた方は、JavaScriptを用いて「自分が生まれた日から現在までの日数をカウントする機能」など、20〜30行程度でサンプルソースコードも多く出回っている題材を探してみて、実際に手を動かして作ってみてください。JavaScriptは、HTML内に埋め込むことで動作して、難しい環境構築なども不要です。Rails」などで、タスク管理ツールを作る、といった目標を立ててみると良いかもしれません。2014年現在、Web上にはチュートリアル動画サイトなど無料の学習サイトが豊富な時代です。書籍を買って積ん読にするのではなく、1日1時間ずつ学習を進めてみましょう。~成り立ちから学ぶプログラミング作法』(技術評論社)など良いかもしれません。【よくある質問】最初に何の言語を学べば良いか?何の言語を学べばよいか、多くの人が質問をします。そんなことは考えずに、自分が作りたいものをイメージしてみましょう。無数にある「プログラミング言語」は、どんな種類があり、どのようにカテゴライズできるのか。歴史や、設計思想についても、まずは自分なりに調べてみてください。「何の言語から学ぶか?」この答えの一つに「最も身近にいる人が使っているプログラム言語から始める」というものもあります。Rails(これ自体はプログラミング言語ではありません)」など、選択肢は様々です。今の時代、新しいプログラミング言語・派生型言語もどんどん登場していますので、1つの言語に強くこだわる必要はないでしょう。JavaScriptなどすぐに書けるもので「動くシステム」という成果物の創造の成功体験を小さく積み重ね、全体像から広く浅く学んでいくことをおすすめします。【最後に】挫折ポイントは「環境構築」です多くのプログラミング独学者に共通している挫折ポイントは、実はプログラミングそのものではなくて、自分のコンピューター上でプログラミングを行うための環境構築(=設定)です。環境構築の壁を超えて初めて「ものづくり」の楽しみを味わうことができます。本記事では全てを解説することはできませんが、環境構築には1週間や2週間かかったとしても、根気よく取り組んでみてください。今日から、あなた自身とコンピューターとの対話が始まります。デジタルの世界は始まったばかりです。これから30年、50年後の世界をイメージしてみましょう。様々な社会問題や、人々のビジネスニーズ、経済的な課題が溢れているはずです。プログラミングを学び、アルゴリズムを通して問題解決手法をスキルとして身に付けることは、もはや専門職ではなく、全てのビジネスパーソンや、10代の教育にも良い影響をあたえることでしょう。次回以降の連載では、PHPやRubyなど、各プログラミング言語ごとの設計思想や、簡単な構文などについて解説する予定です。Timepiece(ノット・タイムピース)」のプロジェクトです。通常は外部委託する製品の設計・デザイン、中間流通を省き、インターネットでの販売をメインとすることで大幅にコストを削減。これによって、メイド・イン・ジャパンの高品質な時計を1万円台前半から提供します。Timepiece(ノット・タイムピース)」のプロジェクトです。通常は外部委託する製品の設計・デザイン、中間流通を省き、インターネットでの販売をメインとすることで大幅にコストを削減。これによって、メイド・イン・ジャパンの高品質な時計を1万円台前半から提供します。気軽に着せ替えができることもKnotの特徴の一つ。「今日の服に、今日の時計。」をコンセプトに、時計本体と簡単に付け替え可能なベルトを別々に販売するという新しいスタイルで展開します。お気に入りのシャツに合わせてジャケットやネクタイを選ぶように、その日のコーディネートやTPOに合わせて時計を選ぶことができます。メイド・イン・ジャパンの時計を手掛けるのは、国内屈指の時計技術工場。SUS316Lは、別名「サージカル(医療用)スティール」とも呼ばれる医療用器具にも多く採用されているもの。耐食性に優れた抗アレルギー素材であるため、長時間の着用やデリケートな肌にも負担が少ないのだと言います。SUS316LMakuakeでの目標金額は100万円。調達した資金は、カスタマイズオーダーするためのサイト構築、製品を量産するためのコストなどに充てられます。Knotのプロジェクトは、時計本体(シルバーケース)、プレミアムレザーベルト1本、ナイロンベルト1本のセットが14,000円(税別)から支援できます。今回の支援金をもとに、カスタムオーダーできるKnotオンラインストアが7月17日にオープンします。国内を中心に販売を開始し、今後はメイド・イン・ジャパンブランドを世界にも発信していく予定です。パリ、マドリッド、ロンドン、ミラノ、ベルリンといった欧州各地で、Uberに反発するタクシー運転手によるデモが繰り広げられているそう。各地で、タクシー運転手が道や広場を塞いでしまっているとか。citiesパリ、マドリッド、ロンドン、ミラノ、ベルリンといった欧州各地で、Uberに反発するタクシー運転手によるデモが繰り広げられているそう。各地で、タクシー運転手が道や広場を塞いでしまっているとか。Uberのアプリは、要は既存タクシーで言うところのメーターの代替。タクシーと変わらないのに、Uberだけタクシーに課せられる規制を免れているのはおかしいというのが彼らの主張。ロンドンだけで、4,000人のタクシー運転手がデモに参加した模様。いうのを本当の“Disruption”って言うんだろうね。2014.06.13SHARE:ダイヤモンド経営者倶楽部が6月8日、学生向けの起業家講座「ダイヤモンド・フロンティア・アカデミー特別版1日集中講座」を開催した。中心とする大学生50名が全国から集まった。同団体は2012年に「ダイヤモンド・フロンティア・アカデミー起業家講座」という、数ヶ月に渡る学生向け講座を開催しており、今回の特別講...この記事を読むダイヤモンド経営者倶楽部が6月8日、学生向けの起業家講座「ダイヤモンド・フロンティア・アカデミー特別版1日集中講座」を開催した。中心とする大学生50名が全国から集まった。同団体は2012年に「ダイヤモンド・フロンティア・アカデミー起業家講座」という、数ヶ月に渡る学生向け講座を開催しており、今回の特別講座はその一日限定版とのこと。三名が登壇し、創業当時から上場、現在までを語った。喜多恒介氏らも参加した。佐俣氏によると、木下氏との出会いもこのダイヤモンド経営者倶楽部とのことだ。生涯起業家でいる決意ーリブセンス村上太一氏ご存知の通り、株式会社リブセンスの村上太一氏は東証一部への史上最年少上場を果たし若手を代表する起業家だ。中学生で起業に興味を持ち、大学時代に起業した同氏は、華々しい経歴からはわからない、現在までの険しい道のりを語った。早稲田大学のインキュベーション施設内で創業した当時、同氏は「当時は大量に白髪がはえてきてしまうほどのストレスを抱えてた」というほどに、既存の大手企業の存在や周囲からのマイナスな意見によって追い込まれていたという。「できないことを言われると、できると思っていた自分が間違っていたんじゃないかっておもってしまうんですよね。そんなときに創業メンバーが抜けて、辛くて辛すぎたんです」(村上氏)。そんな時、ある企業からジョブセンスを事業買収したいという話があり、サイトを畳むか非常に悩んだという。村上氏は一度は買収に同意し、その方向で話が進んでいたが、冷静に「なぜ自分で会社をやろうとおもったんだっけ」と考えてみたところ、自分の本質に気づいた。「昔から純粋に、人を喜ばれるのがすきでした。考えてみると、自分はずっと事業をやりたいんだとおもう人なんだと気づいたんです。一度は売却しようと思ったのですが、一生起業家を続ける覚悟をしました。その時に先方の企業の方から、『選択肢があると弱くなる。将来起業家であるという意思決定をしろ』と言われたんです。それからはもう逃げることは考えず、会社を良くすることしか考えなくなったんです」(村上氏)。村上氏は感情が原動力だと一時の感情でぶれてしまうことがあり、あえてやりたい理由を言語化することで、本当にやりたいことが一貫してできるようになると語った。株式会社オークファン代表取締役の武永修一氏は上場までの流れや起業家に必要な要素を自身の経験とともに語った。「オークファンが他の価格比較サイトと違うのは、売り手がネットオークションなどで販売する際の一般的な価格がわかるということなんです。売り手のためにやっているのはうちだけなので、課金制でも多くのユーザーの登録していただけたんです」(武永氏)。武永氏は小学生の頃からビックリマンカードやゲームなどの転売でお金を得ていた商売人で、売り手のニーズをよく理解していたという。同氏は何かをネットオークションや中古買取店などで売る際に「中古の適正価格」を調べるためにあるサイトをみていたという。オークファンはそのサイトを買収して作った会社だと語った。「上場前は常にピリピリしていました。上場の準備は数年前から始めましたが、直前の1年間は本当にハードでした。上場っていうのは会社も個人も本当にお金がかかるんです。私は上場前に株を買い戻すのにかなりお金を使いました」(武永氏)。語り、上場に費やした資金をかなり明確な数値を出して説明をした。(筆者としてもここまで起業家が明確な数値を曝けだして話しているのは初めてで、非常に勉強になった。)「上場は所詮通過点、その後の方が厳しくて楽しい戦いになるんです。上場はしなくても良い会社はいっぱいありますが、上場すれば他の株主の期待を背負う分、資金調達やM&Aなど資本市場を活用することができます。個人としては、上場してもしなくても変わらなかったりします。起業家に必要な要素として、同氏は逞しさと人に好かれる能力であるという。「何かで一番になるにはやはり逞しさが必要です。人に助けてもらえるようなキャラであることも重要な要素。思想が偏りすぎていないことも大事で、会社の利益を追求するのと、社会的な幸福を追求するのと両方が必要です」(武永氏)。大学時代にバングラディッシュで見た栄養不足の子供たちがきっかけで、栄養失調を防ぐ食品に興味を持った同氏は、大学三年生の時にユーグレナ(和名:ミドリムシ、藻の一種)に出会ったという。大学を卒業後、仲間とともに株式会社ユーグレナを設立したが、上場までの道のりは想像以上に険しいものであった。「2年間で500社に営業したんですが、採用実績のない我々の商品を買ってくれる人はいませんでした。月給を下げれるだけ下げても毎月赤字で、会社を倒産させる方法っていう本も買い、覚悟を決めていました」(出雲氏)。そんな時、とある会社から問い合わせの電話があったことがきっかけで、ユーグレナは一躍注目を集めることとなる。「伊藤忠商事から電話があり一緒に仕事をさせていただくようになりました。その後食材としてユーグレナを扱ってくださる企業も増えました。現在はバイオ燃料の研究開発を行っており、2020年東京オリンピックでは、ユーグレナ由来のバイオ燃料で飛行機を飛ばしたいと思っています」(出雲氏)。同氏によると、現在のトウモロコシからつくるバイオ燃料には大量の農地が必要となるという。ユーグレナであれば、様々な海域などで量産が可能だ。「ベンチャーと研究は、どんなにニッチな世界であっても一番になることが大切です。ファーストランナーは本当に大変ですが、1%の確率のことでも100回やれば64%になり、459回やれば99%になるんです」(出雲氏)。出雲氏はエネルギー不足の解決と、最終的に栄養失調状態にある10億人を健康にしたいと熱く語った。今年4月にリリースされたのが、女子向けECキュレーションメディアの「4meee!(フォーミー)」です。10代から20代の女の子に刺さるトレンドを発信し、リリース後わずか2ヶ月で月間100万ページビューと急成長しています。そんな4meee!を手掛けるのは、自らもユーザーと同世代の女性チーム。「私たち自身がターゲットなので...この記事を読む4meee!の桑山友美さん(左)、坂梨亜里咲さん(中央)、桑山好美さん(右)今年4月にリリースされたのが、女子向けECキュレーションメディアの「4meee!(フォーミー)」です。10代から20代の女の子に刺さるトレンドを発信し、リリース後わずか2ヶ月で月間100万ページビューと急成長しています。そんな4meee!を手掛けるのは、自らもユーザーと同世代の女性チーム。「私たち自身がターゲットなので、自分たちが欲しいものを作ることでサービスを良くしていくことができるんです」と話すのは、CMOの桑山好美さん。4meee!を運営するロケットベンチャーの六本木オフィスで、CMOの桑山好美さん、CTOの桑山友美さん、ディレクターの坂梨亜里咲さんに、女子向けサービスを作る極意についてお話を伺いました。大学時代からウェブサイトの受託制作の仕事をしてきた双子姉妹の好美さんと友美さん。当時から一緒に仕事をしてきた代表の龍川誠さんと共にロケットベンチャーを立ち上げました。一方の坂梨さんは大学卒業後、2年間のEC業界の経験を経てチームに参画しています。TIMES」など競争が激しい女の子向け情報サイトですが、“4コマ”という記事の見せ方のほかに、4meee!にはいくつかの特徴があると言います。「ユーザーである女の子たちが自分の言葉で記事を書いている点も特徴です。すべての記事が、女の子のために、女の子によって書かれた情報なんです」(好美さん)感度の高い女の子たち自らが発信者となって、同世代の女の子に響く情報を発信しています。情報を発信するのも読むもの同じ女の子だからこそ、4meee!にはリアルな声が集まっているのです。自らがユーザーだから気づく不便を解消スマホ時代の女の子が何度も帰ってきたくなるサービスを作るために、4meee!にはコンテンツ面以外にもこだわりがあります。スマホで閲覧できるだけでなく、スマホから簡単に記事を投稿できること。4meee!のユーザーにとっては、読むことも書くこともスマホで完結することが必要不可欠なのだと言います。「最近の女の子は、みんなスマホで驚くほど早いスピードで入力するんです。まとめサイトなどの多くはPCからの投稿を主としていますが、女の子たちにとってはそれがスマホからできる必要があります」(坂梨さん)また、女の子のニーズを汲み取って、リンクをたどれば記事の掲載アイテムが購入できることもポイント。実際、記事にはECショップへのリンクが貼ってあるものが多いんだそう。このリンクを貼るプロセスも投稿者は簡単に行うことができます。「雑誌って可愛いアイテムがいっぱい載っているんですが、発売時点ではまだ店頭に出ていなかったり、スタイリスト私物だったりして欲しいのに買えないことがよくあって。4meee!では、気になるものを見つけたらすぐ買えるようにしています」(友美さん)女の子が敏感に察知する「リアルではないもの」ターゲットである女の子にとって、“リアル”であることを大切にしていると話す友美さん。女の子は敏感で、ちょっとした違和感を見逃しません。それはサービス説明一つをとってもそう。「サービスの紹介文を読んでいても、あ、これは男性が書いているなってわかります。“圧倒的に○○”のような固い言葉を使っていたりして、男性の匂いがしてしまうというか。男性に響く言葉と、女の子が何となくフワッといいなと思う言葉は違うものなんだと思います」(好美さん)同じ題材について書かれた記事でも、男性が書いたものと女性が書いたものでは違いがあると言います。「例えば、女性芸能人についての記事なら、男性はスタイルや顔について書くことが多いんですが、女性が気になるのって肌感やライフスタイル、バッグの中身だったりするんです」(坂梨さん)何かが違う時にすぐ違和感を感じる分、テーマや内容に同調できた時の“共感力”もまたすごいのが女の子。「4meee!にはプロフィールページもあるので、ブログと同様、もっと自分のことを知ってほしいという思いが投稿のモチベーションになっています。面白い記事は、Twitterのリツイートで広まっていきますね」(好美さん)4meee!を作りたい!と集まって来る女の子たち現在、フルコミットのメンバー5名とインターンの女の子3名で構成される4meee!のチーム。最近では、もともと「4meee!」のユーザーだった女の子が、「サービスを一緒に作りたい」と参加してくれることも。その結果、チームはほぼ女性で構成されています。会社の設立が昨年12月というまだ生まれて間もないスタートアップ。前に、「ベンチャー企業で働くのは親不孝?」という記事が話題になっていましたが、ベンチャーで働くことへの抵抗や迷いはなかったのでしょうか。「スタートアップはゼロからイチを作るところを手掛けられますし、自分の意見も尊重されます。それにアイディアがすぐ形になって、その結果も早く帰ってくるスピード感が自分には合っていますね」(坂梨さん)そんな、頼もしい女性陣がつくる4meee!が目指すゴールについて、CTOの友美さんはこんな風に答えてくれました。「今後はアプリのリリースも予定しています。前、パソコンでみんながYahoo!を開いていたように、女の子がスマホなら4meee!を開くっていうくらいにしていきたいです。Disruptに挑戦。2014.06.13SHARE:オープンソースでArduino互換の2輪バランスロボット(倒立振子ロボット)「Lil’Bot」が開発中だ。クラウドファンディングサイトKickstarterで支援を募集している。残り10日の時点で既に目標となる15,000ドルの調達に成功している。Unoと互換性があるためUSB経由でプログラミングが可能となっている。赤外線LEDを使用して前面と左右の障害物を検...この記事を読むオープンソースでArduino互換の2輪バランスロボット(倒立振子ロボット)「Lil’Bot」が開発中だ。クラウドファンディングサイトKickstarterで支援を募集している。残り10日の時点で既に目標となる15,000ドルの調達に成功している。Unoと互換性があるためUSB経由でプログラミングが可能となっている。赤外線LEDを使用して前面と左右の障害物を検出したり、エッジ検出したりといったことも可能だ。正確な制御を行う為のオドメトリ(※1)をベースにしたホイールエンコーダも搭載。ハードウェア、ソフトウェア共にオープンソースとなっている。単三アルカリ電池もしくはニッケル水素充電池7個で駆動するとのこと。オプションとして、LEDディスプレイを通じて絵文字のように感情を表現することを可能にするシールド「emoShield」も用意されている。恐い、面白い、怒った、幸せ、クール、悲しい、笑顔、といった感情を表すことができるようになっている。表情を表すことで、ロボットをより身近に感じることができるだろう。プログラミングには、BlocklyDuinoを基にしたブロックベースのプログラミング言語「Lil’Blocks」を使用する。子供にとってはレゴブロックを組み立てるのに過ぎないかもしれないが、プログラムの概念をしっかりと理解することが出来るとのこと。現在Kickstarterで行われているキャンペーンでは、Lil’Botの組み立てキットが165ドル、完成品は185ドルで入手可能となる見込み。195ドルでLil’BotとemoShieldの組み立てキットのセット、215ドルでその完成品が手に入る。米国外への配送はプラス20ドルで対応している。発送は2014年9月となる予定だ。