「シェルスクリプト」を含む日記 RSS

はてなキーワード: シェルスクリプトとは

2016-07-18

Vimフィルタコマンドで使うUNIXコマンド

http://vim-jp.org/vimdoc-ja/change.html#filter

Vimにはフィルタコマンドといって、テキスト任意UNIXコマンドで処理するExコマンドが用意されている。

用意されていて、実際強力なんだけど、Vim組み込み機能で間に合うことも多くて、下記以外はあまり使っていない気がする。

以前はVim正規表現に慣れないからとPerlを使ってたりもしたけれど、Vim正規表現も悪くないかなとなって。こう。

何かおすすめUNIXコマンドがあったら教えてください。

bc

簡単計算をするときに使う。1行に計算式を書いて「:.!bc<CR>」あるいは「!!bc<CR>」とすると計算ができる。

(小数を扱いたいときは-lオプション指定する)

「<C-r>=」で代用できる。

sh

長めのコマンドを実行するときに使う。「:%!sh<CR>」とすると書いたシェルスクリプトを実行できる。

最近Bashの<C-x><C-e>で良い気がしてる。こちらだとヒストリで戻って<C-x><C-e>として再編集することもできるので。

column

簡単な整列をするのに使う。ビジュアルモード選択して「!column -t<CR>」とすると整列ができる。

(デフォルトのセパレータがスペース二つなので、一つにしたければ-oオプション指定して「!column -to' '<CR>」という風にする)

vim-easy-alignやvim-aligntaが入っているならそれでいいかも。

jq, xmllint, pup

それぞれJSONXMLHTMLを整形するのに使う。JSONは「:%!jq .<CR>」、XMLは「:%!xmllint --format -<CR>」、HTMLは「:%!pup<CR>」。

ただ「jq . <JSONファイル> | vim -」としていたりして、直接Vimの中で使ってない場合が多いかも。

awk

連番を振る時、重複行を削除する時、指定した列を抜き出す時、などなど、色々なことに使える。

それぞれ「:%!awk '{printf"\%-6d \%s\n",NR,$0}'<CR>」、「:%!awk '\!a[$0]++'<CR>」、「:%!awk '{print$2}'<CR>」といった風にする。

tee

保存するために管理者権限必要場合sudoと一緒に使う。「:%!sudo tee %<CR>」とすると保存できる。

編集中のテキストを何処かに残すため……と思ったけど:wで事足りる。

2016-05-29

富士通退職した話」に言及とついでに自分の話でも。

自分も前に富士通に居て既に退職してます。後で詳しく書くけど、ソフトウェア開発職に居たです。

富士通を退職した話

彼のへの感想

富士通はクソでっかい会社なんだし、サイト見ればメインフレームやってるのだって判るんだから、開発職を希望したらメインフレーム関連の開発やる可能性あるのは当然予見出来るだろうし、それを想像してなかったのなら情弱とかブコメで言われてしまうよね。あと何も記述が無いか想像だけど、「それほど有能ではない」と判断された可能性もある。と言っても学生が思う「開発者として有能かどうか」ってのと会社でのそれってのは別物で、要するに学生自身自分が実績もあって優秀だと思っても、会社的にはそうでないのよね。そうなると(後述の富士通入社して10年が経った人の話にもあるのだけど)新人能力客観的判断材料って大学資格応用情報レベル以上)程度なのよね。資格に関しても基本情報なんてMARCHクラス以上の人間なら受けたら取れて当然だから、「有能かどうか」の判断材料にならない。就活の際に本気でIT業界に入りたいかどうかの判断材料にはなる程度。自分の同世代富士通本体に入ってソフトウェア開発関連に配属された人のプロフィールを見たけど、確か偏差値的には少なくとも神戸大学とか千葉大学あたりの修士しか居なかった覚えがある。あと確か2~3人がソフ開持ってた気がする。だから、この増田がどの程度だったのかなと。

