30分間、オンラインでどんなことでも質問し放題です。あなたの相談に真摯に向き合います。「漠然としているがプロの話を聞いてみたい」こんな気持ちでも大丈夫です。お気軽にご参加ください。※体験用のカリキュラムも無料で配布いたします。今回は、入門向けScalaの学習サイト10選をご紹介します。今回は、Scalaでenumを使う方法を解説します。今回は、Scalaでlistを扱う方法を解説します。今回は、Scalaでmapを使う方法を解説します。今回は、Scalaでforeach文を使う方法を解説します。ループ処理ではfor文もありますが、for文との書き方の違いについても理解しておきましょう。今回は、Scalaでfor文を使う方法について解説します。今回は、プログラミング言語として注目されてきている「Scala」について解説します。関数型言語として採用する企業も増えてきています。Scalaとはどんな言語なのか、他の言語と比較して何が優れているのか知っておきましょう。ここではScalaという言語について勉強していこう。最初に、オブジェクト指向と関数型プログラミングの両方を扱う言語であるということから説明していこう。Javaとの関係についても解説するよ。Scalaではオブジェクト指向と関数型プログラミングの両方を扱うことができます。オブジェクト指向とは、仕様の変更に対して柔軟にプログラムを実装することができる手法です。オブジェクト指向はクラスという概念とともに理解していく必要があります。関数型プログラミングは、関数の組み合わせでプログラムを作り上げます。求人検索エンジンスタンバイが発表したプログラミング言語別平均年収では、Scalaが626万円と第1位に選ばれています。Scalaを採用する企業は増えていても、Scalaエンジニアはまだまだ少ないです。これからエンジニアを目指す人もエンジニアとしてキャリアアップしたい人もScalaを学ぶメリットは大きいでしょう。Scalaは、Javaのライブラリのほとんどをシームレスに利用することができます。ライブラリとは、よく使う機能をあらかじめ実装した状態でまとめてある便利機能です。Machine)上で動作するためです。JVMはJavaの仮想マシンのことです。Scalaで作られたものには様々なものがあります。有名なWebサービスであるTwitterやLinkedinでもScalaを使用して実装されています。国内でもChatworkやビズリーチなどがScalaを採用しています。他にも、人工知能に関する実装にもScalaを使用していることがあります。Scalaの主な特徴についてだね。Javaのライブラリを使うことができるので、Javaを習得している人にとっても使いやすそうですね。次にScalaを使うメリットと、開発環境についても紹介していこう。「スクールは高いから独学で成功する」という気持ちの方は多いと思います。その方が金額は低く抑えられるでしょう。独学には向き不向きがあり、実はスクールが向いている人も大勢います。今回は、Scalaを習得したい人におすすめの本10選を紹介します。これからScalaを学びたいと思っている人は、ぜひ一冊持っておくと良いでしょう。本を選んでみてください。今回はScalaに関する書籍について紹介しよう。Scalaを初めて学ぶ場合の入門書から習得者がリファレンスとして利用できるもの、関数型について詳しく解説されたものなどさまざまな本があるんだ。ここではそれぞれの書籍の対象と特徴、学べる内容について紹介していくよ。プログラミング経験者であれば知っている様なことを非常に丁寧に解説しながらScalaを学習することが可能。本当に初学者であってもScalaを学習することができる数少ない本です。これからScalaを学び始める初学者にとって、検索して調べながら学習するよりこの本を読む方が効率的に学習ができる。Scalaの基本をざっくり学習可能です。中級者以上のプログラミングスキルが必要。練習問題を考える形式を通じ、具体的にScalaがどのように処理を行うかを学習することが可能。Scalaに関する学習書でないが、Scalaのような関数型プログラミング言語を学習する前に読んでおくと視野が広がる。ベテランプログラマーの考え方や学ぶための姿勢を学習できる。「スクールは高いから独学で成功する」という気持ちの方は多いと思います。その方が金額は低く抑えられるでしょう。独学には向き不向きがあり、実はスクールが向いている人も大勢います。Scalaセプテーニ・オリジナルのCTOが語る!開発言語にScalaを採用した理由とは今回は、全社でScalaの導入を進める株式会社セプテーニ・オリジナルとコミックスマート株式会社のCTOとして働かれている杉谷保幸さんにお話を伺いました。いくつかの事業を立ち上げる上でScalaという言語を採用した背景、社内の教育制度や文化について語ってもらっています。Scalaに興味を持っている方やこれからScalaを始めようと考えている方は、必見のインタビューでしょう。――最初に、自己紹介をお願いします。株式会社セプテーニ・オリジナルとコミックスマート株式会社のCTOを務めております杉谷と申します。どちらもセプテーニグループの会社で、Webサービスの企画、開発や、マンガ事業を手掛けており、私はそれぞれの会社の開発責任者という立場です。この会社に入ったときはエクゼクティブエンジニアという立場だったのですが、最初のミッションはコミックスマートのマンガ配信サービス「GANMA!」を成功させることでした。2つ目は、セプテーニ・オリジナルの開発文化を作るというミッションを任され、やること自体は今も昔も変わっていません。日本とベトナムで、それぞれ60人ぐらいです。100%Scalaを使っています。ドメイン駆動設計(DDD)という手法も取り入れており、プロジェクトの運営スタイルとしては、スクラムという開発手法を採用しています。僕が入社する前は、PHPで作っていましたが、コードの汚さや保守性の甘さが課題として残っていました。そこでまず初めに、開発体制の整備を行うことにしました。具体的には、前職で当時流行っていたScalaとドメイン駆動設計を両方持ち込みました。テストを書くという文化もまだなかったので導入しました。コードレビューの文化も育っていなかったので、Confluence、JIRA、Stash(現在はBitbucket)を導入し、コードレビューやドキュメントの集め方、タスクの進捗などを整えられるようにした上で、スクラムという手法を普及させていきました。当時は、そもそもScalaエンジニア自体がほとんどいなかったので、既存のエンジニアを教育してプロジェクトを進めました。最初のミッションであった「GANMA!」の開発に関しては、問題は特にありませんでした。サーバもScalaでできていますし、AndroidアプリもScalaでできているくらいです。新しいプロダクトを作る場合は、Scalaで開発できるように、まず「GANMA!」事業で基礎を学んだ後、Scalaで新プロダクトを作るところから始めていき、そこから株分けしていき導入を進めていきました。Scalaに慣れるためにTDD研修で使われるような身近な課題を元にテストを書きつつ、Scalaを書き始めました。Frameworkを使って掲示板を作ってみる、そして、ドメイン駆動設計の本を読んだあとで、それをドメイン駆動設計で書き直してみるというのを1人あたりレビュアー5人で育てるという体制を敷いています。中途入社で入ってきた方の研修プログラムの充実とフォローの厚さに関しては定評をいただいていまして、満足度が高いですね。慣れたあとで一番楽な言語はScalaだと思います。色んな書き方ができて、大抵のことは簡潔に表現ができるため、どういう風に書けばいいのかなと考える時間も短縮できますし、確認するのも楽です。きれいなコードを維持するのであればPHPは非常に難しいです。JavaやPHPはちょっとしたことを確認するにもずらずらっと書かないといけない。読むのも書くのも大変ですが、Scalaであれば型もありますしエディタ、IDEの支援もよく利くので、とても楽だというのが最大の理由です。――教育の制度や働き方は、社内・社外においてどのような形になっていますか。株式会社セプテーニ・オリジナルは、もともとは株式会社セプテーニの中の開発部門を、エンジニアにとって働きやすい環境を作るために2014年1月に分社化しました。エンジニアというのは、朝何時に来て何時に帰るというものではなくて、目標地点を決めてここまでやったらOKという方がパフォーマンスを最大限に発揮できると思ったので、まず勤務体系を変えました。先ほど紹介したスクラムというのは、1週間や2週間という区切りでやることを決めた上で仕事に入り、日々確認をしながら最後にできたかできないかということを確認するやり方です。どこまでやるべきかというのがはっきりしているため、裁量労働制と相性がいいので裁量労働制もスクラムも導入しました。僕は9時ぐらいに来ていますが、遅めの人もいれば早めの人もいます。お昼頃にはだいたい揃っていますね。スクラムに関しては、タスクに取り掛かる際にどういった作業をするのか、1時間とか30分単位で決めます。最初に1日2日まるごと検討して、残りの時間で進めるというやり方を採用しています。1日2日かけて検討するのでなかなか大変なのですが、それでも凄く安定して速度が出ていて、かつストレスなく実行できているので、優れた手法だと思います。日々の進捗では、「やったこと」「やること」「気付いたこと」を共有しながらやっていきますし、できて終わりではなく、レビューやデモで実際に確認できる状況を作っているのも特徴です。他の人が詰まっていたら助けてあげるし、自分が詰まっていたら助けを求めるという体制をとっています。スクラム自体は「GANMA!」をリリースしたあとから導入をしていきました。初期のリリースまでは、走りきる形でいったのですが、その後はプロジェクトの動きを把握できるスクラムを持ち込みました。当初は、まだ本を参考に我流でやっていたので、普及しきらないといった課題も出てきたのですが、トレーナーの方に来て頂いたり研修をしたりして、より源流に近いスクラムに移行していったのがここ最近の話ですね。――社内・社外でのそれぞれの取り組みについて教えてください。チャットワークに勤めている加藤潤一さんと麻植泰輔さんにアドバイザーとして入っていただいて、加えて僕を含めた社内の2人、合わせて4人で社内のすべてのコードを確認しています。いうことをやることによって、Scalaの変な書き方や不効率な書き方を直したり、間違ったDDDなどを防いだりしています。DDD方面であれば加藤さんが確認してくれますし、Scalaであれば麻植さんが「こういう良い書き方があるよ」といった形で教えてもらっています。新しくチームを作ったときはやっぱりレビューをするにも人数も少ないですし、経験値も足りなくて変なアーキテクチャが入ってしまう余地があるのですが、それを防いでいるというのもScalaを普及させるためには強力なものでした。社外での取り組みでは、最も力を入れているのは「ScalaMatsuri」へのスポンサーの出展です。当社が手掛ける広告運用最適ツールは、技術的には面白いのですが、対外的な知名度もないし、ぱっと見て面白さが分からないので、ScalaMatsuriでは、色々なScalaの技術エントリを載せたものを製本して配布をしたり、CM等を出したりして知名度の向上を図っています。Scalaに興味がある、もしくはちゃんとやってみたいという人が多いです。多いのは、SIerの方で比較的意識が高くて「ちゃんとやりたい、テストも書きたい」と思っている方ですね。Scalaがいいのかメリットをちゃんと把握していて、正しいエンジニアリングをやりたいという方が多く、実際にイベントがきっかけで採用する人もいます。入社後は全員問題無くScala等を習得できていますし、活躍しています。従来以上に力を発揮できるようになる分、収入もグッと増える方が多いです。「スクールは高いから独学で成功する」という気持ちの方は多いと思います。その方が金額は低く抑えられるでしょう。独学には向き不向きがあり、実はスクールが向いている人も大勢います。今回は、入門向けScalaの学習サイト10選をご紹介します。これからScalaを学びたいと思っている人は、これからご紹介するサイトを参考にしてみてくださいね。サイトによって特徴がバラバラなので、自分の目的に合った学習サイトを選んでみてください。本記事は、TechAcademyのScalaオンライン講座の内容をもとに作成しています。今回はScalaに関するサイトについて紹介しよう。Scalaを初めて学ぶ場合の入門サイトから習得者がリファレンスとして利用できるなど、さまざまなサイトがあるんだ。ここではそれぞれのサイトの対象と特徴、学べる内容について紹介していくよ。Scalaに関しては、現在は英語のみの教材です。初回購入時やイベント期間は90%オフセールを行うため、購入する場合はあらかじめ複数コースを購入するとお得です。テキストは動画が多く、最新テキストに随時更新されているため上級者向けコースも存在します。角川書店のグループ企業となっている株式会社ドワンゴの新人研修用テキストです。実際にドワンゴで使用されている新人研修用テキストであるため非常に実用的ですが、講師が教えてくれることでその効果を発揮するタイプのテキストでもあります。ITPROという技術サイトで連載された記事です。Scalaの学習だけでなく幅広い技術を知る記者の目から見た刺激的なScalaに関する全容を学習できます。サイバーエージェントの研究開発部門のScalaに関する情報ブログです。Scalaを学習するというより、Scalaの最新情報をサイバーエージェントのエンジニアの視点を通じて理解を深めることができる点がポイントです。「スクールは高いから独学で成功する」という気持ちの方は多いと思います。その方が金額は低く抑えられるでしょう。独学には向き不向きがあり、実はスクールが向いている人も大勢います。今回は、Scalaでarrayを使う方法を解説します。配列を扱う上で大事な知識なので、実際に書きながら理解していきましょう。今回はScalaでのarrayの使い方について勉強していこう。これは配列を宣言するときに使うものだよ。仕組みについて見ていこうか。Scalaのarrayとは、格納されたオブジェクトを簡単に変更することがでる配列のことです。配列とはプログラミングで一般的に使用される仕組で、同じ型の変数を1つにまとめて扱うことができます。実務でも配列はよく利用されます。都道府県のリストを作成する際に、47個の変数を利用するのではなく、都道府県配列に47個の配列を作成し扱うことが可能です。1つの配列変数名を利用することで、47個の都道府県名を簡単に扱うことが可能です。Scalaの配列はarray以外にmapやlist等があります。配列としてはarrayが使われることはほとんどなく、mapやlistが使用されます。一般的なプログラミング言語であれば、格納したオブジェクトを簡単に変更することは使い勝手が良いですが、Scalaでは変更できない方が言語としての相性が良いです。Scalaのarrayの場合、arrayサイズはarray生成時のみに指定可能です。array生成後に変更や追加することができません。以上のことから、Scalaのような関数型言語の場合、Scalaでarrayは使われることは少ないです。配列名という名前のarrayに対してINT型の空の配列を宣言します。空ですので中身は何も入っていません。配列名という名前のarrayに対して、1と2と3の要素が入っている配列を宣言します。要素を入れる場合、最初に空の配列を宣言する必要はありません。配列は要素は0番目から数えます。そのため、今回であれば、0番目の要素値は1となります。arrayを記述する際の基本の形だね。要素が空の場合と、最初から要素を指定する場合ですね。次に実際に配列を使ってみよう。今回は文字列を3つ格納したものを宣言し、そこからひとつの要素を取り出して出力するよ。{では、ScalaのAppという機能をextend(継承し再利用)してMainという名前のObject(オブジェクト)を宣言しています。“現役エンジニアがサポート”を代入しています。sampleArray(1)ではsampleArrayの1番目の要素に入っている値、を変数sampleArray2に代入しています。sampleArrayの1番目の値は”30歳未経験でプログラマー転職”です。4行目、println(sampleArray2)では、変数sampleArray2に入っている、30歳未経験でプログラマー転職”を表示しています。5行目、}では、1行目の処理を終了しています。コード情報の表示する場合は次のものをご利用ください。以上、Scalaでarrayを使う方法を解説しました。配列はプログラムを書く上でよく使うので、書き方をしっかり理解しておきましょう。配列の要素は、0から順番に数えられるんだ。今回sampleArray(0)の場合は、”短期集中Scala講座”の要素を指すということですね。arrayは他の言語でもよく使われるものだけれど、Scalaには他にもいくつかのデータ構造があるんだ。先ほど話に出ていたmapやlistといったものですね。これも覚えておきます。利用したシステム開発、店舗検索スマホアプリ開発など。その他にも地域の職業プログラマー育成活動を行い、2018年には小学生がUnityで開発したオリジナルAndroidアプリをGooglePlayでリリース。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。今回は、Scalaでmapを使う方法を解説します。Scalaについてそもそもよく分からないという方は、Scalaとは何なのか解説した記事をまずご覧ください。Scalaのmapとは配列のひとつです。他のプログラミング言語では辞書式と呼ばれることもあります。配列とはプログラミングで一般的に使用される仕組で、同じ型の変数を1つにまとめて扱うことができます。変数とは、値を入れる箱のようなものです。Scalaのmapとしては、値を変更可能なmutableなmapと、値を変更不可能な不変オブジェクトであるimmutableタイプの2種類があります。Scalaの配列で値を変更可能なオブジェクトとしてはarrayがあります。Scalaのmapはタプルで値を渡すことで生成することができます。キー2->バリュー2)の説明です。Mapでmapを生成することの宣言をしています。キー1->バリュー1の部分では、キー1に対応するバリューがバリュー1に格納される処理です。->を使用して格納するようにしています。条件を満たすことで支払った受講料の最大70%(最大306,460円)が給付金として支給されます。ページ内の注意事項をご確認ください。CORPORATION.。