• Skip to main content
  • Skip to primary sidebar

プログラミング入門ナビ by Proglus(プログラス)

プログラミング学習初心者のための情報メディア

本ページにプロモーションが含まれる場合があります

You are here: Home / Archives for 初心者

初心者

簡単なHTMLを書いてみよう!前準備からページの表示まで初めての方にも分かりやすく手順を紹介!

2020-07-22 By プログラミング入門ナビ編集部

いいね!と笑う女性

はじめに

考える女性

HTMLを学習したいけれど、どんな風に書くのかイメージがわかない、難しそう…と考えてはいませんか?

HTMLは数あるプログラミング言語の中でも比較的易しく、取り掛かりやすいため、とにかくやってみるのがおすすめです。

この記事では、はじめてHTMLを書く方向けに1つ1つステップを踏んで方法を解説します。

macOS、Windowsで手順は同じです。しかし、ステップごとの見た目が少々異なるため両方のイメージで説明していきます。

動画解説

本記事の内容を動画でも説明しています。

[macOSの場合]

https://www.youtube.com/watch?v=lHkwuFKbh4I&feature=youtu.be

[windowsの場合]

https://www.youtube.com/watch?v=m-4ftze8F94&feature=youtu.be

ウェブページの完成イメージ

このような簡単なウェブページをHTMLで作ってみましょう。

HTMLページ完成イメージ

下準備

まずはデスクトップに学習用の「web」というフォルダを作成してください。

フォルダ名は任意ですが、この後の流れでは「web」という名称で進めるため同じにしておいた方がわかりやすいです。

[macOSの場合]

デスクトップへのフォルダ作成イメージ(macOS)

[windowsの場合]

コーディング

HTMLに限らず、コーディングを行う際はエディタを使うと便利です。エディタはプログラミング言語に応じて文字を見やすく色付けしたり、ファイル同士の見比べをしやすくレイアウトしたりといった機能があります。

おすすめのエディタはVisual Studio Codeです(VSCodeと略称でも記載されます)。ほぼ全てのプログラミング言語に対応し、使い勝手も良く近年人気が急上昇しています。

特にこだわりがなければインストールして使ってみましょう。下記から入手できます。

Download Visual Studio Code 

Visual Studio Codeでの前準備

以降、VSCodeでの画面例になります。

[macOSの場合]

VSCodeを開いたら、Fileメニュー->Openから先ほど作った「web」フォルダを開きます。

macOSのVSCodeでフォルダを開く

[windowsの場合]

VSCodeを開いたら、Fileメニュー->Open Folderから先ほど作った「Web」フォルダを開きます。

VSCodeでのフォルダオープン

「web」を指定すると、下記のような画面になります。webフォルダの中にさらにフォルダを作成しましょう。

エクスプローラ(「EXPLORER」と記載のある部分)に表示された「WEB」フォルダの横のアイコン(カーソルを置くと「New Folder」と表示されるところ)をクリックし、テキストボックスに「html-basic」と入力すれば作成されます。

フォルダ作成

下記のようになればOKです。

フォルダができた状態

次に、この「html-basic」の中にHTMLファイルを作成していきます。html-basicをクリックして色が変わった状態で「New File」のアイコンをクリックしてください。テキストボックスに「index.html」と入力します。

ファイルの作成

下記のようになっていればOKです。index.htmlをダブルクリックすると右側の部分にファイルの中身が開きます。今はまだ何も書かれていませんが、この中にHTMLを記述していきましょう。

ファイルが作成された状態

HTMLの注意点

指し示す指

実際のコーディングに入る前に、いくつか注意点があります。

  1. ファイル名には原則として日本語を使わない
  2. 拡張子は.htmlとする
  3. 全角・半角を意識する

1の理由として、ウェブ系の基礎となる技術は日本以外の国で開発されることが多く、日本語の使用が想定されていません。ファイルの中身にコンテンツとして日本語を書くのは問題ないのですが、ファイル名に日本語を使うと想定外のトラブルが発生することがよくあるためです。

このような本質的でないトラブルに引っ掛かり解決に時間がかかるのを防ぐためにも、ファイル名には日本語を使わないのが得策でしょう。

3についてはこの後のコーディングで詳しく説明しますが、同じ数字や記号でも全角・半角の使い分けができないとブラウザがうまくHTMLを読み込めません。正しい使い分けを意識しましょう。

シンプルなページ

index.htmlの中に下記のコードを記述していきます。完成形は下記ですが、理解を深めるため順を追って記述していきましょう。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title>はじめてのHTML</title>
  </head>
  <body>
    はじめての見出し
    はじめての段落
  </body>
</html>

まず1行目はDOCTYPE宣言という部分で、この文書がHTMLだということを宣言しています。

<!DOCTYPE html>

この<>で書く部分のことをタグと呼びますが、初心者の方は、よく全角で書くミスをしがちです。

下記のように「!」が全角の「!」になっていたりするとブラウザがHTMLを読み込めませんので注意してください。

<!DOCTYPE lang=ja>

2行目以降にはhtmlタグを記述します。HTMLでは、下記のようにスラッシュなしの「開始タグ」、スラッシュありの「終了タグ」がワンセットとなっていて、その間に中身を書いていくのが基本です。この開始タグ+中身+終了タグのかたまりを「要素」と呼びます。

