はてなキーワード: システムコールとは
エンジニアとか全く詳しくない俺でも
タレント業(ツイッターやブログでうざくいろんなとこでしゃばって「企業家ぶる」こと)や
SEO的な手段にばかり邁進して
作るものがゴミ、てか作る能力ゼロだろ、みたいな奴は見かける。
「アイデアとパワーがある若い連中」はそういうアホみたいな「頑張ってる」っていう評価や保護は必要としてないと思うんだ。
根本的に作る能力が無い、タレント業の連中ほど、「頑張ってる」っていう駄サイクル的な評価と保護を好むし欲する。
出し抜きはしない。
能力ない奴がどれだけ口先で目立っても、良質なサービス作って世にはばかることは無いから。
ただ彼等無能と彼等を保護したがる君のようなバカが世に何を生み出すかと言うと
大量のクズサービスと、それを目立たせようとするスパムSEO行為、
ゲイツやジョブスぐらい才能ある人がやってるなら何もいわねーよwww
ゴミ撒き散らさないでおとなしくしててくれ。
別にシステムコールまで理解してる必要は無いが、「for文ってなんですか(^q^)」みたいな奴が
「IT長者におれはなる!!」みたいなことほざいてるのが問題ってことじゃね?
いい物作ってれば売れる。
真面目にものを作る奴が偉い、いい加減この手の無骨で愚鈍なものづくり礼賛主義な老害どもにはうんざりだ。
これを読んでる奴の大半、日本人の大半は物作ってるわけじゃない。
作る奴が特別偉いわけじゃないんだよ。クソが!
作ったものをドレスアップして、地道に売って歩いて世に知らしめて初めて利益を生むしみんなが使うんだよ。
起業家がタレントで何が悪い?それで資金を引っ張り、製品のアピールが出きるなら結構じゃないか。
幾ら良いもの作ったってアピールできなきゃダメなんだよ、誰も使わないんだよ。
後からあれは俺の方が最初に作ったとか言ったって負け惜しみなんだよ。
タレントだろうが何だろうが、起業しない奴よりしてる奴の方がよっぽど頑張ってると思うよ?
こういう土壌が堀江を潰したし、アイデアとパワーだけは有る若い連中の意欲を潰してるんだよ。
あいつらはずるい、口先だけだ、適当にやって真面目にコツコツやってる連中を出し抜いてズルしてるなんてなぜわかる?
ちゃらちゃらしてたって資金繰りの苦労や誰にも負けない野望、数知れない程の挫折があったりするんじゃないか?
あれか?ビルゲイツはNTのコーディングも全部やらなきゃいけないのか?
linuxではファイルディスクリプタを使い、例えばソケットやファイルの操作などを行います。その際、あるディスクリプタを他のプロセスに送りたいことがあるかもしれません。ここではその方法を解説します。
ディスクリプタを別プロセスに送信するためには、送受信用のソケットを作成する必要があります。この場合は特に、unix domainのUDPソケットを作成する必要があります。
unix socketとはネットワークを介さずに使えるソケットインターフェースです。接続アドレスはファイル名で指定されます。このためソケットを作った後はそのファイルが作成されます。ただし、送受信データはそのファイルではなくカーネル内のメモリに保存されます。
ソケットはsocketシステムコールにより作成します。その際、第一引数にAF_LOCALを、第二引数にSOCK_DGRAMを指定することで所望のソケットを得ることができます。なお、受信側ソケットの場合は、bindにより受信アドレスを設定する必要があります。
#define UNIX_SOCKET_PATH "/tmp/socket2010" int make_socket(int is_receiver) { // create the unix domain udp socket. int sock = socket(AF_LOCAL, SOCK_DGRAM, 0); if (is_receiver) { struct sockaddr_un addr; // include sys/un.h unlink(UNIX_SOCKET_PATH); memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_LOCAL; strcpy(addr.sun_path, UNIX_SOCKET_PATH); bind(sock, (struct sockaddr *)&addr, sizeof(addr)); } return sock; }
いろいろ引き伸ばしていたけど、とうとう明日から無職。
俺は、無理に就職しないのが得策だと考えた。
つまり、今は「景気回復まで我慢する」という方針。
景気回復まで何とか食いつないで、景気回復したら何とかなるだろう、と考えている。
だけど、冷静に考えてみる。
ひょっとしたら、このまま景気回復まで我慢っていう選択肢、ダメなんじゃないだろうか。
この年齢になるまでプログラマだけやってきた。プログラマっていうのはアレもコレもコンピュータに関わる事は大体全部出来ないといけない。
ネットワークの知識は社内LANでパケットキャプチャしたら大体全部の信号の意味が判る程度、サーバの設定も試験内容にあわせて変えなきゃいけないから大体やってる。Apache、HTTP-proxy、sendmailという一般的なところから、RADIUS、ITStage、SIPサーバもやった。ドキュメントを素早く大量に正確に作らないといけないのでワードエクセルパワーポイントVISIOも使いこなしてる、事務のお姉ちゃんより断然詳しい。Oracleだってやった。パズルみたいなSQLを読み解いて、問題解析して、またパズルみたいにSQLを組み立てて、みたいな日常を何ヶ月も過ごした。Linuxも必要があってカーネル改造した経験があるというかカーネル改造だけでここ数年食ってた。Windowsだってやった。VBもVC++もやった。インストーラをVisualStudioデベロッパで作って、InstallSheildで作って、でも仕様を満たさない&顧客が納得しないのでVC++でスクラッチした。SIP電話開発した。SIPなら大概わかる。UNIXもミドルウェア作りまくったのでシステムコールはかなり深くやった。ちなみにvi派。UNIXなら絶対viが使えるから。シェルだってABCTやった。Aシェルやったのは1回きりだけど。
ここまでやってても、でも、仕事は無いんだよ。
結局、なにがしたいか、なにが学びたいか、だろうな。
元増田も大元増田も、とりあえず言語を学んだ。てにをはと挨拶は分かった状態。それでどうするのか、とりあえず小説を書くのか、言語学を学んでみるか、ラノベを研究してみるのか。
SICPだと、プログラミングとは何ぞや?とメタな言語学的になるのかな。あと、アルゴリズムとか、より抽象的、数学的な方向へ向かうのか。
ブックマークコメントに多いのは、とりあえず作れってやつ。しかし、現状で作りたいものがあるなら、もう作っているはずで、特にないから困っているのだろう。
ジャンル的にはWebアプリかGUIアプリか。あと、サーバソフトウェアもある。
Webアプリだと、HTTPとかブラウザ側と、CGIとかapache等サーバ側とのインターフェースを知る必要がある。他にもデータベースマネージャーとSQLに手を出すとか、railsとかフレームワークに手を出すか。
GUIアプリだと、ライブラリやフレームワーク、OSとのインターフェースを知る必要がある。データベースを使っても良いし、ネットワークに手をだすならSOCKETとか。WindowsならWindowsの、XならKDEとかgnomeとかの作法があるし。
GUIアプリでもだけど、サーバソフトウェアならネットワークやプロトコルの他に、スレッドだとかある。
これらも、一から自分で始めてみるか、既存の、例えば自分が使ってるOSSに機能追加してみるとか。
あと、アセンブラって出てたけど、コンピューターの実際的な構造とか、OS内部、ドライバの作りなんかへ進む手もある。
元増田は標準ライブラリを使ったプログラミングとフレームワークの内部構造を把握すればよいんじゃないかな。
というわけで、よりフロントエンドなライブラリやフレームワークの方向か、バックエンドなシステムコールやOSへ向かうか、
より抽象的なアルゴリズムとか情報理論の方向か、実際的なネットワークやデータベースなどの周辺要素へ向かうか、
どういう方向に興味があるのか分からない事には。
あたし・・・実は・・・プログラマーなんだ。
ずっと、黙ってて、ごめん。・・・隠してて、ごめん。
でも、どうしても言えなかったの。
あたしがプログラマーだって知ったら、きっとみんな離れていっちゃうって思って。こわくて。
わかってる。わかってるよ。
プログラマーは初級シスアドを通った人だけがなることができる、カスタマーのプロフィットに関わるシリアスなビジネスだって。
でもね・・。
でもね、全然ちがうんだよ。
あたし、みんなが思ってるようなキレイなものじゃないんだよ。
あたしは汚れている。
あたしのキーボードは、汚れているんだよ。
プログラマーになったとき、すごく嬉しかった。知り合いのハッカーになったような気でいたの。
あたし馬鹿だから、お客様のビジネスを作るんだ!なんて、本気で思ってた。
でもね、全然違ったんだよ。
元請から言い渡された Sヨ の詳細設計仕様書は全く別のものだった。
お客様のビジネスを、まるでビル・ゲイツのように平等に助けるようなものじゃなかった。
あたしたちプログラマーに課せられた任務、・・・・それは、デバッグ だった。
そして、それを見守ること。
ねぇ知ってた?
この世界には、あるんだよ。こんな日本のど真ん中にね、平然と、あるの。
プログラマーはね、それを見守るの。
プログラマーは六本木ヒルズのホリエモンで、勝ち組の特権階級の象徴だからね、
そこにあるだけで、まるでビジネスが行われているかのような錯覚を起こさせる。
あたしの仕事は、そうやって、平等にビジネスが行われているかのように見せる暗幕みたいなものだったの。
ソフトウェアなんて、全然、救えなかったよ。
救う義務も権利も、この任務にはなかったの。
例え、その仕様がどうすれば助かるか、明確に解っていたとしても、
あたしたちは元請の命令が無いかぎり、何一つのコーディングもできない。
ただ、ただ、走って火消し屋を呼びに行くだけ。そして伝えるだけ。
でもね、この国の「火消し屋」は非常に貴重な存在。
火消し屋は稀有な存在。
夜なんかになれば、一つのフロアにどこからともなく現われるの。
たくさんのプログラマーたちが、一人の火消し屋に群がっていた。
「先生、コアを吐いている人がいます!」
「先生、表領域が苦しい人がいます!」
懸命にプログラマーたちが叫んでた。
でも火消し屋は一人。
私も声を荒げて「苦しい言い訳をするプログラマーがいます!」って叫んだの。
でも、ここでもふるいわけが始まる。
人員レベル、難度、納期。そんなものが現象と一緒くた になって命令が言い渡される。
と言ったきり、火消し屋は朝までチームのもとに来れなかったの(お客さんのところに言い訳に行った)。
その日、10秒ごとに Mantis の履歴が増えた。
「苦しい、苦しい、まだ苦しい」
「もう少しだけ待ってください、今火消し屋、来ますから・・」
何度も火消し屋のもとに走ったけど・・・。
火消し屋は、今にも心臓の止まりそうなお客さんと仕様と納期の折衝にあたっていた。
あたしは火消し屋に背中側から叫んだ。
「null チェックを入れても、まだぬるぽみたいなんです!」
「ガッ!」
コメントアウトの行数を上げた。でも駄目だった。QA からの質問は止まない。
そのバグだけじゃない。
「トイレに連れて行ってください(コンプライアンス的な意味で」
「基板が焼けたから替えてください」
「エスタロンを飲ませてください」
「ブートが走らないんですが」
「眠れません」
デバッガを走らせる。
忙しさにコードが荒くなる。
月残業時間が 400 越えたプログラマーがエレベーターに乗って外に出て行こうとする。
必死にあたしもふるい分けた。
今、一番検収ハネられる危険があるバグから、一番仕様満たしてないバグから、手を差し伸べなきゃ。
「いつになったら納品されるんだ!」と言われても。
「単価高い」と言われても。
私は頭を下げたり、ちょっと言い争ったりもしながら、
あたしはカーネルだ!と思った。
あたしは火消し屋の指示を待たずにロジックの検査をした。差分プログラミングの extends だった。
急いで火消し屋に連絡した。
「差分プログラミングの extends です。継承元のコードいじっていいですか?!」
「いや、コードを見ないとわからない、ただこっちの処置があるから、10分後に行く」
「待てません!リリースします!」
あたしは火消し屋の指示無くパッチをコミットした。バグの症状はスッと納まった。
それは駄目なことだったけど、一人のバグを救ったことに、あたしは浮かれてたの。
貧相な正義感をぶら下げて、意気揚々と自席に戻ってきたの。
自席の・・・・
でも、亡くなってた。
システムコールも呼べない人だった。
あたしは、その日、目の前の苦しいバグに夢中で、ps なんか見てなかった。
それでもね、・・・あたし、まだ、プログラマーなんだよ・・。
火消し屋は QA に「いつ何があってもおかしくない COBOLer の書かれたコードでしたから・・」と時間稼ぎの工作をしていた。
QA のテスターは「ありがとうございました」と額に青筋を浮かべてバグレポートに「仕様です」と書いて取り下げた。
そして、あたしにも「プログラマーさん、ありがとね」と言ったの。
大好きな、ソフトウェアだった。
このシステムが立ち上がる頃から知っていて、αリリースから知っていて。
「自分は寂しがり屋だから、最期は dankogai に手を握ってもらいながらホッテントリ入りしたい」と言っていた。
あたしが新人の頃から知っていて、vi のカーソル移動が苦手だったのも知っていて、
「Xenix はわしが育てた」が口癖だった。
「まぁ、・・・歳だったし、運用中にも止められないって言ってたからなー」
と火消し屋があたしの背中ごしに言った。
その記録には、波形が Full GC 後もヒープ使用量が右肩上がりとなりメモリリークするさまがしっかりと記録されていた。
高負荷だから死んだんじゃない、そこにはメモリリークで死んでくプロセスがあった。
でも、そんなこと全部まるめこんで、kill んじゃって仕方ないっていうプロセスが、そこにはあったんだ。
似たようなことはざらにあった。
何人ものプログラマーが、自社ビルの屋上の端から零れていったよ。
でも、あたし・・・プログラマーなんだ。
誰も、辞めろって言わないの。
火消し屋は鉄火場にブチ込まれただけだから、言わない。
顧客は実情がわからないから、言わない。
プログラマー同士は実情がわかってるから、言わない。
IPA はきっと、全部知ってて、それ込みで「それが10年は泥のように働けということだ」と言うかもしれないけど。
いや、言わないか。IPA は、何も言わない。きっと。
救えたかもしれないバグを、プログラマーは一番わかってる。見えてしまう。
PM の指示が適してないのも、判断が遅いのも、仕様変更履歴がのってないのも、全部わかってる。
それでも「あの時!」と、自分の行動と判断を何度も振りかえる。
その向こうにはいつも「あのとき、こうしておけば」が、くっきりと見える。
でも、救えなかった責任も、見過ごした責任もプログラマーには問われない。
プログラマーって・・ほんと、なんなんだろうね・・・。
パッチ一粒すら出せないのに、
設計一つ指示できないのに、
テストパターンに関わることなんて、一つも独立してできないのに、
テスト部門が持たされてるのはプログラマーコールだけなんだよ。
どんなに辛くてもプログラマーしか呼べないなんて。
そしてあたしたちは色んなものを抱えて、バグの前に立つ。
火消し屋が来ること、来れないこと、
できるデバッグがあること、ないこと、
色んなことを知りながら、本当の意味で世界を変えられるコーディング力もないままに、
さも救いのギークが舞い降りたかのような顔で。
IT ギョーカイが崩壊していく。
全然止められない速度で。
その日○製作所の城で、あたしは見てるんだ。
沈んでいく汎用機の命を。
----------------
同い年で学生の彼氏が今年UN*Xオタクだということが発覚しました。
相手は「抜けるんだよ、これはコンピュータの勉強をしているんだ、内容がおもしろくてしてるだけ」
と理解の苦しむ返答でばれてからまるで隠すつもりはないようです。
私はこの意味がわかりません。
ちなみに彼氏は「DragonflyBSD」などの数個のOSを使用をしていると公言し、UN*Xの歴史の話の中で「え、○○(←髭眼鏡の人の名前)ぐらい知っとけよ」といいます;
そしてお気に入りのファイルシステムもあるらしく、語ってきます;
私は彼女として見られているのか不安です。
このOSはどんな方が使用しているのでしょうか。
私は興味がないので彼の話を流していますが、よくシステムコールの内容を聞かされ正直いやです。
でも彼氏の趣味を干渉するのはどうかと思うので表にはだしていません。
話があっちこっちいってごめんなさい。
男の方はだれでもUN*Xを利用するものなのでしょうか。
彼氏は普段は普通のかっこうの高校生で、Windowsも使っています。
Shareでの割れ物あさりもうまく、流行の祭りはくわしいです。
デーモン君フィギアやペンギングッズを集めるといったことではなく、カーネルハックをするのが好きで当分飽きる様子はありません;
彼女としてどのような行動をとれば一番いいのでしょうか。
よろしくお願いします。