ただ、20人月案件が具体的に何かは判らないのだけど、自分の在籍していた当時でも炎上巨大案件というのはあって、(自分が知ってるのは確かデジタルテレビがどうのこうのとか言ってた)、そういうのに入社して間もなく入ってしまうと自身勉強等が出来なかったり潰されたり最悪死んだりするんで、そういう意味でも逃げるのは正解の一つ。(自分炎上案件に放り込まれ新人が寮で死んでたとか話を聞いたことある

上司対応はまあこれだけ見ればクソだわな。

富士通を退職して思うこと

はあ、としか。この人がこう判断した際の判断材料にするであろう自己体験を具体的に書いてないので、意識高い系がフカしてるようにしか見えない。あと、たった3年しか居なくてあの巨大企業経営とか体制とか理解出来るんかね?と思わないでもない。自分とは部署が違うだろうから当然かもしれないけど、自分体験とは違うなーって感じ。自分は、外から見たら馬鹿みたいな事やってるように見えるかもしれないけど、経緯や目的巨大企業特有問題があってそうなってるんだなって思う事が多々あった。

富士通に入社して10年が経った - blog

近い時期に入社したと思われる。具体的な話が自分経験と一致してる。特に富士通ソフトウェア開発と言えばミドルウェアの開発が主だというのは、富士通内部じゃないとなかなか(特に学生なんかじゃ)判らないかなと。

それでこれらの話を見てどんな人が富士通(というか大企業)に向くのかなと考えたんだけど、「やりたいこと」そこまで明確じゃないけどコンピュータは嫌いじゃないって感じで、地頭がまあまあ良くて勉強に関しても要領よくやれる(要するにそこそこの大学に行って卒業した人)、それでそこそこ安定した職・収入目当てな人かなと。ってコレ書いててふわふわしてる人みたいであまり良い印象の人物像じゃないな。マッチングミスはどうしても起きると思うし、学生の頃に思う「やりたい事」って往々にして変わったり間違いだったりするし、そもそも学生の頃に明確な「やりたい事」がある人の方が少数派でしょ。だからこういうそこそこ優秀だけどふわふわしてる人の方が良いんじゃないかなとか。逆に、ちゃんと「やりたい事」が明確にあるけどまあ安定はしたいって人はどうしたらいいのかって言うと、自分みたく大企業の子会社を狙うと良いんじゃないかなと。子会社ならその会社がやってる事が理解やすいし、入った後の配属の希望も大きく違ったものにはなりにくいし。まあ子会社子会社で色々アルかもしれないけど。

で、自分入社から退社までの話。

入社10年ぐらい前。入ったのは富士通の子会社で主にミドルウェアの開発をやっている所でした。入社して1~2年したら子会社の統廃合とのことで富士通本体連携してる部署自分がそうだった)は富士通本体になりますとのことで富士通本体の方に移ったという経緯ですね。別に待遇とか元々本体と同じだったから変わらず、事務関連が小回りきかなくなったぐらい。入社してから退職までは5年ぐらいでした。辞めた理由実家事業を継ぐ事にしたため。

入社して数ヶ月の時にある温泉地にある某所でその手の開発をやってる子会社沢山と

富士通本体ソフト開発配属の人達研修をやったのだけど、その際に富士通本体人達と知り合った。(この際に全員のプロフィール冊子が配られた)そのときは流石子会社に入る人達本体とじゃレベルが違うな~と思いましたね。(ちなみに自分MARCHより下の院卒。)

自分が配属されたのは某製品部署API部分チーム。その製品C言語Java言語からも使えるように出入り口を用意する部分。中でやってる事は指定されたIPポートプロトコルに沿ってデータ投げるだけなんだけどね。ちなみに配属希望の際は「そこそこの忙しさの所がイイ」と言っていました。「バリバリに働きたい」と言ってた同期は多忙ヤバい所に配属されてました。他にもチームがいくつかあったけど、それらのうちの一つは例の「山奥の工場」でしたね。自分が配属された当時はC言語APIリニューアルするって開発してたのだけど、設計担当Javaしかやったことない人で色々とC言語流儀に反してて後々のメンテが大変でした。まあそれでもリニューアル前よりは遙かに良くて、以前はユーザに見せてる関数名が ○○search1 ○○search2 ○○search3 とかでしたね(ちなみに機能はそれサーチか?思うのもあった)。もっと酷かったのが初期製品Javaの公開メソッドで、マニュアルには「このメソッド引数○○を□□を指定した場合戻り値Objectを△△にキャストしてください。××を指定場合は…」という「これ製品にして売ってたんだ…」と思うレベル。もちろんコレがダメだったってのは開発側も認識していて当時は既にリニューアル済みだったけど。リニューアル済みでも少し微妙だったけどね。

これは、ミドルウェアの開発をやってる人達って基本的C言語が主でJavaとかをやってる人がほぼ居なかったからだと思う。上司もそういうのは良くないってのは認識してた。対象OSWindowsLinuxSolarisだったけど、そんなにたいした事やってなかったからほぼ同じコードだったような。ソケットの一部だけ違ってたっけかな。