終了タグを忘れないよう、開始タグを書いたらセットで書いてしまうのが良いでしょう。

<html>
</html>

html開始タグの中には「属性」といって、そのタグに適用できるオプションを記述可能です。下記のように記述すると、htmlタグの中で使用する言語として日本語が指定できます。

属性についてはまた後の記事で紹介します。

<html lang="ja">
</html>

次にhtml要素の中にhead要素とbody要素を記述します。head要素はこのhtml文書に関する情報を記載する部分、body要素はHTML文書の本体を記載する部分です。

さらにhead要素の中に、文書のタイトルを入れるためのtitle要素、文書に関するメタデータを入れるためのmeta要素を記述しましょう。

title要素とmeta要素はhead要素の中に入れ子として入る形になるので、見やすくするためにタブでインデント(一段右にずらすこと)します。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta>
    <title></title>
  </head>
  <body>
  </body>
</html>

タイトルとして、<title>と</title>の間に「はじめてのHTML」と記載します。

meta要素にはHTML文書で使用する文字セットとしてutf-8の指定を行います。ざっくり言えば日本語を文字化けせずに使うための設定と考えてください。

body要素には下記のように本文を記載しましょう。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title> はじめてのHTML</title>
  </head>
  <body>
    はじめての見出し
    はじめての段落
  </body>
</html>

ここで、meta要素には終了タグがないことにお気づきでしょうか。

先ほど、基本的に開始タグと終了タグはワンセットになると述べましたが、中には終了タグを付けてはいけない要素もあります。

全てを暗記する必要はなく、使用したい要素があればその都度下記のサイトで調べることが可能です。

MDN web docs:HTML要素リファレンス(Mozilla)

MDNでの検索

ここまで記述できたら、ファイルを保存しましょう。ファイルが保存されていない状態では、VSCodeのタブの右横に丸いマークがついています。

VSCode未保存状態

保存にはショートカットが便利です。macOSの場合は[Command+s](Commandキーとsキーを同時に押す)、Windowsの場合は[Ctrl+s](Controlキーとsキーを同時に押す)で保存できます。

必ず、VSCodeのタブ横の丸いマークが消えたことを確認してください。

保存できたら、早速ブラウザで見てみましょう。

[macOSの場合]

下記のように、EXPLORERの「index.html」を右クリックし「Reveal in Finder」をクリックしてください。

VSCodeでのファインダーから開く画面

開いたFinder上で「index.html」を右クリック->このアプリケーションで開く->Google Chromeを選択してください。

macOSでindex.htmlを開く

[windowsの場合]

下記のように、EXPLORERの「index.html」を右クリックし「Reveal in File Explorer」をクリックしてください。

VSCodeでファイルエクスプローラを開く

開いたエクスプローラ上で「index.html」を右クリック->プログラムから開く->Google Chromeを選択してください。

windowsでindex.htmlを開く

こうしてブラウザで表示してみると、下記のようになります。

シンプルなindex.html

タブの部分に、title要素に記述した「はじめてのHTML」が表示され、本体には「はじめての見出し」「はじめての段落」が並びで表示されていますね。

コードの中では、改行してこの2文を書きましたが、ブラウザでみると改行が入らないことを覚えておいてください。

また、冒頭で示した完成イメージと違い、この2文が同じ太さで書かれていますね。完成イメージのように、2文を別々な見せ方にするにはどうすれば良いのでしょうか。

マークアップしてみよう

マークアップというのは、HTMLの要素の機能を使って、文章の意味づけを行うことです。

下記のように「はじめての見出し」をh1要素で、「はじめての段落」をp要素で囲ってください。

終了タグにはスラッシュが必要なことや、タグに全角を使ってはいけない点に注意しましょう。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title> はじめてのHTML</title>
  </head>
  <body>
    <h1>はじめての見出し</h1>
    <p>はじめての段落</p>
  </body>
</html>

再度、ファイルを保存し、ブラウザで表示してみてください。

先ほど表示したブラウザがそのまま残っていれば、ブラウザのリロードボタンをクリックするかF5キーを押せば保存した内容が更新されます。

HTMLページ完成イメージ

今度はイメージ通りになりました。

このように、h1要素でマークアップするとフォントが大きくなって見出しとして表示され、p要素でマークアップすると段落として別の行に表示されます。

h1要素やp要素があることでブラウザが見出しや段落として表示しなければならないことを理解し、ふさわしい表示ができるようになったわけです。

スタイルを指定するには

補足ですが、この例では文章の見た目(スタイル)を変更するためにHTMLの要素を利用しましたが、本来HTMLは文書のレイアウトのために使用されるものであり、細かなスタイルの指定には利用しません。

スタイルの指定まで同じ文書内で行うとコードが複雑になり、本来のレイアウト構造が見にくくなるためです。

スタイルをより詳細に指定するためには別のプログラミング言語であるCSSを使用します。少しだけ体験してみましょう。

見出しの文字色を赤くするには下記のように、head要素内にstyle要素を追加します。今回はわかりやすさのために同じ文書内に書きましたが、通常はこのスタイル部分を別のファイルにすることが多いです。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title> はじめてのHTML</title>
    <style>
     h1 {
       color: red;
     }
    </style>
  </head>
  <body>
    <h1>はじめての見出し</h1>
    <p>はじめての段落</p>
  </body>
