Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Ryuichi Ueda
PPTX, PDF
7,387 views
20150201 シェル芸勉強会LT GlueLangについて(シェル書いてますが何か?)
GlueLangの説明。パブリックなスライドは初めて。
Technology
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 19
2
/ 19
3
/ 19
4
/ 19
5
/ 19
6
/ 19
7
/ 19
8
/ 19
9
/ 19
10
/ 19
11
/ 19
12
/ 19
13
/ 19
14
/ 19
15
/ 19
16
/ 19
17
/ 19
18
/ 19
19
/ 19
More Related Content
PDF
qmake入門
by
hermit4 Ishida
PPTX
中年以降エンジニアの成長戦略
by
Ryo Tomidokoro
PPTX
AWS活用のいままでとこれから -東急ハンズの事例-
by
Taiji INOUE
PDF
POSIX中心主義と情報科学教育
by
Tomoyuki Matsuura
PPTX
イベント・ソーシングを知る
by
Shuhei Fujita
PPTX
20150227 オープンソースカンファレンス Tokyo 2015 Spring
by
Ryuichi Ueda
ODP
Jubeatプレゼン
by
latte0
PPTX
S3をDB利用 ショッピングセンター向けポイントシステム概要
by
一成 田部井
qmake入門
by
hermit4 Ishida
中年以降エンジニアの成長戦略
by
Ryo Tomidokoro
AWS活用のいままでとこれから -東急ハンズの事例-
by
Taiji INOUE
POSIX中心主義と情報科学教育
by
Tomoyuki Matsuura
イベント・ソーシングを知る
by
Shuhei Fujita
20150227 オープンソースカンファレンス Tokyo 2015 Spring
by
Ryuichi Ueda
Jubeatプレゼン
by
latte0
S3をDB利用 ショッピングセンター向けポイントシステム概要
by
一成 田部井
Viewers also liked
PDF
シェル芸初心者によるシェル芸入門
by
icchy
PDF
恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
by
Richie Shellshoccar
PDF
本日の怪物曲線 2016/6/18
by
Hexomino Hexomino
PDF
Elasticsearchと機械学習を実際に連携させる
by
nobu_k
PDF
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
by
Amazon Web Services Japan
PDF
AWS Black Belt Tech シリーズ 2015 - Amazon Kinesis
by
Amazon Web Services Japan
PDF
最近のDQN
by
mooopan
PDF
AAをつくろう!
by
Takami Sato
PDF
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
by
hecomi
PPTX
20150418 第16回シェル芸勉強会スライド
by
Ryuichi Ueda
PDF
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
by
Amazon Web Services Japan
PDF
jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)
by
Ryuichi Ueda
PDF
2014/08/02 第12回シェル芸勉強会イントロ
by
Ryuichi Ueda
PDF
20141213 第14回シェル芸勉強会イントロ
by
Ryuichi Ueda
PDF
機械学習を利用したちょっとリッチな検索
by
nobu_k
シェル芸初心者によるシェル芸入門
by
icchy
恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
by
Richie Shellshoccar
本日の怪物曲線 2016/6/18
by
Hexomino Hexomino
Elasticsearchと機械学習を実際に連携させる
by
nobu_k
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
by
Amazon Web Services Japan
AWS Black Belt Tech シリーズ 2015 - Amazon Kinesis
by
Amazon Web Services Japan
最近のDQN
by
mooopan
AAをつくろう!
by
Takami Sato
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
by
hecomi
20150418 第16回シェル芸勉強会スライド
by
Ryuichi Ueda
AWS Black Belt Tech シリーズ 2015 - Amazon Redshift
by
Amazon Web Services Japan
jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)
by
Ryuichi Ueda
2014/08/02 第12回シェル芸勉強会イントロ
by
Ryuichi Ueda
20141213 第14回シェル芸勉強会イントロ
by
Ryuichi Ueda
機械学習を利用したちょっとリッチな検索
by
nobu_k
Similar to 20150201 シェル芸勉強会LT GlueLangについて(シェル書いてますが何か?)
PDF
シェル芸初心者によるシェル芸入門 (修正版)
by
icchy
PDF
初心者向けシェル芸勉強会
by
Katsuya Tashiro
PDF
入門 シェル実装
by
Yusuke Sangenya
PDF
One - Common Lispでもワンライナーしたい
by
t-sin
PPTX
シェル・ワンライナー160本ノック
by
Ryuichi Ueda
ODP
楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会
by
University of Tsukuba Linux User Group
PPTX
難読化シェル芸
by
xztaityozx
PPTX
シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」
by
博文 斉藤
PDF
awk v.s. bashどっちが強い?@OSC2011Tokyo
by
Ryuichi Ueda
PDF
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
by
Kei IWASAKI
PDF
20131102 第7回シェル芸勉強会
by
Ryuichi Ueda
PDF
20171223 シェル芸勉強会in大都会
by
kunst1080
PDF
20130622第5回シェル芸勉強会スライド
by
Ryuichi Ueda
PDF
20130216 シェル芸爆破デスマッチ勉強会
by
Ryuichi Ueda
PDF
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
by
Ryuichi Ueda
PDF
20131222 第8回シェル芸勉強会スライド
by
Ryuichi Ueda
PDF
「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara online
by
Hisatoshi Onishi
PDF
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸
by
kunst1080
PPTX
Lt 001
by
榎本 優樹
PDF
Oneliner
by
NNCT programming study group
シェル芸初心者によるシェル芸入門 (修正版)
by
icchy
初心者向けシェル芸勉強会
by
Katsuya Tashiro
入門 シェル実装
by
Yusuke Sangenya
One - Common Lispでもワンライナーしたい
by
t-sin
シェル・ワンライナー160本ノック
by
Ryuichi Ueda
楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会
by
University of Tsukuba Linux User Group
難読化シェル芸
by
xztaityozx
シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」
by
博文 斉藤
awk v.s. bashどっちが強い?@OSC2011Tokyo
by
Ryuichi Ueda
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
by
Kei IWASAKI
20131102 第7回シェル芸勉強会
by
Ryuichi Ueda
20171223 シェル芸勉強会in大都会
by
kunst1080
20130622第5回シェル芸勉強会スライド
by
Ryuichi Ueda
20130216 シェル芸爆破デスマッチ勉強会
by
Ryuichi Ueda
20130824 第六回チャンピオンシップシェル芸ランナー勉強会 in LLまつり
by
Ryuichi Ueda
20131222 第8回シェル芸勉強会スライド
by
Ryuichi Ueda
「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara online
by
Hisatoshi Onishi
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸
by
kunst1080
Lt 001
by
榎本 優樹
Oneliner
by
NNCT programming study group
More from Ryuichi Ueda
PPTX
第34回シェル芸勉強会
by
Ryuichi Ueda
PPTX
第45回シェル芸勉強会オープニングスライド
by
Ryuichi Ueda
PPTX
ROSチュートリアル ROBOMECH2018
by
Ryuichi Ueda
PPTX
日本ロボット学会第139回ロボット工学セミナー
by
Ryuichi Ueda
PPTX
移動ロボットのナビゲーション
by
Ryuichi Ueda
PPTX
bash(の変な使い方)update
by
Ryuichi Ueda
PPTX
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
by
Ryuichi Ueda
PPTX
シェル芸勉強会にみる、コミュニティを通じたIT学習
by
Ryuichi Ueda
PPTX
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
by
Ryuichi Ueda
PPTX
Robot frontier lesson3 2018
by
Ryuichi Ueda
PPTX
第27回ロボティクスシンポジアスライド
by
Ryuichi Ueda
PPTX
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
by
Ryuichi Ueda
PDF
poster of PFoE used in ICRA 2018
by
Ryuichi Ueda
PPTX
第37回シェル芸勉強会イントロ
by
Ryuichi Ueda
PPTX
Robot frontier lesson2 2018
by
Ryuichi Ueda
PPTX
第41回シェル芸勉強会 午後オープニング
by
Ryuichi Ueda
PPTX
シェル芸勉強会と会場の話
by
Ryuichi Ueda
PPTX
Robot frontier lesson1 2018
by
Ryuichi Ueda
PDF
20181113_子ども夢ロボット&トーク
by
Ryuichi Ueda
PPTX
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
by
Ryuichi Ueda
第34回シェル芸勉強会
by
Ryuichi Ueda
第45回シェル芸勉強会オープニングスライド
by
Ryuichi Ueda
ROSチュートリアル ROBOMECH2018
by
Ryuichi Ueda
日本ロボット学会第139回ロボット工学セミナー
by
Ryuichi Ueda
移動ロボットのナビゲーション
by
Ryuichi Ueda
bash(の変な使い方)update
by
Ryuichi Ueda
2017年10月18日 シェル芸勉強会 meets バイオインフォマティクス vol.1 スライド
by
Ryuichi Ueda
シェル芸勉強会にみる、コミュニティを通じたIT学習
by
Ryuichi Ueda
第32回信号処理シンポジウム「Raspberry PiとROSを使ったロボットシステム」
by
Ryuichi Ueda
Robot frontier lesson3 2018
by
Ryuichi Ueda
第27回ロボティクスシンポジアスライド
by
Ryuichi Ueda
PythonとJupyter Notebookを利用した教科書「詳解確率ロボティクス」の企画と執筆
by
Ryuichi Ueda
poster of PFoE used in ICRA 2018
by
Ryuichi Ueda
第37回シェル芸勉強会イントロ
by
Ryuichi Ueda
Robot frontier lesson2 2018
by
Ryuichi Ueda
第41回シェル芸勉強会 午後オープニング
by
Ryuichi Ueda
シェル芸勉強会と会場の話
by
Ryuichi Ueda
Robot frontier lesson1 2018
by
Ryuichi Ueda
20181113_子ども夢ロボット&トーク
by
Ryuichi Ueda
Searching Behavior of a Simple Manipulator only with Sense of Touch Generated...
by
Ryuichi Ueda
20150201 シェル芸勉強会LT GlueLangについて(シェル書いてますが何か?)
1.
GlueLangについて (シェル書いてますが何か?) USP友の会/AIIT 上田隆一
2.
Twitterでよく見かける風景 • シェルスクリプトをシェルと言うやつは技術力が低いと 何の根拠もなく断定する人 • 課題で「シェルを書け」と言われて困惑する学生 •
シェルスクリプトをシェルと言う人にイライラする人 – シェルスクリプトをシェルと言う人にイライラする人にイライラする人 • シェルスクリプトをシェルと言う人にイライラする人にイライラする人にイラ イラ(以下略) • 単にイライラしている人(ホルモンバランス) • イライラ棒(関係ない) • イラン・イラク戦争(1980年。全く関係ない) Feb. 1, 2015 第15回シェル芸勉強会 2
3.
提案 • イライラしても他人の発言は変えられない (そしてわりとどうでもいい) • しかしイライラは少ないほうがよい •
みんながシェルを書けば、シェルとシェルスクリプト は自ずと区別されるのではないか? – まずは自分が Feb. 1, 2015 第15回シェル芸勉強会 3
4.
というモチベーションで作られている(嘘) GlueLang • の使い方の話を今日はさせていただきたく。 • Glue:
Good enough Language for Unix Environment (後付け) – 「Unix環境用のまあまあ使える言語」 – 言語というよりはシェルだけど Feb. 1, 2015 第15回シェル芸勉強会 4
5.
なんでこんなものを作っているのか • 身近な人はご存知だと思うが・・・ 実はシェルスクリプトが好きではない(つまり私怨) • なぜ好きではないか –
変数を使い出すと混乱 • 私の主張: 「データ処理のときはパイプラインを使いましょう」 – しかし現場では変数を使わざるを得ない • 「システム管理なのでコマンドの利用を控えたい」 • これも理解できる Feb. 1, 2015 第15回シェル芸勉強会 5
6.
– コードが古い • bash:
未だにK&R • dash: C言語雑技団 • 読むのが大変 • 去年のような事件が再度起こる原因かもしれない – UIとしての機能とスクリプト言語としての機能の衝突 • UI: 早く打ち込めるように • スクリプト言語: きれいに書けるように Feb. 1, 2015 第15回シェル芸勉強会 6
7.
しかしながら • シェルの役割は「普通」の言語には無理 • シェル
= コマンドの糊 – 「グルー言語」を標榜する高級言語はいろいろあるが、 ライブラリレベルでくっつけている(それはそれでよい) – シェルはプロセスレベルのグルーで、さらに高級であるが、 なぜかガテン系ツールのような扱い • おそらくモダンでないので Feb. 1, 2015 第15回シェル芸勉強会 7
8.
ということで • コードをかっこ良く書ける新たなシェル言語を模索中 – https://github.com/ryuichiueda/GlueLang Feb.
1, 2015 第15回シェル芸勉強会 8
9.
能書きは後。まずはコンパイル • 環境 – C++11のコンパイラ(clang、gcc)があるUnix環境 –
テスト環境 • Macの新しいやつ • Ubuntu 14.04 • ダウンロード – $ git clone https://github.com/ryuichiueda/GlueLang – $ cd GlueLang – $ make – (/usr/local/binにぶち込んでよい人はmake install) Feb. 1, 2015 第15回シェル芸勉強会 9
10.
動作確認 • 次のように「/bin/ls」とだけ書いたファイルを準備 • glueコマンドに食わせてlsが起動すればOK Feb.
1, 2015 第15回シェル芸勉強会 10 $ cat ls.glue /bin/ls $ ./glue ls.glue Arg.cc Condition.h IfBlock.o Pipeline.o VarString.o ...
11.
コードの例1 • とにかく何かあったら 止める • エラー通知も丁寧に –
どこで止まったか – どのプロセスで止まったか Feb. 1, 2015 第15回シェル芸勉強会 11 import PATH seq 1 10 >>= gre 5 >>= sed 's/5/hoge/g' uedambp:GlueLang ueda$ ./glue hoge.glue Parse error at line 3, char 14 line3: seq 1 10 >>= gre 5 >>= sed 's/5/hoge/g' ^ Command gre not exist process_level 0 exit_status 1 pid 23738
12.
コードの例2 • 処理の単位はファイル入出力 – 一番大切なファイル(中間ファイル)が左側に来るように –
一つのスクリプトは適切にインデントすると 中間ファイルの羅列になる – (中間ファイルは勝手に消えます。まだバグあるけど。) Feb. 1, 2015 第15回シェル芸勉強会 12 import PATH file o_file = ls >>= grep '.o' file h_file = ls >>= grep '.h' cat o_file h_file
13.
コードの例3 • 1回だけ使う中間ファイルはwhereの中に閉じ込める • これよりは見やすい(主観だけど) (ちなみにdiffの前の「?」は終了ステータスが0じゃなくても続行するために書いてある) Feb.
1, 2015 第15回シェル芸勉強会 13 import PATH ? diff a b where file a = seq 1 10 file b = seq 1 11 seq 1 10 > a seq 1 11 > b diff a b
14.
実装の方針 • C++ – オブジェクト指向でSTLを使って書いている •
オブジェクト指向は絶対に死にません(笑) • コードをきれいに(今ちょっときたないが・・・) – ただしgetやsetメソッドは極力控える – 標準ライブラリだけで。マクロを使わないように。 • パフォーマンスはプロセス制御のレベルに合わせる – forkの数を抑えるのはシェルの役目ではない。Cで書け – 当然、特定の局面ではパフォーマンスは劣る Feb. 1, 2015 第15回シェル芸勉強会 14
15.
まだ実装していないもの(一部) • ヒアドキュメント・ヒアストリング – ちょっとしたデータファイルやawkのコードを書けるようにしたい。 次の作業 •
ワイルドカード – 便利だが汚いので慎重になっている • ネイティブな計算処理 – awkとsedに丸投げでいいんでないかという噂も – 文字列の足し算と部分文字列くらいは実装したい • forやwhile – 必要かなあ? Feb. 1, 2015 第15回シェル芸勉強会 15
16.
実装が怪しいもの(助けて!) • シグナル処理 – よく分かってない •
文字列をバインドするときの処理 – 名前付きパイプを使ってしまった • その他いろいろ – エラー処理の見落とし等 Feb. 1, 2015 第15回シェル芸勉強会 16 import PATH str a = seq 1 10 >>= grep 5 echo a コマンドの出力が 名前付きパイプを通って str aにバインドされる (どう考えても冗長だし 外から突かれる)
17.
普及までの遠い道のり • ドキュメント – マニュアル、チュートリアル、きれいなウェブサイト •
信頼性 – 非同期な部分のテスト • パッケージシステム+その周辺 – 単なるコマンドのコレクションなので他の言語より簡単だが・・・ • 作者の改良 – ほどほどに社交的になってきたがまだ内向的 Feb. 1, 2015 第15回シェル芸勉強会 17
18.
現時点でのコントリビュータ • @ryo1kato氏 – 最初のプルリク •
Yoshihiro Tanaka氏 – vim用シンタックスハイライター作成 – https://github.com/CORDEA/vim-glue • @bsdhack氏 – シグナル処理等の相談役 Feb. 1, 2015 第15回シェル芸勉強会 18
19.
ということで • ご協力を。 – どんな作業があるのか私から聞き出してくれるだけでも ありがたく –
GitHubで(英語) – USP友の会GlueLang部会 • https://www.facebook.com/groups/780590598679602/ Feb. 1, 2015 第15回シェル芸勉強会 19
Download