それでそのバージョンの開発が終わったあたりで、.NET Frameworkが出始めてきたので次バージョンでは.NET FrameworkAPIを作る事になりまして、自分が少し勉強していたのでそれの設計から担当する事に。当時は.NET Framework 1.1で今思えば少し時期が早かったと思う。2.0Genericが出てからやった方が良かったと思うんだけど、そういうの政治的判断だし結果論だしなー。それまでにRubyとかオブジェクト指向言語に触れてその辺の勉強もしていたので、.NET用のAPIに関しては設計実装結構良い感じに出来たと思う。ああ、そういえばRuby用のAPI効率化の開発ツールとかの名目仕事中に勝手に作ってたなあ。他にもC言語APIも内部実装がクソすぎ!とキレてユーザ公開関数インターフェースだけ同じで中身をフルスクラッチした事も。もちろん絶対LDしてるんで完全に趣味なんだけどな。これでAPIC言語Java.NETになった訳だけど、現場案件で使われたのってほぼ全てJavaだったと思う。(開発中のサーバテストアプリC言語だけど)。要するに自分が数年関わったコードが世の中ではほぼ使われてない訳でして、取りそろえとして必要だったとはいえ世の中の役に立ってないってのは嬉しくは無かったですね。まあ、大企業仕事なんてそういうもんです。.NETに関してはそのバージョンが出る頃はその製品があまり売れてなかったんだか使われたって話は聞かなかったですね。ほほほ。大企業に勤めるのならこういう覚悟必要かもね。

で、.NETAPIが出来たあたりに開発ネタがなくなって保守気味になってきたので、人員整理作業整理との事でインストーラと切りたいけど一度やったからには切れない補助製品担当が増える事に。インストーラWindowsがInstallShieldというクソみたいな言語上で作られたものLinuxSolarisシェルスクリプトのもので、InsallShieldの方のコードはあまりにクソなのでリファクタリングさせてもらった。この辺の開発は少なかったのだけど新OS対応(Vistaとか)とか保守作業が大変だった覚えある。

んで、これらの作業が終わったあたりでこの製品でやることが無くなってきたのと同時に、この製品派生製品の話が出てきてて、それは1機能1exeで提供されてて、それらを纏めるバッチ処理機能部分を担当することに。バッチ処理の内容・順番を記述するのにXMLを使う事になったのでXMLのパーサが必要なのだけど、色々調べたら富士通内部でパーサ作ってたのでそれをもらって使う事に。そのパーサはC++からじゃないと使えなかったのだけど、趣味C++勉強してたので何とかなった。あと、結構OSの知識(プロセスとか)が必要WindowsLinuxSolarisで動くコードを書く必要があってまあまあ大変でした(と言ってもifdefで切り分けるだけなんだけど)。けど、これらの開発は自分が一から設計してコードを書いていたので楽しかったですね。それでこれが完成するかしないかあたりで、このバッチ処理機能が他の開発中の製品バッチ処理に使えないかとか話が出てきたあたりで自分退職する事に。(退職の話は1年ぐらい前に話し合って決定済み)引き継ぎをして退職ということになりました。最後は溜まった有給を使う予定でまだ在籍中だけど部屋を引き払って実家に帰ってたのだけど、打ち合わせに来て欲しいって言われてしま実家から何日か通ったのは良い想い出。というかまさか実家から朝8時に間に合うとは思って無かった。

振り返ってみて残業時間は月40~60時間が多かったかな。100時間超えた時は上司に怒られた。あと退職前の1年ぐらいはうちの事業本部(だったかな?)単位残業禁止になってホント残業0時間になった時期があった。他の部署の人の話で、どう考えても狂ってる上司の話とかを聞いてると上司とかの運は良かったと思う。あと、やっぱり仕事でみっちりプログラミングが出来たのは運が良かったと思う。富士通ソフト開発で C C++ C# Java シェルスクリプト InstallShieldとか(そんなに深くはないけど)色々やれた人間はそうそう居ないんじゃないかな。同期とかの仕事は年上の人の派遣の人に指示出したり取り仕切ったりする仕事とか、保守サポートみたいな開発じゃない仕事の話も良く聞いていたので、ソフト開発のキモ体験出来たのは良かったです(こなみ)。

2016-03-24

http://anond.hatelabo.jp/20160324095716

Java関係があるScalaってのはPlayFrameworkなんかの特定フレームワークの話

わかってる人が書いた文章とは思えない。

Scalaフレームワーク関係なく、バイトコードコンパイルされてJVM上で動くでしょ?

っていうかPHPシェルスクリプト大好きないつもの老害おじさんでしょ?

2015-11-06

全部printfにしなきゃだめ?(シェルスクリプト)

echo "Hello Masuda!"

こういうのはechoでも移植性あると思うんだけど。