</html>

ブラウザで表示してみましょう。

スタイル適用したindex.html

このように、style要素で文字色等を変更することができます。

まとめ

いいね!と笑う女性

HTMLでのプログラミングの流れを説明しました。エディタでコードを書いて、ブラウザで確認するだけなので、難しい環境構築等が不要で始めやすいですね。

はじめての方にとってもイメージを掴むきっかけになれば幸いです。ぜひお手元でもチャレンジしてください。

本記事の内容は下記の講座からの抜粋です。HTMLについてより体系的に学びたい方はぜひチェックしてみてください。

新HTML入門(Proglus)

動画でプログラミング入門をしよう

オンライン学習サービスProglus(プログラス)でプログラミングを学び、創れる人になろう!

プレミアムプランを2週間無料体験しよう

今すぐ詳細を確認する

Filed Under: プログラミング入門 Tagged With: HTML, 初心者

初心者がスマホアプリを開発するには?iOSとAndroidの両方について必要なスキルを確認しよう

2020-05-26 By プログラミング入門ナビ編集部

スマホアプリ

はじめに

スマホアプリ

スマホが世の中に浸透して早10年余り。毎日の生活で、必ず1つは何かしらのアプリを使っているのではないでしょうか?

すっかり馴染み深くなったスマホアプリですが、自分で開発できたら自信にもつながりそうですよね。

実は簡単なものならば初心者でも作れるのです。

この記事では、スマホアプリの2つの主流であるAndroidアプリとiOSアプリについて開発に必要なスキルを紹介します。

アプリにもいろいろ

スマホアプリというとまず思い浮かぶのはSNS、カメラアプリといったところでしょうか?実はスマホアプリは開発手法によって大きく3つに分類されます。

どんなアプリを作りたいかによって適切な手法が異なるので、まずはその分類を確認してみましょう。

ゲームならばUnityがおすすめ

スマートフォンゲームでの対戦

ゲームが好きで、よくスマホのゲームアプリをプレイする方もいらっしゃるのではないでしょうか。もし、最初からゲームアプリを作ってみたい!という気持ちが強ければ、Unityで作ってみることをおすすめします。

Unityはスマートフォンや据え置き型ゲームなど、様々なプラットフォームの垣根を超えて開発及び実行ができるゲーム開発環境兼ゲームエンジンです。

この後紹介するAndroidアプリやiOSアプリの開発スキルを用いてもゲームアプリを開発することは可能ですが、それぞれAndroidとiPhoneでしか動かせないアプリになってしまいます。

Unityで開発しておけば、同じゲームでも様々なハードウェアへ簡単に移植することができ大変便利です。

Unityについてはこちらの記事でも解説していますので参考にしてください。

Unityエンジニアになるには?未経験でもなれる?スキルの身につけ方を解説!|プログラミング入門ナビ

ハイブリッドアプリ

オンラインショッピング

例えばFacebookやAmazonなど、比較的大規模なWebサービスのスマホアプリはハイブリッドアプリと呼ばれ、スマートフォン自体が持つ機能(GPSやカメラ等)と、Web技術(HTML5・CSS・JavaScript等)を組み合わせて開発されています。

簡単にいうと、AndroidやiOSのWebViewという機能上でWebアプリを実行し、スマホに最適化して表示するわけです。

Webアプリと、スマホが持つ機能と、それらの橋渡しを行うCordovaというフレームワーク など、様々な機能を使いこなさなければならないため、こちらは上級者向けといえます。

初心者からのスタートならば、次項のネイティブアプリ開発にチャレンジするのがおすすめです。

ネイティブアプリ

時計とスマホ

ここでのネイティブとは、スマートフォン本来の機能、という意味で使われています。

例えばToDo管理アプリを思い浮かべてみましょう。タスクを入力するのにスマートフォンのキーボードやタップの入力機能を使用し、期限が近づいたタスクを知らせるにはスマートフォンのアラーム機能を使えば良さそうですね。

このようにスマホ本来の機能で完結することが多いため、ネイティブアプリならば比較的簡単に開発することができますが、AndroidとiOS向けで必要なスキルは全く異なります。

将来的にはどちらも開発できるようになるのがベストですが、まずはどちらでもいいからスマホアプリを開発したいということであれば、自分が持っている端末に合わせると実機で確認できるのでおすすめです。

Android向けスマホアプリ開発に必要なスキル

androidスマホ

ここからまずはAndroidアプリ開発に必要なスキルを見ていきましょう。

言語(1):Java

次に挙げるKotlinの登場まではAndroidアプリの開発言語としてJavaが主流でした。JavaはJVM(Java Virtual Machine:Java仮想マシン)上で動くのが特徴で、その環境用のJVMさえあればどんな環境でも動かせることから、Androidに限らず多くの用途で活用されています。

言語(2):Kotlin

Javaが抱える課題(コードの複雑化・互換性問題等)に対処できる言語としてAndroidのデベロッパーであるGoogle社から2017年にサポート開始され、2019年には正式に推奨言語にすると発表されたのがKotlin(コトリン)です。

