Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

密着!わたしのコンソールアプリ開発環境

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Prochain SlideShare
QtでHello, World!!
QtでHello, World!!
Chargement dans…3
×

Consultez-les par la suite

1 sur 69 Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à 密着!わたしのコンソールアプリ開発環境 (20)

Publicité

Plus par Fumihito Yokoyama (20)

密着!わたしのコンソールアプリ開発環境

  1. 1. 着 ! 密 わたしの コンソールアプリ開発環境 momo_*(@tututen)
  2. 2. 私? • 北見在住の某社に務める会社員 • 文字列処理をC言語でやらせるとか • パネポンやろうよ、パネポン • お仕事でC言語、趣味ではC#とPython • Ohotechのスタッフ
  3. 3. 私? • 北見在住の某社に務める会社員 • 文字列処理をC言語でやらせるとか • パネポンやろうよ、パネポン • お仕事でC言語、趣味ではC#とPython • Ohotechのスタッフ
  4. 4. 投稿動画のタグ
  5. 5. これを見た人の反応例
  6. 6. 私? • 北見在住の某社に務める会社員 • 文字列処理をC言語でやらせるとか • パネポンやろうよ、パネポン • お仕事でC言語、趣味ではC#とPython • Ohotechのスタッフ
  7. 7. Ohotechとは • 道東圏内で勉強会を行ってる集団 • 前回、@jsakamotoさんに来て頂きまし た • 次回、2月か3月ごろに@koiwaさんを 呼んでお話してもらおうと画策中
  8. 8. 一度来てください m(_ _)m
  9. 9. 今回のお話 • 導入 • お仕事の基本的な環境 • 趣味の基本的な環境 • 実演
  10. 10. 趣旨
  11. 11. 趣旨 No マウス! No タッチパネル!
  12. 12. 趣旨 No マウス! No タッチパネル! できるだけ…
  13. 13. 導入
  14. 14. 導入 • 主にLinuxが今日の主役!(CentOS) • Windows、Macは「クライアント」 • 最近Ubuntuさんが頑張りすぎてて 非力PCじゃ辛い(※個人の意見です) •  
  15. 15. 導入 • 主にLinuxが今日の主役!(CentOS) • Windows、Macは「クライアント」 • 最近Ubuntuさんが頑張りすぎてて 非力PCじゃ辛い(※個人の意見です) • とか言っちゃうと色んな「Ubuntu」さ んを勧められちゃいます
  16. 16. 主にこんなの
  17. 17. わたしの思想(思い込み) • Linuxって CUIにこそ価値が あるよね!
  18. 18. (私的)CUIの魅力 • CPUもメモリも非力で結構出来る • マウスを持たなくても良い • 案外できることが多い (タスク確認、定時実行、TL確認etc)
  19. 19. (私的)CUIの欠点 • 調べ物が大変 (テキストブラウジング未習得…) • 膨大な出力処理を行うと…
  20. 20. それを補うクライアント • 何も「一つ」の武器に拘るはない • Linuxには「SSH」で入れば良い • GUIとCUIのいいとこ取り • (最初に言った趣旨とは・・・)
  21. 21. SSH? • Secure Shell(セキュアシェル、 SSH)は、暗号や認証の技術を利用し て、安全にリモートコンピュータと通信 するためのプロトコル。パスワードなど の認証部分を含むすべてのネットワーク 上の通信が暗号化される。
  22. 22. つまり? •安全に遠隔操作できるよ! • でも、「iesys.exe」じゃないよ!
  23. 23. 遠隔操作の利点 • PCの環境構築が1度だけ • クライアントの環境を汚さない • ネットワークの設定次第じゃ場所も問わ ない
  24. 24. お仕事のお話 • 主にC言語を用いて、監視アプリ作成 • 監視:Ping応答、Snmp(Get・Trap) • 主にオフラインの環境下で動作するネッ トワークアプリケーションの開発
  25. 25. 開発手法 テスト環境 クライアント 開発PC テスト環境 テスト環境
  26. 26. クライアント クライアント • OS Windows 7 Pro 32bit • メモリ 4GB • 使用ソフト mintty(ターミナルソフト
  27. 27. 開発PC • OS Cent OS 5 開発PC • メモリ 2 GB • 使用ソフト zsh vim fabric screen Mercurial etc
  28. 28. テスト環境 • OS Cent OS 5 テスト環境 • メモリ 1 GB • 使用ソフト bash vi make gcc 4.1.2
  29. 29. Sapporo.cppさんに質問 gccの最新バージョンって 今おいくつ?
  30. 30. Sapporo.cppさんに質問 gccの最新バージョンって 今おいくつ? http://gcc.gnu.org/
  31. 31. バージョン古いと? • 修正済みの地雷を踏む可能性 • 便利な機能・関数を使うことができない • 動作速度が遅い
  32. 32. お仕事のお話 • 主にC言語を用いて、監視アプリ作成 • 監視:Ping応答、Snmp(Get・Trap) • 主にオフラインでのネットワーク構築
  33. 33. 所々の理由により 新しいのは使えません!
  34. 34. 開発手法 テスト環境 クライアント 開発PC テスト環境 テスト環境 SSH接続
  35. 35. 開発手法 テスト環境 クライアント 開発PC テスト環境 SSH+SCP テスト環境 接続
  36. 36. デプロイ手順 開発PC テスト環境 ソースファイル転送 転送先でのコンパイル
  37. 37. デプロイ手順 開発PC テスト環境 ソースファイル転送 $ make clean $ scp ./* TestEnv1: /src/[AppName]/
  38. 38. デプロイ手順 開発PC テスト環境 転送先でコンパイル dev:$ ssh TestEnv1 TE1:$ cd /src/[AppName] TE1:$ make clean TE1:$ make
  39. 39. 1個だからまだいい!
  40. 40. デプロイ手順 開発PC ・・・ ドヤァ! テスト環境 s
  41. 41. 増えるテスト環境 • テスト環境の数だけコマンドを叩く • VMのコピーなのでホスト名が連番管理 • 修正作業<反映作業 • 抜けが出るとテスター同士で混乱が
  42. 42. それを解消するのが!
  43. 43. Fabric
  44. 44. Fabric • リモートPCにて任意のコマンドを実行 したり、簡単にファイルを転送できたり する • 予め実行するリモートPC sを登録して おくとそいつら全てに同じ実行を行なっ てくれる
  45. 45. つまり!
  46. 46. デプロイ手順 開発PC fabric! ギャー テスト環境 s
  47. 47. 複数台のデプロイも 簡単・安心 アンコールワットね!
  48. 48. Fabric • pythonで動作、pipで簡単インストール • RubyだとCapistranoがあるらしい
  49. 49. 実演1 • 簡単なC言語をCentOS6と Ubuntu12.04Serverに /demo以下に src/をデプロイする • デプロイ後動作を確認する • Fabric使用しない場合と使用する場合で 比較する
  50. 50. 趣味の開発環境 • 主に作業拠点はさくらVPS1Gプラン • HTML、JavaScriptは ドット・インストールをかじった程度 • OhotechのBot • IRCのGateway(Tiarra)の稼働 • IRCBOTの作成
  51. 51. 開発構成 クライアント さくらVPS
  52. 52. クライアント クライアント • OS 何でも • メモリ SSH+OSが制御で きる程度 • 使用ソフト mintty(ターミナルソフト
  53. 53. さくらVPS • OS CentOS 6(でふぉ) さくらVPS • メモリ 1G • 運用費 980円/月 • 使用ソフト screen vim etc
  54. 54. さくらVPS • 月980円∼から借りれるVPS • 開発環境をネットにおけるのが素敵 • そのかわりセキュリティががっちりと • ルートがあるのでWebサーバからVPN の大元まで • その分侵入されるのも自己責任
  55. 55. 趣味の開発環境 • screen • vim • python • cron • apache
  56. 56. 趣味の開発環境 • screen → 多重端末ソフトウェア • vim → 宗k(ry エディタ • python → 言語、2系 • cron → 定時実行 • apache → Webサーバ
  57. 57. screen • 1端末の画面で複数のターミナルがある ような振る舞いができる • 画面分割表示ができる • 作業途中を保存できる
  58. 58. vim • 知る人ぞ知るエディタ(悪名も?) • 小指が痛くなる某エディタじゃない方 • 設定ファイルの長さで戦闘力が決まる • 実はあんまり長くないにわか
  59. 59. python • どのLinuxにも最近標準搭載のスクリプ ト言語 • 先ほどのfabricもpython製 • 面倒なことから単純なことまでこの子に 頼ることが多い
  60. 60. cron • 毎月毎週毎日毎時毎分毎秒に実行したい 処理を登録しておくことができる • OhotechのTwitterBotはこいつを利用 して定期的に発言している • 定期的に実行するし、実行の成否がログ を見ればわかる
  61. 61. apache • よくhttp:// でアクセスしたら見えるよ うにするための物 • 主に、自分の便利ツールをネットに公開 するために使用 • 主な制作物:  RO経験値計算機  部室解錠施錠通知ページ
  62. 62. 実演2
  63. 63. おわりに • 本当は作成話をやりたかった • 次回構築話とか聞きたいですか? • 使った画像の一部 http://www47.tok2.com/home/anriyugo/clip_art/ pc_peripheral_accessories/ats00000.htm
  64. 64. 対戦しましょ?
  65. 65. 対戦しましょ? ご静聴 ありがとう ございました Presented By momo_*(@tututen)

×