2015-04-15

FedoraSkypeを入れるのが簡単になった

基本的にはFedoraを気に入っているのだが、

Skypeflashなど一部ソフトの導入手順の面倒さがネックだった。

この辺りがUbuntuLinux Mintでは簡単で羨ましかったのだが、

fedyというソフトを使うことである程度は解決できるようだ。

http://satya164.github.io/fedy

fedyは手順の面倒な設定やインストールを簡単にするソフトのようで、

導入は次のようにすれば良いよう。

※fedy-installerはただのシェルスクリプトで、後で消して問題ない。

curl -o fedy-installer https://satya164.github.io/fedy/fedy-installer
chmod +x fedy-installer
sudo ./fedy-installer

Skypeインストールは次のようにする。

sudo fedy -e skype_linux

skype_linuxはタスク名前で、Flash場合はadobe_flashLight Tableの場合light_table、Sublime Text 2の場合sublime_text2といった具合。

GUI版のfedyがイケてない気はするけど、

とりあえずSkypeインストールできてよかった。

2015-03-14

2ちゃんねる、新仕様APIへ移行するものの速攻で穴を突かれる

日本で最大規模を誇る電子掲示板サイト2ちゃんねるでは3/13から仕様API対応していない2ちゃんねる専用ブラウザは利用出来なくなった。

しかし、新仕様API移行に反発する有志達(主にオープンソースプロジェクトで開発れていた2ちゃんねる専用ブラウザユーザ)によって新仕様API規約の穴を突かれて突破されてしまっている。

仕様API規約によればWebスクレイピングJavascriptなどが禁止されているが、例えばPerlPythonシェルスクリプトなどのユーザスクリプトによるHTTPソースの改変は規制されていない。

そこで有志達は規約通りに新仕様APIを介して2ちゃんねるHTMLファイルを取得しユーザスクリプトによってHTMLを従来の2ちゃんねる専用ブラウザで読み込めるdatファイルへ変換する方法を編み出した。

ユーザが個人で楽しむ範囲HTMLソースdatファイルに変換するにのは法的にも問題が無いと思われ、2ちゃんねる運営にもそれらを規制する法的根拠を得るのは難しいと考えられている。

他にもルータフィルタリング機能DNSサーバー設定の変更で広告を表示しないようにしてしまうなど、2ちゃんねる運営は思い通りにならない2ちゃんねらー達にやきもきさせられてしまう格好だ。

今後の2ちゃんねる運営2ちゃんねらーいたちごっこが見物である

2015-03-05

営業出身の30代おっさんプログラミング人生を変えた話

俺の半生

大学一般教養Pascalを習った程度。専門課程に入る前に文法はすっかり忘れた。専攻は都市工学からその後プログラミングとは縁はなかった。卒業前に第一種情報処理技術者資格だけはとれてたのでプログラミングの何たるかとかオブジェクト指向なんかも知識としては知ってた。

大学卒業後にデスクトップユーティリティーのメーカー技術営業をやった。顧客製品仕様を説明するのが主な仕事なのでパワポばかり使ってた。その会社ではLinuxソフトも販売してたから、Linuxコマンドは打てるようになった。そこでシェルスクリプト習得しようと思ったがあえなく挫折

その後ネットワーク機器メーカー転職トラブルシューティングLinuxさらに使うようになった。そこではHTTPプロキシを主に扱っていたので、HTTPプロトコルについては一通り知識を身につけた。その知識を実際にLinux上でシミュレーションしてみたくなり、Cを習得しようと思ったがやっぱり挫折