シンプルで使いやすい言語であることからエンジニアからの評判も高く、案件数も増加傾向にあるのでぜひこの機会に学んでみることをおすすめします。

開発環境:Android Studio

Android StudioはGoogle社が提供する公式のAndroid専用開発ツールです。

Android開発に特化しているため、作業効率化に役立つ機能がたくさんあります。開発現場では使わない手はありませんのでこれを機会に使い方に慣れておくと良いでしょう。

iOS向けスマホアプリ開発に必要なスキル

macとスマホ

次にiOSアプリ開発に必要とされるスキルを見てみましょう。

言語:Swift

従来、iOSアプリの開発言語はObjective-Cが主流でしたが、2014年にSwiftが発表されてからはこちらが主流となりました。

従来のObjective-Cとも共存できるとされているので、古いコードとの互換性もあります。

開発環境:XCode

XCodeはApple社が提供する開発ツールで、iOSアプリを開発するために便利な機能を多く持っています。開発現場ではiOS開発のスタンダードツールとなっているので、将来iOSアプリ開発の案件に携わりたい方は早いうちから使い方を覚えておくと良いでしょう。

Macbookでしか使えない点には注意が必要です。

まとめ

オフィスで働く女性

スマホアプリを開発するために必要なスキルについて説明しました。

簡単なネイティブアプリならば初心者の方でも開発しやすいですし、自分のスマホで動かせるものが作れると自信にもつながるのでおすすめです。

なお、ProglusでもAndroidアプリ開発コース・iOSアプリ開発コースの開講を検討しています。ぜひお楽しみに!

動画でプログラミング入門をしよう

オンライン学習サービスProglus(プログラス)でプログラミングを学び、創れる人になろう!

プレミアムプランを2週間無料体験しよう

今すぐ詳細を確認する

Filed Under: プログラミング入門 Tagged With: Android, iOS, アプリ, スマホ, 初心者, 開発

競技プログラミングとは?初心者にもおすすめの理由を解説!

2020-05-26 By プログラミング入門ナビ編集部

はじめに

オフィスで足を投げ出す女性

プログラミング学習、継続できていますか?

教材でしっかりと基礎を学ぶのはもちろん大切ですが、それだけでは何となくモチベーションが続かない…

そんな方は「競技プログラミング」にチャレンジしてみてはいかがでしょうか。

「でも、競技プログラミングって凄腕エンジニアの人たちが参加するんじゃないの…?初心者レベルが参加したって歯も立たなそう…」と思われるかもしれません。

確かに、少し前まではそのような風潮がありましたが、プログラミングを学ぶ人口が増えるにつれ初心者でも楽しく参加できるような仕組みが整ってきています。

この記事では、競技プログラミングをおすすめする理由と初心者の参加方法について説明します。

競技プログラミングとは

たくさんのディスプレイに向かってコーディングする女性

競技プログラミングとはその名の通り、プログラミングの技術を競うコンテストです。

同じ問題を解き、コーディングにかかる時間や完成したプログラムのパフォーマンスを競います。

Googleやドワンゴ等の有名なIT企業が主宰したり、インターネット上の競技プログラミング特化サイトで定期的に開催されることが多いです。

近頃では新卒学生のスキル判定基準として採用に用いられることもあります。

初心者が競技プログラミングをするメリット

上級者だけのものと思われがちな競技プログラミングですが、初心者にこそおすすめの理由があります。

期待できる主なメリットは下記です。

モチベーションの維持

ステップアップ

競技プログラミングにはレーティングというものがあり、初心者レベルからスタートして上位に入ることで上がっていきます。

単に課題を解いていくのとは違いゲーム感覚で続けられるので、モチベーションを保つうえで良い刺激になるでしょう。

もし解けなくても、どうすれば解けたのか?の答え合わせをするだけで良い勉強になります。

実行速度やメモリ使用量を意識できるようになる

基盤上のCPUとメモリ

プログラミング学習を始めたばかりの時はとりあえず動けば良いという考えになりがちですが、競技プログラミングでは実行速度やメモリ使用量のことも意識しつつ、パフォーマンスの高いプログラムを組まなければなりません。

教材で取り扱うような初歩的なプログラミングでは規模が小さいので、多少のコードの違いではパフォーマンスに大きな差は出ませんが、実際のエンジニアが働く現場では大規模なシステムを取り扱います。

この時に少しでも効率の悪いコードを入れてしまうとシステム全体のパフォーマンスに関わるため、早いうちからこれを意識できるようにしておくのは重要なことです。

就職でアピールしやすい

就職活動の面接

近年は企業の採用活動でも競技プログラミングに注目する動きがあり、有名なコンテストで良い点を納めているというだけで内定が決まる例もあります。

そこまでは目指せないとしても、競技プログラミングサイトに参加してレーティングは○○を持っている、というような話ができればアピールになります。

初心者ならばなおのこと、実務経験でのアピールができない分、こういったものを活用してスキルレベルを提示するのも良いでしょう。

高いスコアである必要はなく、プログラミングに関わりを持とうとする姿勢も評価対象になり得ます。

参加には注意点も…

先述の通り、初心者が競技プログラミングに参加するのは大いにおすすめなのですが、いくつか注意点もあります。

