Your SlideShare is downloading. ×
0
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Windows改造計画
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Windows改造計画

1,084

Published on

不自由な窓の檻を抜け電子の大海に飛び込む方法

不自由な窓の檻を抜け電子の大海に飛び込む方法

Published in: Engineering
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,084
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Windows改造計画 不自由な窓の檻を抜け自由なる電子の海へ飛び立つ方法 2015/05/18 KMC ID: astatine
  • 2. 自己紹介  戸籍名: 荒井 隆志 (Arai Takashi)  KMC ID: astatine (原子番号85の元素At)  言語 : C++,Python,gnuplot,…  活動 :  Pythonでツールを作る  Webからデータを落とす, etc…  位置天文観測衛星Nano-JASMINEの 観測データ解析方法の研究  詳しくはJASMINE計画で検索すべし  好物 :  パズル,ボードゲーム,世界樹の迷宮, etc… このNano-JASMINEは京大と東大の研究室によって作られた、世界で2番目の位置天文観測のはず Nano-JASMINE
  • 3. 最近の出来事  3年間使っていたノートPCを修理に出した  電源コネクタの接触不良  見積もりの結果、液晶とマザーボードを交換  一体どこが残っているのか  新しいノートPC(Windows8.1)を買った  環境設定  Python,C++の開発環境  便利ツール  前の設定の移行以外にも色々試行  今回の講座でその知見を広めてみよう 色々試したら一月経っていた
  • 4. 今回の講座の目的  今回対象とする開発環境の説明をする  ついでにWindowsが抱える問題点の紹介をする  Windowsに開発環境を入れる  Linuxコマンド  C/C++, Python開発環境  gcc, g++, clang, python3, etc…  その他ライブラリ  boost, etc… 文字多めなのは許して下さい
  • 5. Linuxコマンド: Linuxとは パソコンのOSは3種類に分けられる Windows OSX Linux •Microsoft •一番普及している •GUI •Programing? •Apple •GUI •Programingも… •Free •サーバー等 •CUI •Programing!!! 特徴 •ゲーム機 •VisualStudio だけが存在意義 •IE死ね •修理に金がかかる •大学から貸りたら これだった •スタバドヤ顔用 •KMCのサーバー •Windowsを捨てて 辿り着いた地 •Rootのおもちゃ KMC的特徴 •†闇† •†闇† •†闇† 闇に飲まれよ!
  • 6. Linuxコマンド: Linuxコマンド ファイル情報を見る di r ls ls ファイル名を変更する rename mv mv ファイルを移動する move mv mv 各OSの端末への命令(コマンド)の違い Linux, OSXはコマンドが共通 Windowsだけコマンドが違う そもそもwindowsのコマンドは便利そうなものが無いからよく知らない(フラグ)
  • 7. C/C++  C(1972~)/C++ (1983~)  実際早い  現在でも最速であり速度の基準  実際ヤバイ  ポインタという劇薬  人が多く、良いコードと悪いコードの差が凄い  C++はもっとヤバイ  Templateという魔境, C++という名のCのコード  学習コスト,時間を贄にして大いなる力を得られる黒魔術  コード設計, メモリ管理, ビルド方法, …  Linux, OSXは開発環境がデフォルトで入っている  Windowsには入っていない C++は容量用法を守って服用しましょう
  • 8. Python  Python(1991~)  オブジェクト指向スクリプト言語  読みやすいコードが書けるようになる  プログラミング初心者でも大丈夫  Linux, OSXは開発環(ry KMCに入部した日にPythonを勧められて、 その日の内に素数列・フィボナッチ数列の プログラムを作れるようになりました。 一ヶ月後には2048のAIを作成し、 部内のコンテストに参加しました。 KMC2回生の声 その数時間で,関数の作成の仕方, ファイル入出力, importによるコード分割方法も仕込まれた模様
  • 9. コマンドプロンプト cmd.exe  Windowsの端末 諸悪の根源  文字コード  cp932(SJIS)で固定  フォント  基本的に固定(レジストリを弄れば追加可能)  背景が黒一色  変更可能だが単色  入力補完されない  環境変数設定  コントロールパネル->システム->システムの詳細設定  面倒 git logの表示が乱れたり, SJISのせいで例外処理したprintが必要になったり……
  • 10. cmdの醜悪なる姿 デフォルト カスタマイズ後 レジストリ弄ってフォントをOsakaにして,背景を白色に文字を黒にした
  • 11. WindowsにLinuxコマンドを入れる  msys2を入れる  MSYS2 installer  https://msys2.github.io/  msys (Minimal SYStem)  Unix-Likeなshell環境を構成するためのコマンド群 ls, mv, rm, etc…  端末 mintty が付属する  MinGW(Minimal GNU for Windows) を補うための付属品  msys2になって大幅に強化された ……に過ぎなかった msysの時点では 以前のmsysはコマンド群くらいの価値しかなかった
  • 12. msys2の主な変更点  パッケージ管理システム  pacman  ArchLinuxの PacageManager  pacman --version  ディレクトリ構成  Unix-Like C:/msys /usr /bin /lib /include … /home /mingw32 /mingw64 /dev /tmp … インストール先 ここにPATHを通すと mintty ls等が使用可 環境変数HOME をここに設定しよう HOME=C:msyshomeAstaine pacmanとパックマンは無関係である。いいね?
  • 13. pacmanの使い方  インストール  pacman -S hogehoge  検索  pacman -Sl | grep hogehoge  Update  pacman -Syu  削除  pacman -R hogehoge  パッケージ情報を見る  pacman -Si hogehoge あとはpacman --helpで調べよう
  • 14. mintty  Path関係  C:msysがルートディレクトリとして扱われる  Unix-Like!!!!  cd /c/, cd /d/でCドライブ,Dドライブに移動できる  cmdでは cd /D D: とする必要があった  文字コード,フォントが自由  背景を透過させることができる  入力補完が利く  設定が幅広く簡単  .bashrc .minttyrcで簡単に設定を追加変更できる  aliasも可能 msys2になって色がつくようになったり色々強化されている
  • 15. C/C++開発環境を入れる  MinGW-w64のページヘ飛ぶ  http://mingw-w64.yaxm.org/doku.php  Downloadsからinstallerを入手  Mingw-buillds  installer内でgccのversion等を選択する  version 4.9.2, X86_64 or i686, posix or win32, …  適当なinstall先を設定する  デフォルトでは C:mingw  そこにPATH(環境変数)を通す  msys2ならこんな面倒なことをしなくても… MinGWはver4.8.1で止まってしまった
  • 16. C/C++開発環境を整える by msys2  pacman -Sl | grep gcc で検索  mingw32 mingw32-w64-i686-gcc <-32bits版  mingw64 mingw64-w64-x86_64-gcc <-64bits版  msys gcc <-上の2つの方が充実しているため非推奨 以降mingw32, mingw64の双方をmingwXXと呼称する  pacman -S mingw-w64-XX-gcc でインストール  Pathを通す /mingwXX/bin  Windowsのシステムの環境設定で変更しても  ~/.bashrc内で設定しても良い  export PATH=/mingwXX/bin:${PATH}  MinGWはmsys2の付属物なのでこの方が自然 もうPathで悩まずに済む
  • 17. C/C++開発環境を整える msys2の利点  パッケージ管理とディレクトリ構成の恩恵  ライブラリのインストールが容易  pacmanに含まれるライブラリ  boost (最強)  Eigen3 (行列演算)  OpenCV(画像解析)等  これらがpacman –S hogehoge とするだけで includeやlibに配置される  そうでないと自分でダウンロード,ビルドして, CPLUS_INCLUDE_PATH,LIBRARY_PATH等の 環境変数を弄るひつようがある  バージョンアップが容易 -I や-L で指定していたのが馬鹿らしくなる
  • 18. Python開発環境を整える  Pythonの公式ページに行く  https://www.python.org/  version 3.4と2.7から選択  Python3.4 メイン  Python2.7 ライブラリ等の問題で渋々使う用  適当な場所を選んでインストールする  後で変更するとScriptの実行時に問題が発生(対応可)  PATHを通す  C:python34;C:python34Scripts;C:python27;C:python27Scripts  py.exeで切り替えて起動できる  py -X.Y でpythonX.Yを起動  環境変数 PY_PYTHON でデフォルトを指定できる  msys2ならこんな面倒なことをしなくても… Win+r「ファイル名を指定して実行」で起動するPythonのversionを指定する方法は不明
  • 19. Python開発環境を整える by msys2  pacman -Sl | grep python  mingwXX mingw-XX-python2  mingwXX mingw-XX-python3  msys python <-(3.x)  msys python2  pacman -S ~~ でinstall  mingwXXの方が充実しているのでmsysの方は推奨しない  しかし幾つか問題が存在する 完 Windowsの闇は深い
  • 20. Python開発環境を整える msys2の問題  mintty は対話形式での実行に問題がある  入力カーソルがどっか行ってしまう  公式が対応しないことを名言している(要出典)  解決策  わざわざコマンドプロンプト(cmd.exe)を使う… うぅ…  winptyを使う >pacman –S winpty >winpty python3 ~/.bashrc内に alias python='winpty python3' 毎回winptyを付けずに済んで楽 Python3.xがデフォルトになって良い それでも完全には解決しない… cmdの闇は深い 以前のmsysには対処法が存在しなかった
  • 21. Python開発環境を整える msys2の問題  ビルド元の違い  Python(Windows): VisualStudio2010でビルド  Python(MSYS) : gccでビルド  拡張ライブラリの問題  高速化のためにPython以外の言語で書かれたライブラリ  元のPythonと同じものでビルドされている必要  以前はそのためだけにVisualStudio2010を入れていた  windows用にgccでビルドされたバイナリは捜索困難  ソースコードから自前でビルドしなければならない  VisualStudioでビルドされたものはwhrで存在する  有名なライブラリはpacmanでなんとかなるが……  lxml, numpy, scipy, matplotlib, etc… Mecabを入れようとしたら入らなかった
  • 22. Python開発環境を整える msys2の問題  文字コードの違い  msysのPythonは標準入出力の文字コードがcp932  mintty(ls等)の文字コードはutf-8  pythonの表示文字列が文字化け  環境変数設定で対応可能(PYTHONIOENCODING=utf8)  winpty越しの起動でも対応可能  コマンドライン引数で問題  winpty python3 hoge.py -s ほげほげ <- Error  対応策  端末の文字コードを切り替える  export LANG=ja_JP.SJIS  cmdをmintty上で起動する  $ winpty cmd  > python3 hoge.py -s ほげほげ 両立不可 嗚呼!やはりSJISからは逃げられない
  • 23. msys2の利点: パッケージ  pacmanで入手できる他のパッケージ  エディタ  nano, vim, emacs  プログラミング関係  make, mingw32-make, cmake, clang, git, doxygen, etc…  コマンド  openssh, tmux, wget, man, witch, diff, etc…  他言語  ruby, perl, rust vim vs emacs on windows
  • 24. msys2の便利コマンド  start  ダブルクリックで起動したようになる  例  start .  現在のディレクトリを開く  start cmd  コマンドプロンプトが新たに開く  この方法で開くとlsとかが文字化けしない(要検証)  start ~~.mp4 or ~~.mp3  動画/音楽の再生が可能  これを使えばexplorerを開かなくてもよい  元々はcmdの内蔵コマンド  cmd上でhelp startを入力すれば詳細が見れる 今まで知らなかった。
  • 25. msys2に祝福されたWindowsの姿 lsに色つけたり, tmux入れたり, 色設定変更したり, syntax onしたり
  • 26. まとめ  msys2でLinuxのような開発環境を整えられる  C/C++に対しては文句なし  他の言語は要検証  Pythonは一長一短  CUIとGUIが合わさり最強に見える  もはやWindowsの原型が残っていない  フォント等にも手を加えると良い  Ricty + gdipp(0.9.1)  msys2を使いこなせればもうLinuxでも大丈夫なはず  段々とCUIに慣れて行こう  msys2の今後に期待 だがWindowsはWindows

×