部署移動でメールサーバーを扱うようになった。SMTPプロトコルの知識は身についた。ここでもSMTPLinux上でシミュレーションしてみたくなり、こんどはperl習得しようと思ったがやっぱり(ry

今はExchangeを扱ってる部署で働いてる。ここではExchangeメールメタ情報MySQL上で扱ってるからSQLSELECT文くらいは見よう見まねで使えるようになってる。

Pythonとの出会い

そんな俺も部下を持つようになり、デスクワーク時間が増え、比較自由時間が持てるようになった。そんなときはてブでみかけたCoursera(https://www.coursera.org/)で本当に偶然に「初心者のためのプログラミング」というコースを見つけた。

Programming for Everybody

https://www.coursera.org/course/pythonlearn

コース自体英語だが、別に教授と会話するわけではないし、Python文法以外は条件分岐や繰り返しといった過去挫折しながらも知識としてだけはぼんやりと覚えていたことの繰り返しだ。英語が少しくらいわからなくても、図を見ていれば何を解説しているかくらいはわかる。

結論から言えば、このコースを受講したおかげでいままで断片的に持っていた知識 -単語だけは知っていた「オブジェクト指向」、「条件分岐や繰り返し」「アルゴリズム」などなど- がパズルピースのようにかっちりと組み合わさり、Pythonが難なく習得できた。いままでにシェルスクリプトやCに挫折したのがウソのようだ。LinuxHTTPSMTPSQLといった周辺知識も余すところなく役に立った。何のことはない、Pythonの標準ライブラリを使えばHTTPSMTPシミュレーションなんて簡単にできたのだ。以前トラブルシューティングで夜中まで手作業でちまちまやっていた作業は、全部Python一発で解決したんじゃないか。

このコースをきっかけとして、俺の人生(といってはおおげさだが)が大きく変わった。小さいところで言えば、自宅PC上でバックアップにつぐバックアップでわけのわからなくなったフォルダ構造の中から、同一のファイルを探し出し削除できるようになった。(傍から見れば何を大げさなと思うかもしれないが、ここ10年くらいの俺の中で最大の懸案だったのだ。)仕事でも日次で発生する業務をバッチ化したり、繰り返し発生する手作業を全部Python自動化した。(経営陣へのレポート作成とかそんな類のものだ。)おかげで残業どころか定時前に帰宅できるようになり、自由時間さらに増えた(笑)

ひとつ言語習得してしまえば、あとは同じことの繰り返しだ。増えた自由時間を利用して、いまはPHPJavaScriptjQueryを身につけて何かWebサービスを立ち上げようと目論んでいる。出来上がったら、またここでそれまでの道のりを紹介したいと思っている。

こんなことが自分の身に起こるとは、1年前の自分には想像すらできなかっただろう。それまでは「Webサービス」なんて言葉自分とは一切縁がないと思っていたから。

欲を言えば10年前、いや5年前でもいいからこのコースに出会ってPythonを身につけていたら、今とはまったく違った人生を歩んでいたかもしれない。

コースを開講した教授との相性もよかったのだろう。彼の人柄にも好感をもてたし、「for Everybody」というだけあって、非常にわかりすい説明だった。英語だということを差し引いてもこのコースはおすすめだ。

3/6/2015 追記

たくさんのコメントありがとう。こんなチラ裏文章ホッテントリ入りしてかなりびびっている(笑)

いくつかのコメントに返答したい。

こういう反応があることは投稿したときに予想はしていた。だが、何がきっかけでプログラミングを身につけたのかを具体的に書かないと、何の役にも立たない本当のチラ裏になってしまうので、コース名を書くことにした。だがこのコースをはてブで見つけたのは単なる偶然だ。このとき見つけたのがドットインストールRuby講座だったら、Coursera→ドットインストールPythonRubyになっていただけのことだ。ここで言いたかったのは、断片的でも一度触れたことのある知識は後になってどこで役に立つか分からない、ということだ。Steve Jobsも言っていたが、「人生を振り返ったときに点と点をつなぐことはできるが、その点がなんの役に立つかをあらかじめ予想することなんてできない」ってやつが自分にも起こった、それだけのことだ。

なお、Courseraのこの教授自分の授業内容をすべてオープンにしている。http://www.pythonlearn.com/ 教科書さえもここで無料で手に入る。Courseraに登録するのに抵抗があり、自習上等という人はここで俺が受けたのとまったく同じ内容を確認することができる。ちなみに授業はすべてYoutube上で公開されている。

  • 「なぜPHP?Pythonでやればいいのに」について

これについてはまったくその通りだ。ただ、もう新たな言語を覚えることにまったく抵抗がなくなったのと、PHPRuby on RailsWebサービス界ではメジャーらしいので、とりあえずPHPもやってみよう、くらいの軽い気持ちで思いついただけだ。ひょっとしたら実際にはPython+Djangoとかで開発するかもしれない。

2014-10-26

ソフトウェアと梃子

Unixという考え方という本を読んだ。もう図書館に返してしまったので、これから書くことはあまり正確じゃないと思う。〜的なという表現が多くなってるのはそのためだ。

この本で最も印象に残ったのが、梃子(てこ)の話。著者の叔母がちょっとしたマルチ商法大金を稼いだ話を例にとり、「プログラミングもこういうもんさ、梃子を使うんだよ」的なことが書かれているが、倫理的問題はおいといて、そういう感じでプログラミングをすることってどうすれば可能なんだ?と疑問が湧いた。自分のようなクズ野郎はもちろんのこと、たとえ修行僧のように淡々技術を磨いているプログラマでも、本節を読めば自分技術を使って著者の叔母のように大金が欲しいと思うはずだ。

プログラミングの梃子らしい部分は自動化だ。少なくとも、本にはそう書いてあった。梃子の具体例としてシェルスクリプトがあげられて、たった一行のスクリプトが賢いプログラマたちが作った何千行のプログラムを実行するんだ。これこそ梃子だ、的なことが書いてあった。いや、でもちょっと待って欲しい。こっちは叔母のように大金が欲しいわけだ。Unixの素晴らしさは他の章でも散々書いてあるし、ここでシェルスクリプトの話をされても困る。話をそらさないで欲しい。

著者が言いたいことはわかる。この節ではあくまでもシェルスクリプト凄さを語りたかったわけで、叔母が大金を稼いだ話はそのための撒き餌に過ぎないんだろう。でも、ほとんどの人間にとって、本気で考える価値があるのは大金の方だろう。優秀なプログラマ生産性を上げた結果、それだけで幸せになれると思うか?むしろ仕事が増えているじゃないか。資本家はいだって労働者限界までこき使う。プログラマ創造的な仕事だということは、プログラマしか理解されない。梃子をプログラマ幸福につなげるには、どうしても社会で使える通貨にしないといけない。

さあ、シェルスクリプトの梃子を使って金を生み出すとして、どういう具体的な手段があるんだ?

ここからは完全におれの見解なので、本の内容からは離れる。

ライセンス

ソフトウェア大金を稼いだやつを思い浮かべろ、と言われたら真っ先にビル・ゲイツの顔が浮かぶだろう。彼がやったことはなにか。ソフトウェアを作って、ライセンスを刻んだ。そのソフトウェアがどこのメーカーハードウェアで動作しても、ソフトウェアMicrosoftのものだということがはっきりしている。そこから利益を得るわけだ。これはまさに本に書いてあった梃子(著者の叔母はタッパを販売して、さらにその販売先の客に販売を勧め、その利益の一部を手にしていた。マルチ商法だ。)と同じ類のものだろう。

広告

「I'm CEO, bitch.」

学生時代Facebookを作り上げたマーク・ザッカーバーグは、FacebookダサいSNSになった今でも、若い起業家の憧れの的だ。

彼がやったのはなにかというと、広告だ。

学生たちが楽しめるようなプラットフォーム無料提供し、そこに広告掲載することで大金を生み出した。広告のどこに梃子があったかというとソーシャル・ネットワークだ。広告で稼ぐにはたくさんの人に見られる必要があるわけだが、SNSという特性自体が梃子になり、ユーザー数がみるみると増大していったことが、広告による大金を生み出した。

偶像

主に日本で見られた現象が、ソーシャルゲームだ。これは偶像を売る商売だ。一度イラストレーター作成したものは、いくらでも複製できる。それを消費者射幸心に訴えかけながら売っていく。この電子的な麻薬が、なぜか日本では異常なほど受け入れられる。梃子の力は複製が容易ということだけでなく、消費者脳内でも起きている。消費者自身の購買行動が次の購買を促す仕組み、中毒性こそがこの商売ユニークな梃子だ。

___

飽きた。ブクマがたくさんつけば書き足す。

書き足し

ブクマの伸びがゆっくりなのでここらで書き足しておく。上に書いたのは、本を読んで率直に感じた疑問と、それに対する、偏見なども大いに含んだ主観的考察だ。しかし、こんなことをしたのは、他の誰のためでもない、自分のためだ。興味本位プログラミングを始めてしまって、それが楽しくなってしまった自分の行く先を少しでも認識したいという切実な願望があったからだ。

ちょうど他の増田漫画家の話が書かれていたけれど、ソフトウェアエンジニアだってあいったことになりかねない。いや、もうなっているかもしれない。創造的な人たちがつくりあげた偉大な製品が、資本家に食い尽くされることが、平気で行われている。以前ネットで知り合ったインドネシアプログラマーは、自分仕事が不当な扱いを受けていると嘆いていた。「海外の安い人件費」として働く彼らは、高度な技術を持っているにも関わらず、正当な報酬を手にすることができない。

まどろっこしいので言いたいことを言おう。梃子は生産性を高めるために使うだけじゃだめだ。自分や他の創造的な人々の権利を守るために使わないといけない。でなければ結局、プログラミングを始めたときに感じた魅力や全能感、思考力を捨てて、資本家歯車になるような未来しか待っていない。

2014-09-19

anond:20140919122500

シェルスクリプトなんて義務教育で習ったか

その会社では入社時に全員がシェルスクリプトを習ったのか?

そうでないならシェルスクリプトを導入した増田独りよがりしかなく、

それによってシェルスクリプトの利用について学習コスト強制されかけた後任が

危険が危なかったとしか言えないヨ。

----

Linuxなんて義務教育で習ったか

その会社では入社時に全員がLinuxを習ったのか?

そうでないならLinuxを導入した増田独りよがりしかなく、

それによってLinuxの利用について学習コスト強制されかけた後任が

危険が危なかったとしか言えないヨ。

2014-09-15

機能がどこにあるかわからないなら検索すればいいんじゃね

全ての機能がpecoやpercolのようなものを使ってインクリメンタルサーチしてアクセスできればいいと思う。

そうすれば抽象的に覚える事すら不要で、機能名の断片を覚えていればよいだけなので機能名の断片をタイプするとそっこーで機能アクセスできる。

そう思ってなんでもpecoで選択するようにしたらzsh(+vim + unite)だけで全てが事足りるようになった。

機能のなにかが変わっても糊付けしてるpecoをwrappしてるシェルスクリプト変えるだけなのでたやすく変更にも追従できる。

GUIみたいなまだるっこしいものに頼るよりCLIで過ごせばイイ。ほんとpecoとかpercolオススメ

そんでこれらはエンジニア向けの機能じゃねーかってつっこみがあるかもしれないが、インクリサーチを使う条件自体

タイピングできること」、「機能名や選択候補の断片を記憶してればいい」だけなので、バカに優しいし実は一般の人向けなUIなんじゃねえかとおもう。

例えばOfficeリボンみたいなものを用意するのと同時に、大量の作業を素早くこなしたい人向けにインクリメンタルサーチつければいいとおもう。

例えばintellij ideaのSearch everywhereみたいなかんじに。選択候補が絞られる度に選択候補機能リボンUI位置がユーザにわかるように絞られる演出がされてればなおベター

2014-09-02

http://anond.hatelabo.jp/20140902164308

bashの中でPHPを呼ぶんや。PHP初期化必要ないから、一行の中に概ねコマンドが収まるんやで。

一行に収まらないならそもそもBashで書くなよ。

全部PHPをで書けよ。

それが無理だから意味不明シェルスクリプトPHPの組み合わせとかしてるんだろ?


普通人間シェルスクリプトの中でPythonちょっと一発コマンド呼ぶ、とか以外、

少し複雑なことしようと思ったらそもそもPythonスクリプトで全部書くんだよ。

シェルスクリプトの中でPythonを大量に呼ぶ意味が全くないから


お前のスクリプトもまったくもって無意味なことばっかやってるだろ。

http://anond.hatelabo.jp/20140902155559

というか、ちょい複雑なシェルスクリプト書く場合とかにPHPで書くケースは結構あるで。mapとかreduce、filterとか普通に使えるからな。

そんな奴見たこと無い。awkとかで大概どうでもなるし、

巨大なスクリプト時間が気になる様ならpythonとかで書き換えたりする。

PHPシェルスクリプト内で使うなんていう基地外は見たことが無い。

お前の言う複雑なシェルスクリプトってなんだ?

2014-07-31

毎日ちょっとした課題を解くプログラミング勉強法が欲しい

そこまでまとまった時間も取れないので、毎日十分程度プログラミング勉強する方法は無いだろうか

例えば電車の中で単語帳を覗いたり、文法問題を解くような感覚勉強したい

具体的に言えば

「あるファイル更新されたらメールを送るようなシェルスクリプトを書きたい。更新をチェックするにはどうしたら良いか?」

vimの使い方として「このような文章があるとき複数行にまたがって先頭にコメントアウトを入れたいがどうすれば良いか?」

みたいなちょっとした、本当に簡単な問題集

もちろん「次のfor文はある処理に時間がかかっている。その場所と解決策を上げよ」みたいなものでも良いが

私はそのようなレベルにまだ達していない

何か心当たりのある方、教えて下さい

2014-07-23

http://anond.hatelabo.jp/20140723172206

常にワンライナーで書くならそうだけど、

普通にシェルスクリプト組むなら1行に複数コマンドは書かない方が良い。

基本、シェルスクリプトコマンドライン入力するコマンドをそのまま羅列できる、と言うものだと思って書くべき。

そうでないとめちゃめちゃ読みにくい意味の分からない物になる。

複雑なことしたいならそれこそPythonとかのが楽にかけたりするし圧倒的に早いし。

2014-07-22

http://anond.hatelabo.jp/20140722115605

関数型やらオブジェクト指向やらの話に反応してるんだから、ある程度規模のあるソフトウェア人間にとって分かり易く構成する話するんじゃないの?

行書捨てなら、シェルスクリプトがいいだろうよ。

まあ一応Python

print [line.split(",")[0] for line in file("file.csv").readlines()]

個人的には速度以前にifとかforが必要になった時点で、読みやすさの点からPythonにする。

http://anond.hatelabo.jp/20140722114718

コマンドの組み合わせで処理できるようなものなら一番短くかける。

というか、普通に作業でコマンドつのと同じ様に書けるから読みやすいし書きやす

逆にシェルスクリプトあるのにPerlPythonで処理をわざわざ書くメリットは?

圧倒的に速度が違うから複雑な長いことに関してはPythonとかで書くけど。もっといえばC++で書くし。

元のお題とは全く方向性が違う話だけど。

2014-03-26

http://anond.hatelabo.jp/20140326141929

シェルスクリプトを物凄く詳しい人は、自分の事をzsh/bashでのプログラムが得意なんです!なんて絶対言わないと思う。

補助的なもので、ホントに巨大な物を作ろうと思えば遅すぎて使いものにならないし。

その辺詳しい人ってのは、普段からターミナルベース仕事してる人だろうし、「プログラム」は別の物をメインで必ずやってるだろうし。

その中で、PHP/JavaScriptは「それしか使えない」人間が多いと思う。

それこそターミナルコマンドすら知らない人間も。

ある程度のことは理解なんてしてなくてもコピペでできるし、設計書通りに組み立てるくらいならもはや一昔前の事務作業と同じレベル

C#なんかもそう言った事務作業レベルのことをやらせ職場が沢山あるから同じように受ける。

その辺の人に、他の言語をやってみて、って言ったら全く使い物にならない感を受ける。



まあ、「コレ出来ます」っていう自己申告、っていうのと、実際何が出来るかってのはつなげづらいけどね。

2014-03-22

http://anond.hatelabo.jp/20140322050206

俺はターミナルを快適に使える+普通の作業(Excel, Word, インターネット)もできるっていうのが好きだよ

perlやらシェルスクリプトやらでパパっと処理を書いたりするので、ターミナルが使えるととても助かる

finkmacport、homebrewなんかでCUIプログラムでも導入しやすいし。まあこれはLinuxならたいてい同程度以上の機能を持ってるけど。

Wincygwinやらmingwやらも使ったことあるけど、Macみたいに基板がUNIXってわけじゃないからかどうも使いづらかった

あとはemacsみたいなショートカットキー(Ctrl+kとかCtrl+aとか)が大体のアプリで使えるっていうのも、無いとストレスが溜まるレベルでありがたい

2014-02-22

http://anond.hatelabo.jp/20140222204121

そこかwてっきりシェルスクリプトのことを良く理解せずにシェルとか言ってるんだと思ったら

さらに斜め上を言ってたw

環境変数すら知らない子だったwww

ねえねえ、なんでchshがvim開くか知ってる?ねえ、知ってる?

しかMacしか使ったことない子かな?

まさかこんな子がFreeBSD使ってるとは思えないしwww

zsh使ってる俺かっけーwwwとか思ってるんだろうなwww

2014-02-04

http://anond.hatelabo.jp/20140203234023

何が言いたいのかわからないんだけど、

なんでUnixコマンド使うとソートの種類について理解できるの?

もしかしてソートって、頑張って自分で書いてみろ、とかそういうこと言ってるの?シェルスクリプトで???

そうじゃなきゃ、sortコマンドの中身を見てみろ、とかそう言う話?それって結構ハードル高いと思うけど。

増田はsortコマンドソース見たことあるの?そういや、ちょっとまえに「lsコマンドを読め」みたいな本出てたけど。確かに勉強になるけど、かなり高いレベルじゃね?

とてもじゃないけどドットインストール見てる人間がやることではないと思うけど。




で、Unix歴とかじゃなくて、「インターネット歴」なんだw

インターネット10年( ー`дー´)キリッ」

ってwww

インターネット10年て、単にADSL流行りだしてから使い始めた人が皆そうじゃね?www

2013-10-05

http://anond.hatelabo.jp/20131005024451

最低限、Emacs的なキーボードショートカットでの移動ができれば良いかな。

上下左右の動きとか、行頭、行末への移動とか。

Macだと普通エディタでも移動だけなら使えるし、割と充分。

ただ、たまにマクロとかで一気に色々変更したりしないと馬鹿らしい物もあるんだよな。

ま、それもシェルスクリプトとかでちゃっちゃとやればそんな問題ないんだけど(スクリプトも道具に入っちゃうかな。。。?)

ログイン ユーザー登録
ようこそ ゲスト さん