自分なりの目標を決めてチャレンジすること

目標設定

競技プログラミングでは、頂点に近づけば近づくほどやはり初心者にとって縁遠い世界となっているのが事実です。

世の中には天才エンジニアと呼ばれる人々がいて、初心者に限らず、エンジニアを何年もやっているような人でも敵いません。

競技プログラミングで良い順位を取ることが目的になってしまわないよう、自分なりの目標を立てて参加しましょう。

順位に一喜一憂して振り回されることなく、「エンジニアへ転職すること」等、自分が定めた最終目標に到達するための手段として楽しむことを心がけてください。

あくまで競技用であると意識すること

画面を挟んで向かい合うビジネスマン

競技プログラミングで「良い点を取れるコード」が、実際のエンジニア現場にとって「良いコード」とは限りません。

この2者では目的が違っているためです。競技プログラミングではコーディングの速さや実行速度・メモリの使用効率の良さが最優先とされます。

そのため、業務現場で重要とされる再利用性や、誰が読んでも分かりやすい可読性等は一切無視され、何をやっているコードなのか非常に分かりにくいことが多いです。

ハイレベルに近づくほどこの傾向が高くなりますので、初心者レベルでは問題にならないことが多いですが、上級者のコード等を参考にする際は、この点を意識するようにしましょう。

代表的な競技プログラミングサイト

ここで、多くの人が参加する代表的な競技プログラミングサイトを紹介していきます。

AtCoder

atcoderのTOP画面

AtCoderは、日本初の競技プログラミングサイトです。登録者数は20万人近くに上り、そのうち半分が日本人です。

毎週末にコンテストが開催され、レベルごとに分かれているので初心者でも参加しやすいのが特徴です。

また、日本の名だたるIT企業が主宰するコンテストもAtCoder上で開催されることが多く、優秀なエンジニアと企業の橋渡しの場ともなっています。

Google Code Jam

Google Code JamのTOP画面

Google Code Jamは、Googleが主宰するプログラミングコンテストで、2003年から開始されました。

4万人近くが一挙に参加する年に1度の大きな大会です。数ラウンドに分かれており、勝ち進んだ25名により最終決戦となります。

この一歩前のラウンドで残った1,000人には特製Tシャツが贈られ、エンジニアの中では勲章のように扱われるようです。

Topcoder

TopcoderのTOP画面

Topcoderは、60万人が参加する世界最大規模の競技プログラミングサイトです。

このサイトでトップレベルのレーティングを持つユーザーは「レッドコーダー」と呼ばれ一目を置かれる存在となっています。

競技プログラミングに参加するには?

競技に参加する人

では、初心者が競技プログラミングに参加するにはどうすれば良いのでしょうか。

基本的な言語スキルを身につける

ほとんどの競技プログラミングサイトでは、同じ問題について複数の言語で回答できるようになっています。

例えばAtCoderを例にとればC言語、C++、Python、Java、JavaScript等様々な言語での回答が可能です。

言語の性質の違いから、競技プログラミングで本格的に上位を目指したい場合はC言語やC++が有利ですが、そうでなければ長い目で見て使い道の多いJavaScriptがおすすめです。

まずは言語を決めて一通りの基本スキルを身につけましょう。

まずは登録してビギナー問題を解いてみる

ある程度基本を身につけたら、早速上記で紹介している競技プログラミングサイトや、その他自分がやってみたいコンテストに登録してみましょう。

ビギナーレベルであればかなりシンプルな問題が多いので、最近プログラミングを始めたばかりの方でも練習問題代わりに解くことができるでしょう。

解けない問題が出てきたら学習を深めるチャンスです。そこで投げ出さず、プログラミング学習に使っている教材なり、書籍なりを確認して解き方を確認しましょう。

この往復活動がモチベーションを保ちつつ楽しく学習を進めるコツです。

まとめ

画面を覗き込む仲間たち

競技プログラミングの魅力と初心者へおすすめする理由を説明しました。

ある程度以上のレベルでは数学的知識が無いと十分に競えない問題もありますが、ここで負けじと数学の学習を始めてスキルを磨くも良し、見切りをつけてまたプログラミング学習に専念するも良しです。

モチベーション継続の場としてうまく活用し、プログラミングのスキルアップにつなげていきましょう。

動画でプログラミング入門をしよう

オンライン学習サービスProglus(プログラス)でプログラミングを学び、創れる人になろう!

プレミアムプランを2週間無料体験しよう

今すぐ詳細を確認する

Filed Under: プログラミング入門 Tagged With: プログラミング, 初心者, 競技, 競技プログラミング

AIプログラマーになるには?仕事内容や初心者からの目指し方を紹介!

2020-05-26 By プログラミング入門ナビ編集部

AIのイメージ

はじめに

AIのイメージ

人工知能(AI:Artificial Intelligence)が近年注目を集めています。

高齢化による労働力不足や働き方改革といった社会的懸念を解決できる期待感から、ある調査によればこの分野の市場規模は近年のうちに3900億ドルを超えると予測されているほどです。

これに伴い、人工知能を用いたアプリケーションやシステムを構築するAIプログラマー人材の需要が高まると見られています。

