Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 1/50
サーバーだけじゃない ! Linux デスクトップを使い倒そう
その 3
今話題の Kotlin から Ruby 、 C++ 1x… の開...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 2/50
本日の内容
●
openSUSE の紹介
●
ソフトウェアの開発環境を整えてみよう
– 1. Android アプリを開発してみる
– 2...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 3/50
みなさん
って何かご存知ですか?
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 4/50
正しいのはどれ?
●
1. サーバールームでモフモフできるカメレオン型ガジェット
●
2. Ruby で簡単に Web アプリを作れるフレ...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 5/50
正解
●
3. 20年以上前にドイツで生まれた Linux ディストリビューション
– 1996 年: S.u.S.E Linux 4.2...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 6/50
デスクトップはこんな感じ
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 7/50
YaST でかんたん設定
SSH からもアクセスできる TUI 版→
●
ソフトウェアのインストール
ハードディスクとファイルシステムの設...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 8/50
インドネシア ジョグジャカルタ特別州の小中学校のPCに
openSUSE を採用
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 9/50
2つの openSUSE
Tumbleweed
常に最新 安定
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 10/50
openSUSE Tumbleweed
●
ローリング・リリース
– 週に3回程度新しいバージョンがリリース
●
常に最新バージョンのカ...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 11/50
openSUSE Leap
●
SUSE Linux Enterprise ベースの安定志向
ディストリビューション
– 年に1回のマイ...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 12/50
openSUSE Leap 42.3
●
openSUSE Leap 42.x の2回目のアップデート
●
openSUSE Leap ...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 13/50
Linux デスクトップを開発環境として使う
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 14/50
なぜ Linux デスクトップなのか?
●
開発ツールが豊富
– コンパイラ
– バージョン管理: Git など
– POSIX シェル...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 15/50
1. Android アプリを開発してみる
●
必要なもの
– Android Studio
– Android SDK
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 16/50
インストール手順
●
依存する 32bit ライブラリをインストール
●
Android Studio をダウンロード
– https:...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 17/50
GUI でもできます
GUI でパッケージをインストール
GUI で zip を展開
1. Android アプリを開発してみる
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 18/50
Android Studio の起動
●
インストールした studio.sh を実行
●
早速
「Start a new Androi...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 19/50
プロジェクトの作成(省略)
Android SDK もインストールされます
1. Android アプリを開発してみる
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 20/50
空のアクティビティの追加
●
アクティビティ: 画面のこと
●
New > Activity > Gallary… で 「Empty A...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 21/50
Hello World を書く
●
ボタンを配置して、アクションを定義
1. Android アプリを開発してみる
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 22/50
エミューレータを設定して実行
●
十分なスペックの PC であれば、さくさく動きます
1. Android アプリを開発してみる
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 23/50
Kotlin で書いてみる
●
Kotlin
– Java 仮想マシンで動作するアプリをかける新しい
プログラミング言語
●
型推論やク...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 24/50
Hello world 的なコードを書いてみる
中略
import kotlinx.android.synthetic.main.con...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 25/50
エミュレータで実行
●
+ ボタンを押したら「あひる焼き」
1. Android アプリを開発してみる
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 26/50
2. Ruby on Rails アプリを開発してみる
●
Ruby on Rails
– Web アプリケーションフレームワーク
●
...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 27/50
こうなるとつらい
●
gem install で
Building native extensions. This could take...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 28/50
Rails のインストール
●
必要なパッケージをインストール
●
Rails をインストール
– 以下の内容の Gemfile を作成...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 29/50
Rails アプリの雛形生成
●
Rails アプリの雛形生成
●
Gemfile の therubyracer の
行コメントを外す
...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 30/50
実行
●
サーバの起動
ブラウザで
localhost:8080 にアクセス
$ bundle.ruby2.2 exec rails s...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 31/50
Ruby 開発にエディタは何を使う?
●
古くからあるエディタ: Emacs, VIM
– 豊富なプラグインにより、機能を拡張して ID...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 32/50
3. C++ 1x でアプリを開発してみる
●
ここで言う C++ 1x: C++ 11, 14, 17のこと
●
新しい言語機構が増え...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 33/50
C/C++ 開発にエディタは何を使う? 1/2
●
KDevelop
– 入力補完やタグジャンプ、デバッグなど一通り可能な IDE
– ...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 34/50
C/C++ 開発にエディタは何を使う? 2/2
●
Visual Studio Code
– プラグイン追加で Intellisense...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 35/50
4. Go, Rust, Haskell コンパイラも
簡単にインストール
●
基本的にパッケージからインストール可能
– Window...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 36/50
Go
●
go パッケージをインストールするだけ
4. Go, Rust, Haskell コンパイラも簡単にインストール
$ sudo...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 37/50
Rust
●
rust パッケージを入れるだけ
4. Go, Rust, Haskell コンパイラも簡単にインストール
$ sudo ...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 38/50
Haskell
●
必要なパッケージが多いが、haskell_platform パターン
をインストールすればOK
4. Go, Rus...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 39/50
おわりに
●
Linux デスクトップなら:
様々な開発環境を簡単にセットアップできる
●
ソフトウェアの開発環境を Linux に変え...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 40/50
告知
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 41/50
東京で開催される国際会議に参加しませんか?
openSUSE.Asia Summit 2017 を東京で開催します!
武山 文信
日本 ...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 42/50
openSUSE.Asia Summit 2017 Tokyo
●
openSUSE や Linux など周辺の OSS に関する国際イ...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 43/50
よくある反応
openSUSE とか使ってないし…
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 44/50
でも大丈夫!
●
openSUSE Track
– Docker レジストリの Portus の話もあるかも!?
●
FLOSS Sec...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 45/50
よくある反応
英語話せないし
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 46/50
でも大丈夫!
日本語で発表しても OK!
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 47/50
openSUSE.Asia Summit 2017 Tokyo
●
発表以外の交流も
たっのしー!
インドネシアのJD にサインを
求め...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 48/50
日本からが足りない!!
●
発表募集・ロゴコンテストの提出状況(イメージ)
インドネシア 日本
※中国、台湾、ドイツ、オーストラリア等か...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 49/50
発表概要の英語書き手伝います!
●
openSUSE Leap 42.3 Release Party Kyoto & もくもく会
– 明...
2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 50/50
openSUSE.Asia Summit 2017 Tokyo
発表者 ロゴ スポンサー 実行委員
募集中
●
学生ボランティアも募集予...
Upcoming SlideShare
Loading in …5
×

サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える

418 views

Published on

最近、ソフトウェア開発のプラットフォームとして、Linux ベースの OS が注目されています。
その理由としては、最近のプログラミング言語のコンパイラや Git、Ansible などの開発ツールが
Linux ベースの OS では簡単にインストールできることが挙げられます。
また IntelliJ IDEA といった人気のある開発ツールも Linux ベースの OS で使用することができます。

本セミナーでは、いくつかの言語の開発環境を整備する方法を紹介します。

- 今話題の Kotlin (と Java)で Android アプリを開発する
- Ruby on Rails アプリを開発する
- C++ 1x アプリを KDevelop で開発
- Go, Rust, Haskell コンパイラも簡単にインストール

また、セミナーの冒頭で、openSUSE の最新動向についても紹介します。

「サーバーだけじゃない!Linux デスクトップを使い倒そう」シリーズの過去のスライドは SlideShare で見ることができます。
その2: https://www.slideshare.net/ftake/20140301-31817090
その1: https://www.slideshare.net/ftake/20131019

Published in: Technology
  • Be the first to comment

サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える

  1. 1. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 1/50 サーバーだけじゃない ! Linux デスクトップを使い倒そう その 3 今話題の Kotlin から Ruby 、 C++ 1x… の開発環境を整える 武山 文信 日本 openSUSE ユーザ会
  2. 2. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 2/50 本日の内容 ● openSUSE の紹介 ● ソフトウェアの開発環境を整えてみよう – 1. Android アプリを開発してみる – 2. Ruby on Rails アプリを開発してみる – 3. C++ 1x でアプリを開発してみる – 4. Go, Rust, Haskell コンパイラも簡単にインストール
  3. 3. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 3/50 みなさん って何かご存知ですか?
  4. 4. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 4/50 正しいのはどれ? ● 1. サーバールームでモフモフできるカメレオン型ガジェット ● 2. Ruby で簡単に Web アプリを作れるフレームワーク ● 3. 20年以上前にドイツで生まれた Linux ディストリビューション
  5. 5. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 5/50 正解 ● 3. 20年以上前にドイツで生まれた Linux ディストリビューション – 1996 年: S.u.S.E Linux 4.2 リリース ● これ以前は Slackware + 設定ツールでした ● Q: RedHat 系ですか? Debian 系ですか? A: どちらでもありません! Slackware系でもありません ● Q: OpenSUSE ですか?openSUSE ですか? A: o は小文字です。IPhone ではなく、iPhone なのと同じです
  6. 6. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 6/50 デスクトップはこんな感じ
  7. 7. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 7/50 YaST でかんたん設定 SSH からもアクセスできる TUI 版→ ● ソフトウェアのインストール ハードディスクとファイルシステムの設定 ● ネットワークの設定 ● Samba サーバーの設定 ● ユーザの追加… 詳しくは OSC Kansai/Kyoto 2015の資料を参照: http://www.slideshare.net/ftake/ok-yastlinux
  8. 8. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 8/50 インドネシア ジョグジャカルタ特別州の小中学校のPCに openSUSE を採用
  9. 9. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 9/50 2つの openSUSE Tumbleweed 常に最新 安定
  10. 10. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 10/50 openSUSE Tumbleweed ● ローリング・リリース – 週に3回程度新しいバージョンがリリース ● 常に最新バージョンのカーネルやアプリケーション、 ライブラリを使いたい人向け – アプリケーション時に、新しいコンパイラやライブラリでも 動くかをいち早く確認できる Tumbleweed
  11. 11. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 11/50 openSUSE Leap ● SUSE Linux Enterprise ベースの安定志向 ディストリビューション – 年に1回のマイナーアップデート(サービスパック) – 3年に1度程度のメジャーアップデート ● エンタープライズ版に openSUSE 独自のパッケージを追加 – デスクトップ環境: Plasma 5, GNOME 3, XFCE, MATE, LXQt, etc. – 合計: 約 9000 パッケージ ● 有償サポートが不要なサービス運用や、 常用のデスクトップ環境に最適 CentOS + Fedora のような感じ
  12. 12. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 12/50 openSUSE Leap 42.3 ● openSUSE Leap 42.x の2回目のアップデート ● openSUSE Leap の各パッケージをアップデート – SUSE Linux Enterprise 12 SP3 がベース – Kernel 4.4 + Intel の最新のハードウェアサポート ● 半年間のアップデート期間 – 42.2 の利用者は半年の間に 42.3 へアップデートする New!
  13. 13. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 13/50 Linux デスクトップを開発環境として使う
  14. 14. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 14/50 なぜ Linux デスクトップなのか? ● 開発ツールが豊富 – コンパイラ – バージョン管理: Git など – POSIX シェル、SSH、Docker、Ansible、… ● 本番と同じ(近い)環境で開発できる – その場で実行できる ● いろいろなアプリケーションの開発環境が簡単に 整えられることを紹介します – コーディングの方法は紹介できません Windows へのインストール は意外とメンドクサイ (仮想マシンを使う?)
  15. 15. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 15/50 1. Android アプリを開発してみる ● 必要なもの – Android Studio – Android SDK
  16. 16. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 16/50 インストール手順 ● 依存する 32bit ライブラリをインストール ● Android Studio をダウンロード – https://developer.android.com/studio/index.html ● Android Studio をインストール 1. Android アプリを開発してみる $ sudo zypper install glibc-32bit libncurses5-32bit libstdc++6-32bit libz1-32bit libbz2-1-32bit $ cd ~/Applications $ unzip ~/Download/android-studio-ide-162.3934792-linux.zip パッケージ管理しないアプリケーションは ~/Applications などに置くと良いでしょう 実は必要ないかも?
  17. 17. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 17/50 GUI でもできます GUI でパッケージをインストール GUI で zip を展開 1. Android アプリを開発してみる
  18. 18. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 18/50 Android Studio の起動 ● インストールした studio.sh を実行 ● 早速 「Start a new Android Studio project」 を選択してアプリを作ってみましょう $ ~/Applications/andriod-studio/bin/studio.sh 1. Android アプリを開発してみる
  19. 19. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 19/50 プロジェクトの作成(省略) Android SDK もインストールされます 1. Android アプリを開発してみる
  20. 20. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 20/50 空のアクティビティの追加 ● アクティビティ: 画面のこと ● New > Activity > Gallary… で 「Empty Activity」 を選択 1. Android アプリを開発してみる
  21. 21. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 21/50 Hello World を書く ● ボタンを配置して、アクションを定義 1. Android アプリを開発してみる
  22. 22. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 22/50 エミューレータを設定して実行 ● 十分なスペックの PC であれば、さくさく動きます 1. Android アプリを開発してみる
  23. 23. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 23/50 Kotlin で書いてみる ● Kotlin – Java 仮想マシンで動作するアプリをかける新しい プログラミング言語 ● 型推論やクロージャーなどをサポート ● Java のクラスをそのまま呼び出せる ● (ネイティブアプリも書けるらしい) – 先日の Google IO で、Android アプリの公式な開発言語に採用さ れた ● 準備 (Android Studio 2.3) – Android Studio SDK の Settings から Kotlin プラグインを インストール 1. Android アプリを開発してみる
  24. 24. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 24/50 Hello world 的なコードを書いてみる 中略 import kotlinx.android.synthetic.main.content_main2.* class Main2Activity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main2) val toolbar = findViewById(R.id.toolbar) as Toolbar setSupportActionBar(toolbar) list1.adapter = ArrayAdapter<String>(this, R.layout.list_item) } public fun addNewItem(view: View) { val adapter = list1.adapter as ArrayAdapter<String> adapter.add("あひる焼き") } } ● New > Kotlin Activity でJavaのプロジェクトに Kotlin のアクティビティテンプレートを追加 1. Android アプリを開発してみる
  25. 25. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 25/50 エミュレータで実行 ● + ボタンを押したら「あひる焼き」 1. Android アプリを開発してみる
  26. 26. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 26/50 2. Ruby on Rails アプリを開発してみる ● Ruby on Rails – Web アプリケーションフレームワーク ● Linux デスクトップで開発する利点 – Gem を簡単にインストールできる – 運用の環境と近い環境でテストできる ● Ruby インタプリターの管理方針 – Rbenv を使って好きなバージョンの Ruby を入れる – ディストリビューション提供の Ruby を使う ←今日はこの方針で
  27. 27. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 27/50 こうなるとつらい ● gem install で Building native extensions. This could take a while... current directory: /home/abuild/rpmbuild/BUILDROOT/rubygem-glib2-3.1.8- 0.x86_64/usr/lib64/ruby/gems/2.4.0/gems/glib2-3.1.8/ext/glib2 /usr/bin/ruby.ruby2.4 -r ./siteconf20170804-23004-1fw2x7l.rb extconf.rb *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include 2. Ruby on Rails アプリを開発してみる
  28. 28. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 28/50 Rails のインストール ● 必要なパッケージをインストール ● Rails をインストール – 以下の内容の Gemfile を作成 (後で上書きして消します) – インストールを実行 # Ruby 2.2 $ sudo zypper install ruby2.2 $ sudo gem.ruby2.2 install bundler # Nokogiri に必要なライブラリ $ sudo zypper install libgcrypt-devel libgpg-error-devel libxslt-devel ruby2.2-devel # SQLite3 に必要なライブラリ $ sudo zypper install sqlite3-devel source 'https://rubygems.org' gem 'rails', '~>5.1.0' $ bundle.ruby2.2 install --path vendor/bundle ライブラリのインストールが簡単 Ruby のインストールが簡単 2. Ruby on Rails アプリを開発してみる
  29. 29. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 29/50 Rails アプリの雛形生成 ● Rails アプリの雛形生成 ● Gemfile の therubyracer の 行コメントを外す – JavaScript のランタイムを therubyracer にする $ bundle.ruby2.2 exec rails new rails-demo app ├─ assets │   ├─ config │   │   └─ manifest.js │   ├─ images │   ├─ javascripts │   │   ├─ application.js │   │   ├─ cable.js │   │   └─ channels │   └─ stylesheets │   └─ application.css ├─ channels │   └─ application_cable │   ├─ channel.rb │   └─ connection.rb ├─ controllers │   ├─ application_controller.rb │   └─ concerns ├─ helpers │   └─ application_helper.rb ├─ jobs │   └─ application_job.rb ├─ mailers │   └─ application_mailer.rb ├─ models │   ├─ application_record.rb │   └─ concerns └─ views └─ layouts ├─ application.html.erb ├─ mailer.html.erb └─ mailer.text.erb - #gem 'therubyracer', platforms: :ruby + gem 'therubyracer', platforms: :ruby 2. Ruby on Rails アプリを開発してみる $ bundle.ruby2.2 install
  30. 30. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 30/50 実行 ● サーバの起動 ブラウザで localhost:8080 にアクセス $ bundle.ruby2.2 exec rails server -b 0.0.0.0 -p 8080 2. Ruby on Rails アプリを開発してみる
  31. 31. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 31/50 Ruby 開発にエディタは何を使う? ● 古くからあるエディタ: Emacs, VIM – 豊富なプラグインにより、機能を拡張して IDE のように – パッケージから簡単にインストール可能 ● ATOM – GitHub によるテキストエディタ – Linux 版もあり – https://atom.io ● 高機能なデスクトップ環境付属エディタ: GEdit, KWrite – これで十分と言う人もいる 2. Ruby on Rails アプリを開発してみる
  32. 32. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 32/50 3. C++ 1x でアプリを開発してみる ● ここで言う C++ 1x: C++ 11, 14, 17のこと ● 新しい言語機構が増えて、昔の C++ とはチョット違う – 拡張 for 文 – auto による型の省略 – ラムダクロージャー vector<int> *v = new vector<int>(); v->push_back(1); v->push_back(2); for (vector<int>::iterator itr = v->begin(), end = v->end(); itr != end; itr++) { cout << *itr; } return 0; auto *v = new vector<int>(); v->push_back(1); v->push_back(2); for (int& i: *v) { cout << *itr; } return 0;
  33. 33. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 33/50 C/C++ 開発にエディタは何を使う? 1/2 ● KDevelop – 入力補完やタグジャンプ、デバッグなど一通り可能な IDE – CMake をサポート ● 他の IDE でも、IDE が無くても開発可能 3. C++ 1x でアプリを開発してみる
  34. 34. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 34/50 C/C++ 開発にエディタは何を使う? 2/2 ● Visual Studio Code – プラグイン追加で Intellisense による入力補完が可能 3. C++ 1x でアプリを開発してみる
  35. 35. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 35/50 4. Go, Rust, Haskell コンパイラも 簡単にインストール ● 基本的にパッケージからインストール可能 – Windows の場合: Bash などのシステムまるごとインストールが必要になることも
  36. 36. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 36/50 Go ● go パッケージをインストールするだけ 4. Go, Rust, Haskell コンパイラも簡単にインストール $ sudo zypper in go $ go build hello.go $ ./hello Hello Geeko! package main import fmt "fmt" func main() { fmt.Print("Hello Geeko!n") } hello.go
  37. 37. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 37/50 Rust ● rust パッケージを入れるだけ 4. Go, Rust, Haskell コンパイラも簡単にインストール $ sudo zypper in rust $ rustc hello.rs $ ./hello Hello Geeko! 30 fn main() { let x = 10; let y = 20; println!("Hello Geeko! {}", x + y); } hello.rs
  38. 38. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 38/50 Haskell ● 必要なパッケージが多いが、haskell_platform パターン をインストールすればOK 4. Go, Rust, Haskell コンパイラも簡単にインストール $ sudo zypper in -t pattern haskell_platform $ ghci GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help Prelude> 1 + 1 2 Prelude> let x = 10 in x + 20 30 Prelude>
  39. 39. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 39/50 おわりに ● Linux デスクトップなら: 様々な開発環境を簡単にセットアップできる ● ソフトウェアの開発環境を Linux に変えてみませんか?
  40. 40. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 40/50 告知
  41. 41. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 41/50 東京で開催される国際会議に参加しませんか? openSUSE.Asia Summit 2017 を東京で開催します! 武山 文信 日本 openSUSE ユーザ会
  42. 42. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 42/50 openSUSE.Asia Summit 2017 Tokyo ● openSUSE や Linux など周辺の OSS に関する国際イベント ● 今年は初日本開催! – 北京→台北→ジョグジャカルタ(インドネシア) ● 日時: 10月21日(土)、22日(日) ● 会場: 電気通信大学(東京都調布市) ● 参加費: 無料 技術書展もやっています 週末はぜひ東京へ
  43. 43. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 43/50 よくある反応 openSUSE とか使ってないし…
  44. 44. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 44/50 でも大丈夫! ● openSUSE Track – Docker レジストリの Portus の話もあるかも!? ● FLOSS Security Track – セキュリティは大事だね? ● LibreOffice mini Conference – みんな使っているよね? ● Linux Desktop Track – 昨年、「今年こそ Linux デスクトップ元年」だった
  45. 45. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 45/50 よくある反応 英語話せないし
  46. 46. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 46/50 でも大丈夫! 日本語で発表しても OK!
  47. 47. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 47/50 openSUSE.Asia Summit 2017 Tokyo ● 発表以外の交流も たっのしー! インドネシアのJD にサインを 求められる @hatochan
  48. 48. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 48/50 日本からが足りない!! ● 発表募集・ロゴコンテストの提出状況(イメージ) インドネシア 日本 ※中国、台湾、ドイツ、オーストラリア等からも提案が来ています アジアの中心は インドネシアだった?
  49. 49. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 49/50 発表概要の英語書き手伝います! ● openSUSE Leap 42.3 Release Party Kyoto & もくもく会 – 明日!13時〜 ● もう少し早い時間からいます… – 河原町五条: MTRL Kyoto – https://opensuseja.connpass.com/event/62902/
  50. 50. 2017/7/14, 8/5サーバーだけじゃない!Linux デスクトップを使い倒そう その3 50/50 openSUSE.Asia Summit 2017 Tokyo 発表者 ロゴ スポンサー 実行委員 募集中 ● 学生ボランティアも募集予定 – 旅費補助します ● みなさん、ぜひ来て下さい! 詳細は: http://blog.geeko.jp お問い合わせ先: 日本 openSUSE ユーザ会 8/14 締め切り!

×