人材不足や業務内容が複雑であることから、年収も高く1,000万円台を超えることもあるようです。

この記事では、AIプログラマーの仕事内容や、初心者から目指す場合にやるべきことを紹介します。

AIとは?

疑問を抱く男性

人工知能(AI)と一言にいっても、様々な定義があります。

アメリカの哲学者ジョン・サールが提唱した「強いAI」「弱いAI」という分類によれば、前者は自意識を持った人間の代わりになるようなもの、後者は人間が持つ知性の一部を有し特定の仕事を行うものを指します。

近年ビジネスへの応用事例が増えているのは後者ですね。前者が映画に出てくるような人工知能のイメージですが、世の中に出てくるのはまだ先のことになりそうです。

以降、この記事では後者の「弱いAI」を指して「AI」や「人工知能」という用語を用います。

AIを実現する肝の技術は機械学習とディープラーニングです。この単語も耳にされたことがあるかもしれません。

本記事では詳しい説明を省きますが、簡単にいうと膨大なデータからとある特性に基づいて傾向を学習し分類や予測を行うための技術です。

この「とある特性」を人間が予め選定する必要があるのが機械学習、人工知能が自分で「とある特性」の選定まで行うのがディープラーニングで、さらにこれらも学習方法の違いによりいくつかの種類に分類されます。

AIの応用技術

AIの基本機能はデータの分類や予測ですが、これらは一体どのように応用されるのでしょうか?

こちらも実に様々ですが、主に下記のような用途に使用されています。

画像認識

顔認識

画像の中から人間の顔が写っている部分を検知する顔認識技術や、どんな物が映り込んでいるかを予測する物体認識などの用途に使用されます。

顔認識はカメラのオートフォーカス機能や撮った写真の分類等に欠かせない技術となりました。物体認識は自動運転等の分野で活用されていますね。

音声認識

音声認識

音声信号を分析して話している言葉やその話者を認識します。スマートスピーカー等に搭載されていますね。

あくまで音声信号から語を抽出する部分が音声認識によって担われており、その意味を分析するには次に挙げる自然言語処理が活用されます。

自然言語処理

言語処理

テキストデータの羅列からその意味合いを理解します。SiriやAlexaに代表されるAIアシスタント機能や検索エンジン、翻訳機能等で活用されていますね。

スマートスピーカーやスマートフォンでのAIアシスタント活用が広がることで学習データがどんどん集まり、さらなる発展を遂げている過程です。

AIプログラマーが活躍する業界は?

それでは、どのような業界でAIプログラマーが活躍しているのでしょうか。

モビリティ

自動運転

自動車の自動運転やドローン・ロボットの自動制御には人工知能が欠かせません。モビリティ本体に取り付けられたカメラや様々なセンサから入ってくる情報を瞬時に処理して次の動きを判断し、その通りに動かすために活用されます。

スピードと正確性が何より重要なので、様々な機械学習アルゴリズム知識に熟知していること、ある程度のハードウェア知識も求められるでしょう。

金融システム

金融システム

金融商品の価値予測を行い、投資者へのアドバイスまたは代理運用まで行う用途への注目が高まっています。従来、熟練した人間が行っていた業務を人工知能が行うことでコストを下げることができるためです。

同様に保険商品の価値判定や、消費者金融の金利判定にも応用され始めています。

こうした金融商品の分野で活躍するエンジニアには、統計や確率等の数学知識を求められる場面も多いです。

医療システム

医療システム

医療現場はデータの宝庫です。大量の症例・レントゲン写真やカルテなどの情報から、治療方法や新薬を見つけるための応用が始まっています。

また、個別の患者の症状やレントゲン写真から病名を予測したり、遺伝子情報から将来発生し得る病気と対策を提案するサービスもあり、こちらも人工知能の活用事例の一つです。

適切な生活習慣・運動習慣を提案するアプリが人気を集めている通り、ヘルスケア分野での活用も期待されています。

初心者がAIプログラマーになるには?

まず、AIの研究者とプログラマーは別物と考えましょう。研究者の目的は最新の人工知能技術を探究し、自社のシステムにどう取り込めばより良いものにできるかを考えることです。

実際の設計を誰が行うかは案件により異なりますが、AIプログラマーはこの設計に基づきコーディングを行うのが役割です。

もし研究者を目指したい場合は、今のところは大学に入り人工知能分野を専攻するほか道がありません。

初心者の状態からAIプログラマーになるにはもう少しハードルが低いです。主には下記のことに取り組むのが良いでしょう。

機械学習の基礎知識を身につける

AIの中核をなすのが機械学習なので、この基礎知識がなければ現場で会話が成り立ちません。

まずは初心者でも入り込みやすい書籍を読んで知識を身につけましょう。

おすすめは下記です。

人工知能は人間を超えるか(松尾豊、角川EPUB選書)

人工知能は人間を超えるか

AI研究の第一人者である松尾豊氏による「いま人工知能ができること、できないこと、これからできるようになること」を初心者にもわかりやすく説明した本です。

まずは人工知能と自分との距離を縮めるための導入としておすすめです。

見て試してわかる機械学習アルゴリズムの仕組み(秋庭伸也ほか、翔泳社)

見て試してわかる機械学習アルゴリズムの仕組み

機械学習にも様々なアルゴリズム(処理の考え方やその方法)があり、用途により向き不向きがあります。どのようなアルゴリズムがあって、動きがどう違うのかを説明した本です。

これは実際にプログラムを書きながら学ぶ前提となっているため、次項で述べる「Pythonスキル」を身につけた後に取り組むのが良いでしょう。

Pythonのスキルを身につける

言語を学ぶ人

GitHub公式ブログによりますと、GitHubで機械学習(”machine-learning”)というトピックでタグづけされたリポジトリのうち、最も多く使用されている言語はPythonです。

これは、多くの機械学習や統計処理に関する人気ライブラリがPythonのものであるためと想定されます。

C言語やJavaなどでも人工知能の実装は可能で、それぞれライブラリもありますすが、もはや人工知能といえばPythonというスタンダードが定着しているというのが業界の共通認識です。

そのため、新しく人工知能のための言語を学ぶならばPythonをおすすめします。

なお、ProglusでもPythonの講座を準備中です。受講可能となり次第、こちらでもお知らせいたします。

AI分野の資格を取得する

資格の獲得

必須ではありませんが、AI分野の資格を取得しておくとAIプログラマーの職を得るにあたって知識をアピールしやすいです。

E資格

E資格は、日本ディープラーニング協会が運営している認定試験です。同協会のAI資格にはもう一つ「G検定」がありますが、そちらがジェネラリスト(ビジネス寄り)向けの試験なのに対し、E資格はエンジニア向けの試験となっています。

受験には同協会が実施するJDLA認定プログラムの受講が必須です。

受講料やプログラムの受験料は決して安くはありませんが、AIに関して広く学びつつ資格も取りたい場合にチャレンジすると良いでしょう。

Pythonエンジニア認定データ分析試験

Pythonソフトウェア財団のスポンサーである一般社団法人Pythonエンジニア育成推進協会が主宰予定のPythonエンジニア認定データ分析試験は、Pythonを使ったデータ分析の基礎や方法を問う試験です。

まさに業務内容に直結したスキルのアピールになりますね。

現時点で試験はまだ準備中のため、要綱や実施時期については公式ページにて適宜確認してください。

まとめ

学習に励む女性

AIプログラマーの仕事内容と、初心者からAIプログラマーを目指すためにやるべきことについて紹介しました。

決して簡単な道ではありませんが、人材不足が深刻視されている分野ですので、チャンスは大いにあります。

次から次へと新技術が開発されるため、新しいことを楽しく学べる方にはおすすめの職業です。

我こそはという方は、ぜひチャレンジしてみてください。

動画でプログラミング入門をしよう

オンライン学習サービスProglus(プログラス)でプログラミングを学び、創れる人になろう!

プレミアムプランを2週間無料体験しよう

今すぐ詳細を確認する

Filed Under: エンジニアへの道 Tagged With: AI, Python, プログラマー, 人工知能, 初心者, 機械学習

初心者のプログラミング学習には13インチのMacBook Proがおすすめ!その理由も解説!

2020-04-27 By プログラミング入門ナビ編集部

MacBook Proで作業する男性

はじめに

パソコンでプログラミング学習をする男性

全くの未経験からプログラミング学習を始める方の中には、パソコンを所有したことがない、という方もいらっしゃるかもしれません。

安いものではないし、何度も買い換える訳にはいかないので最初のパソコンは慎重に選びたいですね。

この記事では、講師がプログラミング初心者にこそおすすめしたいイチオシのパソコンとしてMacBook Proをご紹介します。

初心者にはMacBook Proがおすすめ


近年では数万円レベルで買える廉価なパソコンも多くありますが、金銭的に問題がなければApple社のMacBook Proがイチオシです。

実際に、MacBook Proは現役のエンジニアに大変な人気があります。

その主たる理由をご紹介していきます。

エンジニアに人気のmac向けアプリケーションが多い

仮想化ソフトウェアや統合開発環境など、エンジニアにとって欠かせないアプリケーションはmac OS向けのものが多いです。

あらかじめmac OSやそれらのアプリの使用を前提とした解説サイトも多く、Windowsなど他のOSを使っていると環境構築手順から違っていて手間取るケースが多々あります。

このような場合に備え、はじめからmac OSのパソコンを使っておいた方が無難です。

コードの実行に十分なスペック

MacBookのもう一つの商品ラインナップである「MacBook Air」ではダメなの?」と思われる方もいらっしゃるかもしれません。

実際にAirとProでは入っているプロセッサの性能が違っており、Proの方がコードの実行パフォーマンスが良いです。

簡単なコードでは差を感じられないかもしれませんが、大規模で複雑なプログラムになってくると違いを体感することでしょう。

実行結果の確認に適した高画素ディスプレイ

高解像度・高画素密度のRetinaディスプレイを搭載しているので、特に見た目が重要なWeb系プログラミングやゲームプログラミングにおいて実行結果の色合いや見え方を正しく確認できるのが利点です。

また、色合いや形が正しくくっきりと表現されることで、長時間見ても目が疲れにくいのも嬉しいですね。

iPhoneアプリの開発が可能

同じくApple社製品であるiPhone向けのアプリはmac OS上でしか開発できません。つまり、Windowsパソコンを買ってしまった時点でiPhoneアプリを作るための学習や演習はほぼ不可能です。

また同様に、エンジニアになった後もiPhoneアプリの開発案件には応募できません。

iPhoneアプリの開発スキルを身につけることを今は検討していなくても、将来必要になるかもわからないので、最初のパソコン選びで無意識に芽を積んでしまわないのが得策ですね。

画面は13インチがおすすめ

MacBookのラインナップ

Apple MacBook Pro

Apple MacBook Air

MacBook Proのディスプレイサイズは13インチと16インチが主流ですが、膝にも乗り、カフェやオフィスなどどこへでも持ち運びやすい13インチがおすすめです。

また、価格の面からも大きな16インチと比較して13インチは10万円ほどお求めやすくなっています。

大きめのサブディスプレイがあるとさらに吉!

たくさんのディスプレイに向かってコーディングする女性

エンジニアといえばよく上図のようにたくさんの大きなディスプレイに向かっているところを想像する方が多いですね。

この例は大袈裟ですが、実際にプログラミングをする時はサブのディスプレイがあると大変便利です。

20インチ前後のディスプレイをパソコンにつなげば、2画面に拡張することができ、これをデュアルディスプレイと呼びます。

片方はコーディング、もう片方では調べ物や仕様書・設計書などを表示させることが多いです。

価格は1万円強ほどなので、金銭に余裕があれば是非入手をおすすめします。

  • ASUS フレームレス モニター VZ239HR 23インチ
  • I-O DATA モニター 23.8型 EX-LDH241DB
  • Dell モニター 23.8インチ SE2416H

画面を見ながらサクサク学べる学習サイト

オンライン授業

プログラミング学習においても、片方の画面にオンライン講座の動画や演習問題を表示させつつ、もう一方の画面でコーディングができると作業効率がいいのはもちろん、理解の速さも格段に上がります。

様々な学習サイトがありますが、このような学習形態でおすすめなのがProglus(プログラス)です。動画の解説が豊富で、わからないことがあれば質問することもできます。

まとめ

クリエイティブなオフィス

プログラミング初心者におすすめのパソコンとしてMacBook Proとその魅力を紹介しました。

エンジニアに人気の理由が伝わったでしょうか。もちろん金銭的に余裕がなければ他のパソコンから初めても問題ありません。

形から入りたい方、最初に思い切った投資をしないと学習意欲がわかない方にはとてもおすすめです。

パソコンは一生ものではありません。どんどん良いハードウェアが開発され、それに合わせて開発すべきソフトウェアの規模も大きく複雑になるので、多くのエンジニアが数年に一度は新機種に買い替えをします。

そのため肩の力を抜いて選びたいところですが、やはりパソコンはエンジニアの商売道具なので愛着も沸きやすく、最初に選んだ機種から頻繁に変更する人は多くありません。

ある程度の期間は使うことを意識し、この記事で紹介した観点を参考に選んでみてください。

なお、一番大切なのは学習を続けることですので、お気に入りのパソコンを手に入れた後はしっかりと学習に取り組みましょう!

動画でプログラミング入門をしよう

オンライン学習サービスProglus(プログラス)でプログラミングを学び、創れる人になろう!

プレミアムプランを2週間無料体験しよう

今すぐ詳細を確認する

Filed Under: プログラミング入門 Tagged With: 13インチ, MacBook Pro, おすすめ, ディスプレイ, パソコン, 初心者

  • Go to page 1
  • Go to page 2
  • Go to Next Page »

Primary Sidebar

Proglus(プログラス)

Twitter

Follow @programmingnavi Tweets by programmingnavi

最近の投稿

  • 【05/02更新】Udemyプログラミング入門講座等の割引クーポン配布
  • AWSのパブリックIPv4アドレス有料化について 2024/2より
  • 【CSS】Google Fontsの利用方法について解説します!新UIに対応2023年11月更新
  • 【SQL】XAMPPのMySQLがXAMPPがポートの競合で起動できない問題について解決方法を解説します!
  • 【Colab】–NOMAL– と表示されて、ショートカットキー(ctrl+c)でコピーができない場合の解決方法を解説します!

カテゴリー

  • AIの使い方
  • Arduino入門
  • AWS
  • その他
  • エンジニアのしごと
  • エンジニアへの道
  • ツールの使い方
  • ニュース
  • プログラミング入門
  • 電子工作入門

タグクラウド

AI AWS AWS Cloud9 Cloud9 CodeWing CSS Emmet GCP Git GitHub Heroku HTML JavaScript li Linux macOS MySQL MySQL Workbench node.js Nuxt.js ol Proglus Python Ruby Ruby on Rails SQL Udemy Visual Studio Code Vue.js Web開発 Windows インストール エラー エンジニア オンライン学習 サーバー スクリーンショット セール プログラミング プログラミング入門 プログラミング学習 ユーデミー 初心者 未経験 機械学習

アーカイブ

  • 2025年5月
  • 2024年1月
  • 2023年11月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年5月
  • 2023年4月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年6月
  • 2021年4月
  • 2021年3月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年11月
  • 2019年9月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月

検索

Copyright © 2025 · programmingnavi.com ・About・プライバシーポリシー