「Perl」を含む日記 RSS

はてなキーワード: Perlとは

2014-02-04

http://anond.hatelabo.jp/20140204115828

大規模開発にも使えるかどうかとIDEが自身で書かれているか、なんて全く関係ないじゃん。

大規模ソフトウェア代表であるIDE

「大規模ソフトウェア代表であるOSだ」

にしたら、C以外は大規模開発で使えないってことになるじゃん。

実際は、Cは低レイヤコードを書くのに向いてるってだけ。

IDEについても、デスクトップGUIアプリケーションに向いてるかどうか、が重要で、規模は関係ない。

大体、RubyPythonPHP製の大規模アプリケーションが既に世の中に溢れてるのに、何いってんの?

はてなPerl製だっけか?)

http://anond.hatelabo.jp/20140202205947

「大規模開発に向いてる」なんていってない。「大規模開発にも使える」といっている。

はっきりいって、世にあふれる軽量言語は大規模開発には使えない。

根拠の一つは、大規模ソフトウェア代表であるIDEだ。私は、軽量言語の中で主要な開発環境として自身で実装されたIDEが使用されている例を知らない。Python IDELを常用している人は少ないだろうし、Emacs Lispを軽量言語にふくめていいかも疑問だ。PHPでかかれたPHP開発環境があるか? PerlでかかれたPerl開発環境は広く使われているか

(この点、Visual Studioで開発されているVisual Studioは立派な環境だと思う)

Javaは軽量言語でできることの大部分を同じようにこなせる。そのうえ大規模開発にも使える、といっているのだ。同じように「奴隷向け言語」ともいってない。「奴隷でもつかえる言語」といっている。

2014-01-19

SFCへの申し送り事項

宛、新入生とか、これからプログラミング始めたい人へ。

なんか偉そうに書いてみた。

最初に理解すべきこと

SFCには頭がおかしプログラミング言語使いがたくさんいる。特に研究室に入ると、バイトバリバリ書いている人間や、研究趣味ライブラリを量産する人間出会うこともあるだろう。彼らに惑わされてはいけない。最初は彼らの言っていることは一つも理解できないだろう、理解する必要は無い。彼らはプロダクションで安定するかどうかという縛りから自由だ。流行り廃りに敏感で、昨日言ってることと今日言ってることが違う。

これは実際に手を動かして使ってみて好感触かどうかささっと確かめられる人間からできることで、プログラミングできない人がこれについていこうとしたら間違いなくプログラミングが嫌いになる。

  • js書くならcoffeeがいいよ
  • それgitしてよ、見てあげるから

こういう言葉に惑わされるな、コードを書くための勉強をするな、コードを書け。

できる人は概ね、できない人の気持ちがわからない。受動的になるな。積極的に書け。

プログラミングへのモチベーション

プログラミングができるようになるといいことしかない。

プログラミングなんて特殊技能で、少なくとも教養じゃないでしょ..」という認識が横行している今だけのチャンスとも言える。

webプログラミングができると「技術的には簡単だがアイデア一発で作ってみたもので、ほんのちょっとだけ有名になれる可能性がある。論文を書いて学会投稿したりニュースになったりするよりも、よっぽどお手軽に(一部での)社会的ステータスを高めることができる(かもしれない)。

↓ こういうのでいい(失礼だが)。

資格マニアあなたへ

資格勉強はある程度コードを書けるようになってから考えよ。

真面目な理由が必要あなたへ

こう言っている人間を見て何を思うだろうか。

「いや少しずつでいいから今やれよ」とか「英語できたらもっと世界ひろがるのに..」とか「大学生なのにそれで恥ずかしくないの」とか思うかもしれない。

英語プログラミングに置き換えてみよ。

知らない世界を知らずにいることは大いなる機会損失であるプログラミングに金はいらない。金はないけど時間はある、時間を大量投入できる最後の機会、大学生である内に学んでおいた方が望ましい。

SFCプログラミング講義

基本的スタンスとして、講義ではプログラミングを教えてはくれない。講義に期待するな。プログラミングに限らず、全ての講義は自習への足がかりであり、興味のとっかかりである。実際に意思を持って積極的コードを書かない限りプログラミングのことは好きになれない。自分で考えながら手を動かしてコードを書かなければ覚えないし、初学者が配られたプリント写経しても血肉にならない。

今日から俺は!」という感じでプログラミング講義を受けると爆死は約束された未来である。「腕試ししよう」「これなら楽勝じゃろ」という意気込みで講義を受けると、意外に学ぶことが多い。完全な初学者の域は脱しておいた方が講義有効的に活用できる。少なくとも、最初の2週間をインストール環境構築のみで終わらせるスジの悪い講義を取得してはいけない。

また、講師によってはJavaScriptのことをJava呼称したり、JavaScriptLispに比べて読解が平易であるためハッキングを受けやすいと言ったことを平然と言ってのける。選別にあたっては「講義名」と「講師名」を明言した上で「先輩に聞く」「Twitter活用する」等の手段をとるべきである。十二分に注意されたし。

最初に選択すべきマシン

道具を選ばないのはプロだけである。初学者は多少高くても自分サポートしてくれる良いマシンを入手すべきである。1行のコードを書くだけでも恐ろしい手数が必要アーキテクチャを選択するのは愚行だ。

具体的に言うと「最初の一台はMacを買え」。

モデルは何でもいい、無理して上位機種を買う必要は無い。お金が余ってるならMacBookProを買えばいいし、勿論一番安いMacBookAirでも全く問題ない。特にweb系のコードを書く際、インターネット検索して出てくる記事はだいたい「OSUNIXであること」を前提としたサンプルである。これをWindowsの開発環境に読み替えるのは、初学者に取ってつらいだろう。

また、Macならばパフォーマンスは多少犠牲になるがwindowsも起動できる。どうしても光学機器必要になればCNSコンサルタントで外部接続式の光学機器を貸し出してくれる。Macが気に入らなくてもどうせ研究が射程に入る3年生に上がったぐらいのタイミングPCを買い替えるだろう。バイトして稼いだ金で「俺の考えた最強のマシン」に買い替えればいい。それまではMacを使え。

OSに固有の使い方なんて学ぶ価値はない、覚える価値も無い、操作時間が短縮されるだけだ。「普通会社Windowsなんでしょう?」というくだらない理由でWindowsPC選択肢の第一候補にするな。Windowsを買うなら積極的選択としてWindowsを買え。

SFCにおいて、PC毎日抱えて通学し、毎日開いて講義を受け、苦楽を共にする相棒だ。消極的に選択するな。

共同購入

SFCには「共同購入PC」という制度がある、これを利用してはいけない。

もし要件が変更され、Macラインナップに入れば積極的に利用するべきである

最初にやるべき言語

条件を示す。

ビジュアル表現できる言語であること

見た目に変化が無いと楽しくないだろう、こんなのを実行しても何も楽しくないはずだ。

#include <stdio.h>

int main()
{
  int a;
  a = 1 + 1;
  printf("%d", a);
}
web上にブログ記事が十分にある言語であること

マイナー言語を選択してはいけない。「ライトウェイト言語」と呼ばれるくくりから選択肢するのがいいだろう、以下のようなものがある。

中でもjavascriptrubyは推薦できる、SFCでも書いている人間は多い。

phpperlおすすめできない。ドキュメントは多いが、不慣れであればロジック以外に割かれる労力が非常に多い。python日本語ドキュメントが少ないため最初はつらいだろう。

導入が簡単な言語であること
例えば

最初javascriptをやるのは理に適っている。index.htmlというファイルを作り、scriptタグの中にコードを書き、ブラウザindex.htmlを開けばもう実行されている。web上のドキュメント量も豊富だ。

rubyも推薦できるが、少なくとも「自分HTTPサーバを立てる」という言葉にピンと来るようになってから使い始めた方がいいだろう。きっと何をしていいかわからないはずだ。

他にもProcessing(http://processing.org)などが推薦できる。ダウンロード時間がかかるだけでインストール作業は必要ない。こちらに関しては旧プロダクト名であるproce55ing」をキーワード検索すると記事が引っかかりやすいという暗黙のルールがあった、今はどうだか知らない。

最近ではnode.js採用事例も増えてきた(他に比べれば圧倒的少数、増加傾向にあるという意味)。クライアントでもサーバでも活躍できるjs学習コストパフォーマンスが高いと思われる。

勉強方法については後述のセクションを参照せよ。

次にやるべき言語

書ける言語は一つにしぼってはいけない。なるべくたくさんの言語を使ってみよ。ブログ記事を読みあさり、「その言語は何が得意なのか」調査しろ。不得意なことをその言語やらせるな。

下記のような上達ストーリーが考えられる。

例えばpython音響処理や数学計算が得意だったりする。そういった特徴を徐々につかみながら書ける言語の種類を増やし、好きな言語を見つけて好きな言語のことをもっと好きになればいい。

自分が好きな言語のことを胸を張って自慢できるようになったなら、あなたは既に初学者ではない。

エディタ

人に聞くとvimemacsを推薦されるかもしれない。もしそれを使ったことが無いなら、あるいは「プラグインの導入方法がわからない」なら、やめろ。Terminalを開かなくても書けるGUIアプリテキストエディタを使え。

具体的にはSublimeText(http://www.sublimetext.com/3)を使うのがよい、無料である

ライセンス必要だが、起動時に「買ってね!」というダイアログが出続けるだけで無料で使用し続けられる。信頼できるエディタだと思ったら買えばいい。

設定方法

SublimeText3にPackageControlというものを導入すると、標準で備わっていない機能拡張できるようになる。こちらのブログ(http://p.tl/Ev7b)の「インストール手順」セクションのみを実行する。たとえば「Jadeという言語を、文法に従って色付けしてほしい(SyntaxColoring)が、その機能が無い」という時に、「Jade用プラグイン」をSublimeText内で検索し、インストールすることができる。

もし使い方がわからないければ、回りにいる「プログラミングができる優しい人」に上の記事を見せ「インストールしてくれませんか?」と頼んでみろ。きっと戸惑いながらも正しい操作をしてくれるだろう、一挙手一投足を見逃さず学べ。

勉強方法

例えば

エロ画像を集め続けるツールが欲しいとする。どうやったらいいか考える。クライアントjsだけでは限界が来る。rubyなど別の言語を試すステップを踏む。

http://www.slideshare.net/shokai/ss-26387303

ブログの読み方

プログラマ同士じゃないと伝わりにくい用語が頻発すると思う。逐一人に聞いていてはラチが開かない。人に聞くな、適当に読み飛ばせ。

ブログ記事は本ではない、それを読解しなければならない理由はない。適当はてブでもつけといて、次の記事を読め。たくさん読めば共通項が見えるだろう、コードが書けるようになるに従い読めるようになるだろう。

最後

みんなが息をするようにコード書いてさ、みんなでしあわせになろうよ。

2013-12-06

プログラミング事始め

小学生の時に「こんにちはマイコン」を読んだことを除けば、自分プログラミング最初に触れたのはWindowsME上で動くHSPだった。

多分友達の家で「なんかパソコンあるし面白いこと出来ないかな」と話していて触ったのだと思う。3日ほどHSPを触っていたが、スプライトが動いてゲームっぽい何かが作れそうな予感がしたところで飽きた。導入としては良かったが、すごい偽物感があった。

次に目に入ったのはDelphiだった。当時、無料で入手でき、やりたいことがそれなりに出来そうで、かつ理解できそうな開発環境がそれしか無かったからだ。AphexTwinAutechreにあこがれてDSPをやりたかったので、(1)とりあえず何か音を出そうといじくり回していた。

何日か触っていて、ようやくDelphiGUI上で設置した「Button1」と関係がありそうな場所に、Webで見つけたコードコピペすると、それが実行されることがわかった。実行された結果、エラー文字列IDEに表示されるか、運が良ければ音が出る。文字通りただのノイズスピーカーから出ただけだが、とても嬉しかった。

さら試行錯誤を続けているうちに、MSDNからコピペして"="を":="に書き換え頑張っていると、MSDNのサンプルコードのうちのいくつかは実行出来て何らかの音が出ることがわかった。楽しかったが、偽物の開発環境を使わされている感じもしていた。

またしばらくして、Delphiと同じ開発元からC++Builderというものが売られていることを知った。世の中ではpascalよりC++のほうが使われているらしいことは知っていた。なおかつ、(censored)したけどよくわからなかったVisualC++5.0よりDelphiに似ていて、ずっと使いやすそうだった。買った。8000円くらいだったと思う(2)。

C++はまったく意味がわからなかった。仕方ないので図書館に行って関係がありそうな本を片っ端から借りてきた。まったくの勘違いから本屋で見つけた3000円くらいするDSPボードの解説書を買ってきて、自分が欲しいものとまるで違うとわかって枕を濡らしたりもした。

この頃借りた本の中に、「エキスパートCプログラミング」という本があった。ジョーク過多な原文を無理やり翻訳したような、典型的翻訳技術書で、読んでいる間は楽しかった。内容は大雑把に言うと「これこれのコンパイラ場合メモリアドレスがこうやって使われるのでスタックが云々ヒープが云々。あとCの仕様書書いた奴はタヒねアーグヴィーーアーグシーー」というもので、同じ頃図書館で借りたニューロマンサーのほうが100倍わかり易いと思った。

それでもなんとかポインタ操作くらいは出来るようになり、最終的にはBC++上で、wavファイルを読み込んでメモリに展開するプログラムと、コピペしたFFTコードを元にソノグラムが表示できるプログラムが出来たと覚えている。今、それらのコードは手元には残っていない。

この後、3年ほどプログラミングには触れなかった。生活に忙しかったのと、人として腐っていたのと、あとは単に飽きたのだろう。

腰を痛めてコンビニバイトが辛くなり、なんとかデスクワークがしたいと思ってテクニカルサポート派遣業務を始め、紆余曲折、今はWebアプリエンジニアをしている。普段はおもにPerlJavaScriptを書いている。

ちょっとした処理をループ書くか再帰で書くか、といった時に、C++を触ってた時の経験がふっと役に立つことがある。

[1]この時にはまったく無意識だったが、新しい環境に飛び込むとき大事ポイントは、凄く低レベル目標を決めてとりあえず進んで見ることだと思う。

[2]たしかこの時一緒に、60GBのハードディスクを30,000円くらいで買ったと思う。

2013-11-21

http://anond.hatelabo.jp/20131121002128

ググればわかるけど、JUNETは既に在ったんじゃ。

自分が初めて接続したのは92年ごろだったかなぁ。まだ UUCP接続メールが届くのに1時間かかるみたいな。

IP接続じゃないかFTPも使えなくて、京大サーバからFTPメールPerlソースコード取り寄せたり。

そのころは学術ネットだったから、AUP(商業目的で使っちゃいけない)がどうのとかうるさかった記憶が。

2013-11-13

最初に学ぶべきプログラミング言語は?」と聞かれて「C」と答える奴は社会悪なので滅びるべき

10年前とかならCを最初に学ぶ理由も分かるけど、今の時代に初めての言語でCを推す奴は社会悪しかない。

Cなんて、導入しづらい、分かりにくい、実用性ないの3ないでクソすぎる。

Androidを使っていればJavaiPhoneを使っていればObjective-Cウェブサービスに興味があるならRails、この3択しか現代にはないだろう。

C#とかPerlはまだいい。Cを推す奴がどう社会悪かと言うと、Cで作れる簡単なソフトウェアがなさすぎて初心者が脱落するからだ。

黒い画面にカレンダーを出すだけのC言語なんかより、馴染みのあるスマホアプリや、ブラウザ上で動くアプリの方が明らかに発想も広がるしモチベーションも上がるから結果的に開発スキルが伸びる。

そういうことも考えずに、「プログラムの基礎はC」とかドヤ顔初心者に対して教えてる奴は、日本未来技術者のために居なくなって欲しい。

2013-11-10

今日メモ

スーパー食糧の買い出し、子供を連れて二人で地域祭りに行ったくらい。

特に何もしなかったな。

PerlJava script勉強をしたかったが、もう夕方になってしまった。

からやるか。

2013-11-03

http://anond.hatelabo.jp/20131102115722

JavaperlHTMLCSSJavaScriptの基本もやって今rubyやってる

Webアプリ向けの知識だね。

これと、データベースSQLiteとか)組み合わせれば、はてな匿名ダイアリーっぽいものは作れる。

Ruby On Railsとかのウェブアプリケーションフレームワークを使うと、ひな形アプリケーション自動生成して、それを自分拡張していくような作り方ができる。

2013-11-02

http://anond.hatelabo.jp/20131102115722

学校でC言語の基本をやって興味がでてJavaperlHTMLCSSJavaScriptの基本もやって今rubyやってる途中。

そんだけやってるのに、何も思いつかないの?

元増田のいう「実用的なもの」が、実行するとウィンドウがでてくるアプリケーションだけを指すんなら、その疑問ももっともだけど。

2013-10-17

http://anond.hatelabo.jp/20131017173648

半分正解で半分間違い。

Railsの本場は、日本じゃない。

Railsの正体はポストCGIで、ポストPerlなんだよ。

日本では、PHPテンプレートエンジンとかで一気に盛り上がったんだな。

海外でもWeb系だとPHP需要はもちろん強いけどね。

いわゆるWebサービスベンチャー達が出てきて少し変わる

システム屋にとって、PHPだとシステムを作るのは面倒だった。

ポストPerl必要だったのよ。そこで登場したのがRails

一気に盛り上がる。

ガラパゴスを煽る人達がこの熱を日本に輸入するんだけど

つの壁が存在する。

①時差問題

Webベンチャー需要

海外のもの日本に流れるとき少し時差が発生する。

この時差の間に、Rails的な思想PHPMVCフレームワーク誕生してしまうんだな。

さらに、日本ではベンチャー需要があんまりない。

から、客のオーダーだったり枯れた技術こそみたいな思想が横行して使われない。

そうするとPHPで良いじゃん。と、Railsが伸びない。

で、ここまで書いておいてなんだが、ぶっちゃけさらにこの裏があって

技術ビジネスギーク親和性がある。

Node.jsってあるじゃん。あれも盛り上がったけどいわゆるこの業界での採用率なんてほとんどない。

でも、Node.js周辺の技術は、今やGithubの最大大手並みに盛り上がり続ける。

一攫千金と新しいモノ好きって近いところにいるんだな。

この熱だけを持ってきて、煽る奴らは確かにいるのよ。

SNSとかの台頭でベンチャー需要があがってるから少しずつ技術者都合の選定が始まってるので

Railsを利用した案件とかも出て気てはいるよ。

枯れた技術とかほざいてたSI屋達が、JavaEE7に飛びつく現在の状況は実は転換期だったりする

2013-09-21

ハテブってPerlの記事が上位にくるようにアルゴリズム組んでんの?

最近Perlの記事がたくさん上がってきてうざいんだが。

Perlとか終わった言語使ってるのは、35歳以上のおっさんだけだっつの

2013-09-10

失読症プログラマ

俺は失読症持ちのプログラマーで、まぁ色々苦労してるってのを書き記しておく。

失読症医者いわく、いろんな種類がいるらしく、文字が読みづらかったり、書けなかったり、その両方だったり、若い時におぼえた文字以外は新たに覚えられなかったりとかとか。

俺はその中では文字が読めない部類に入るらしい。

文字が読めないにも程度があるらしくアルファベットとかひらがなカタカナはそれなりに読める。漢字も画数が少なくて記号として覚えやすかったらそれなりに読める。

ただ、俺は記号認識しづらい、$とか*とか/とか。特に記号連続すると全く読めなくなる。

プログラマの人ならわかると思うんだけど、プログラマ記号が使えないってのは結構致命的で、

シェルスクリプトをはじめとして記号をたくさん使う、Perlとか正規表現とかは全然書けないし読めない。

記号意味や、構文がわからないんじゃなくて、どういう記号が連なっているのかが全く認識できない。同僚の書いた正規表現とか見てると読めなくてストレスがたまったりする。

あとはドキュメントを読めなかったりする。普通に活字だけの本は読めるんだけど、Perlとか正規表現ドキュメント記号がたくさんあるから、文章を読んでる途中で記号が目に入って思考が止まっていまう。だから、manとかで調べ物をしているときはかなりしんどい

Perlのものは素晴らしい言語だけど、いかんせん記号があちこちに登場する。$の後にいろいろつくやつとか読めない($の後ろに何がついてるかはわかんないんだけども)

Perlは俺にとってはストレスの元だったけど、ものづくりはしていて楽しかたからなんとか続けていた。

最終的には、ストレスで心をやんでしまって、入退院を1年ぐらい繰り返して、今では社会復帰をして都内Rubyを書いている。

Rubyは@とか!とか?とか簡単な記号しか出てこないから読みやすい。

Ruby記号を使おうと思えばいくらでも使えるらしいけど、使わなくても、アルファベットだけでも十分にコード表現できる素晴らしい言語出会えた。しばらくはRubyで戦えそう。

追記

割りとブクマついてた。ありがと。

Rubyを選んだのは、入退院を繰り返してたとき医者に勧められて読書しろと言われて読んでいた本が「たのしRuby」だったのよね。それを読んでいたのがきっかけ。

Javaは書いてたことあるけど、なんというか文字の密度とか大文字小文字が大量にあったりインデントが深いとちょっと読めない。Pythonはよさそうだね。

文字の密度が高いと読めないことがあるから俺のエディタはなるべく細身のフォントを使ったり行間を大きくとってたりする。

あと、失読症から正規表現が読めないんじゃなくて、なんかおかしいって思ったら早く病院いったほうがいいと思う。ちゃんとしたところなら診断してくれるから

あと id:believemeimaliar。君が精神疾患等にかかった時に、ブコメに書いてあるようなことを対面で言われるとつらい思いをするから、そういう排他的な考え方はやめて、俺みたいなやつでも許容できるようになるといいね

2013-09-01

BtoBとBtoCの技術が逆転する時代

アーキテクチャWebオンリー偏見満載で語ってるみる。

ここ10年のBtoBの成果は、共通の技術基盤という妄想のために用意された

複雑大規模で、完全に閉じてて、他には誰も使えないEclipseで動く謎のゴミ

JavaっぽいJavaっぽいJavaっぽい何かで

自分達でも持て余して、パッケージ導入とか、結局Strutsスクラッチ開発だったね。

まあ、商売ネタとしては成立してたけど。

Struts1のサポートが切れる蓋を開けた時の状況は、笑いどころか失笑でした。

からってBtoCも凄かったわけじゃない。

やすいはやいゴミを量産する方向にシフトした。

PHPとかPHPとかPHPとかで

そこで事件が起きる。Railsの登場。

ビジネス的には、あんまりインパクトはなかったこれだが、歴史の転換を説明するのには便利。

Railsアーキテクチャは、エンタープライズアーキテクチャパターンを程よい感じに取りこんでいる。

馬鹿にでも使えるようにしたもので、これが世に放たれた。

そこからBtoCのアーキテクチャの質が一気に上がる。

さんざんdisられるPHPの良さは、その哲学の無さだ。

Perlパクりから始まって、Javaクラスパクッて、Railsも速攻パクった。

最近は、所謂関数言語と分類されるパラダイムも最速でパクてる。

そんな感じで、RailsからパクッたフルスタックMVCフレームワークが一気に広まる。

そしてこれらのフレームワークは、金魚のフンSierにとって銀の銃弾だったStrutsを、

鼻で笑えるもので、Strutsドヤ顔してた彼らは、この時点からPHPerからも見下される存在になった。

ORマッパーを知らないおっさん。お元気?

エース開発リーダーさん。そろそろDIコンテナあたりは使えるようになった?

Javaの方が良いとか言うなら、せめてそのぐらいはフォローしたら良いんじゃないですかね。。。

さらには、大手BtoCのアーキテクチャ公開も普通になる。

アーキテクチャは、もはや商売道具じゃなくなった。

長年の秘伝の味を売りにしてたBtoBアーキテクチャは、

その汚い樽が馬鹿にされる時代突入する。

ただ、これは結果から見たもので、本来の本当の流れは、ネットの普及にある。

BtoCの市場が巨大化し、パイが増えて、それだけ技術者も集まった。

人が多ければ、優秀な人材が集まる確率も増える。

優秀な人材プロダクトを作れば、優秀なプロダクトが生まれる確率もあがる。

から進歩も速くなる。

みんなで作れば凄いものが作れるという勘違いは、決してしないように。

これはアーキテクチャにも影響して、その方向性を決めるようになった。

SOAPRESTなんかがまさに象徴

SOAPは、優れていなかったわけじゃない。ただ単に閉じた世界すぎた。

RESTは、実用的なアーキテクチャなんてほとんど無い。ただみんなが適当にやってたのに名前付けただけだ。

だいたい今はそんな感じで

今後はアーキテクチャはBtoCが主導するだろう。



ただし、これはアーキテクチャの話で、品質はまた別ですよ。

そこの社内SEさん。技術キーワードが凄いからって発注しちゃだめよ。

まともなもんが返ってくると期待しちゃいけない。

BtoBは、この鈍行の間、何もしなかったわけじゃない。

たった数パーセント稼働率を上げるために、何十倍時間や金をかけてきた。

実際、そういうものから仕方が無い。

彼らは、そういった品質に命をかけてきた。

設計書の文字のタイポレビューすると、単価計算で1万円以上は余裕でする。

大手Sier役割は、いつまでも必要だろう。

でも、その住人は、そういうものに命を捧ぐ時代である覚悟しないといけない。

2013-08-23

Ruby on Rails勉強】 xvideosまとめサイトっておいしいの?

Webサイトはこんなもの


スペックは?
サイトonalife(オナライフ)
URLhttp://www.onalife.com
説明xvideos動画の共有・ユーザー参加型のまとめサイト

2013年9月1日現在でxvideosのみの対応です。

コンセプトは?

Webサービス勉強には「アダルトサイト」という記事をはてなの記事で何回か読んだことがあるため、今回は便乗しました。

ありきたりかも知れませんが、「Xvideosから誰でもお気に入り動画を追加してまとめる・みんなで共有」できるサービスを作ります

試験リリースです。

協力していただける方は、サービスを使っていただいて、要望コメントしていただけると助かります

http://ja.wikipedia.org/wiki/PDCAサイクル

ではないですが、

試験リリース → テスターによるテスト → 問題抽出 → 問題解決のためのプラン → 解決 → 最初に戻る

を繰り返していき、

などを考察していければよいと思っています。(あくまで勉強目的

考察結果はこちらのブログで随時報告予定

現時点で広告フリーです。

エロサイトユーザー登録

ありません

だって恥ずかしいし、煩わしいよね

動画登録だけ?好きなシーン見たいんだけど?

シーンを登録してください

仕様は?

今回どうしても満たしたい仕様は以下です。

  1. xvideosの動画を(誰でも)追加できる
  2. 動画のシーン情報サムネイルを選択・記録できる
  3. シーン情報サムネイルで一覧表示できる
  4. タグ機能
  5. いいね!ボタン

検索

とりあえず、タグから一覧表示できる機能を作ったので後回し。

要望あれば検討ということにしました。(他に優先すべきことが多々あるため)

作ったのはこんなひと

自己紹介は?
お仕事主に組み込みLinux
Web開発経験なし(Wordpressを昔にちょこっと触った程度)
私の能力は?
プログラミング10年目くらい
使える言語C言語、ShellScript、PerlMake
お触りした言語C++C#VisualBasicPython



舞台裏

なぜ組み込みLinux屋がWebサービス

時代の流れに乗ろうかと。

仕事内容は主に組み込みLinuxです。Linuxカーネルごにょごにょしたり、開発環境の整備(プロジェクト全体のMakefile管理)、システム部分の機能実装などをやっており、PythonRubyといった言語には縁がない状況です。

から機会があればRubyPythonPHPとかでWeb系の知識も身につけたいと思っていましたが、今回思い切って勉強しようと思いました。

勉強はどうやってやった?

皆さんの中にも新しい言語勉強するときに、とっかかりがよくわからなくて諦めた経験を持っている方は結構いらっしゃるのでは?

インターネット検索するといろいろなサイトが出てきますが、なかなかゼロから学習するのには向いていない場合が多いです。

そ・こ・で!

私は以下のサービスを使いました。

ドットインストール:bookmark

Ruby on Rails動画を何度も見て、基本的なプロジェクトの立ち上げ方・コーディング方法などが学べました。

プログラミングに当てた時間は?

思い立ったのは、2012年12月末。

では、なぜここまでリリース時間がかかったのか?

→単純にプライベートも充実させたかたから。

すみません、サボってたからです。

力を入れていた時期ですら…
平日1時間/日
休日2~3時間/日

こんな程度です。

力を入れていない時期は?
平日 0時間
休日 1時間/日

平日は1時間未満が多かったですね。

ドットインストールの講座を1・2個見て終わりというような感じでした。

モチベーション持続の秘訣は?

無理をしない、です。

私のように、長いスパンでコツコツ積み上げていくのがよいのかもしれません。

短いスパンリリースしようとすると、1日あたりの学習プログラミング時間が相当確保しないと難しいように思います

この時間を確保することの困難さがモチベーションの低下の原因ではないかと思います

短い時間学習サービスリリースするには、少なくとも…

一日平均4時間(休日含む)でやれば1カ月から2カ月くらいでそこそこのサービスリリースできそうです。

私は無理ッス…休日は買い物やデート行きたいよね!!

最後

結構はてなで「初心者Webサービスリリース」なんて記事を見ますが、みなさん本当にすごいな、と感じました。

自分でいざサービスを立ち上げてみて、初めてわかることもたくさんあります

プログラミング仕事しているにも関わらず、ベータ版リリースまで約半年ほどかかってしまいました。(そもそも時間をそれほど確保できなかったのも原因ですが)

http://www.onalife.com

もしよろしければwebサービスを使ってみて不満点をコメント欄にでもどんどん記入してください!

今後の参考にしたいです!

使い方

# ヘッダーのAddクリック

# xvideosのURLコピペ

# タイトルサムネイルタグ、説明を記入

# これだけで動画追加できます

タグはなるべく詳細に入れてもらえると、自動的に動画を関連付けます

タグ名をクリックすることでタグ検索も可能になるなど、ベネフィットも多いです。

じゃあの。

2013-08-12

http://anond.hatelabo.jp/20130812223600

んー、でもemath入れるよりは楽じゃないかなあ。

emathって、結局Perlも入れないとお話にならないことがわかってから、手を付けてない。

Webサーバを作る】http://d.hatena.ne.jp/kmaebashi/20130804/p1

マネしてPerlで書いてみた。以下ソースコード

use Fcntl;

use strict;

use Socket;

use threads;

use POSIX qw(strftime);

use File::Spec::Functions qw(rel2abs);

my $thread = threads->new(\&serverThread, "");

$thread->join;

sub getContentType {

my $ret;

my %hashmap=(

"html" => "text/html",

"htm" => "text/html",

"txt" => "text/plain",

"css" => "text/css",

"png" => "image/png",

"jpg" => "image/jpeg",

"jpeg" => "image/jpeg",

"gif" => "image/gif"

);

$ret = $hashmap{$_[0]};

if ($ret eq "") {

return "application/octet-stream";

} else {

return $ret;

}

}

sub serverThread {

my $documentRoot = rel2abs("D:/var/www/html");

my ($line, $path, @tmp, $ext, $data, $absPath);

socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp'));

bind(SERVER, sockaddr_in("8001", INADDR_ANY)) || die;

listen(SERVER, SOMAXCONN) || die;

while (accept(CLIENT, SERVER)) {

while (<CLIENT>){

$line = $_;

last if ($line eq "" || $line eq "\r\n" || $line eq "\n");

if (index($line, "GET") == 0){

$path = (split(/ /, $line))[1];

@tmp = split(/\./, $path);

$ext = @tmp[$#tmp];

}

}

print CLIENT "HTTP/1.1 200 OK\r\n";

print CLIENT "Date: " .strftime("%a, %d %b %Y %H:%M:%S GMT", gmtime). "\r\n";

print CLIENT "Server: Sever03.java\r\n";

print CLIENT "Connection: close\r\n";

print CLIENT "Content-type: ". getContentType($ext). "\r\n";

print CLIENT "\r\n";

$absPath = rel2abs($documentRoot. $path);

if (index($absPath,$documentRoot)==0 && sysopen(FH, $absPath, O_RDONLY | O_BINARY)) {

while ($data = <FH>) {

print CLIENT $data;

}

print CLIENT "\r\n";

close FH;

}

close CLIENT;

}

}

コアモジュールだけ使った。

元ネタJavaコードディレクトリトラバーサルになってたんで、一応対策を盛り込んだ。

といっても絶対に外向けに動かさないように。無いと思うけど。

いろいろツッコミくれるとうれしいです。

2013-07-25

プログラムを学ぶための障壁は、今やまったくない。

最近、前からずっとあるのかもしれないが、ビギナープログラマへ向けた教訓めいたエントリなどを

よく見かける。

やれフレームワークから始めるなだとか、なんとかかんとかというものだ。

同時に、これは昔から変わらないが、プログラム勉強したいけどどうしたら良いのかというような

質問などもよく見かける。

こういった数多のやり取りを見ていて、自身もプログラマとしての一面をもつ限りは

頑張っての一声もかけてやりたいと思うし、辛辣な内容のエントリに頷くこともあれば苦い顔をすることもある。

自分プログラム勉強を始めた当時は、プログラマを目指す者にとってはイバラの道だったと思う。

はいはい懐古厨おつと言われてしまいそうだが、実際そうだったのだ。

まずなんたって、パソコンを手に入れるのが容易でない。

当時PC-9821全盛期であったが、1台40万くらいはした。

HDDは数百メガバイトしかない。

容量1.2MBしかないフロッピーしこしこデータを保存していた。

パソコンが起動するまで5分くらい待つ必要があった。

そしてパソコンを手に入れたとしても、情報を調べる手段というのが確立されていない。

今でこそ、ブラウザを開いてGoogle検索すれば、どんな情報だって手に入る。

ブロードバンドという言葉がまだなかった頃は、そうではなかった。

インターネット接続するのも、お金持ちの家はISDNだが、自分の家はモデムでピーがが~とつないでいた。

28800bpsモデムである

今時の携帯でも3G通信でもっと通信速度が早いぞと思う。

そのため、当時はWebサイトのページ容量は画像も含めて数キロバイト以内に収めましょうという

慣習があったように思う。

NTTテレホーダイというサービスがあり、夜11時から朝の7時までは

特定の番号にかけ続けても一定料金でかけられるサービスがあり、みなそれを

利用していた。自然パソコンを利用する人々の活動タイミングは夜間となった。

インターネット接続できたとしても、まだまだ敷居はあった。

当時はまだGoogleがなかった。

Yahoo!全盛期の時代検索精度も低い。

なにより検索情報にたどり着くということはほとんど概念としてなかったんじゃないかと思う。

Yahoo!が用意したカテゴリを元に、登録されたWebサイトアクセスし、

サイトからリンクで新しいサイト発見するという、本当のインターネットサーフィン

しなければ、必要情報へはアクセスできなかった。

IntetnetExplorerはまだバージョン3くらいで、脆弱性がありまくり危険サイト

アクセスすると、ウイルスどころの騒ぎではなかった。

本当の意味でのアンダーグラウンドサイトごろごろあって、

一番陰気な雰囲気を持っていたんじゃないでしょうか。

NetscapeNavigator(今のFirefoxの前身)が人気を博していた時代の話である

さて、情報アクセスできたとして、次に問題になるのは開発環境の話である

昔の昔、基本ソフトBASICだった時代は、パソコンを起ち上げるとBASIC言語を使って

プログラミングが出来たが、Windows95はそうではなかった。

開発環境、そしてコンパイラをまず準備できないと、そもそもプログラム勉強が難しかった。

当時からMicrosoft統合開発環境として、VisualStudio存在したが、よほどの金持ちでないと

買えない値段がした。

そこで、LSI-C試食であるとか、Borland無料開発環境であるとか、N-88互換BASICなどの

無料開発環境を探しだして、しこしこコマンドライン上で動く基本動作だけを勉強したものなのだ

マシン上に、Apache+PHP+MySQLインストールする、なんて手法は夢のまた夢だった。

Webプログラム勉強するには、自分Linuxサーバーを起ち上げるか、CGIが利用できる

レンタルサーバーを使うかなど方法も限られていた。

CGIで利用できる言語も、CかPerlかくらいしかなかった。

JavaScriptもまだまだ発展途上で、今のようにあれこれと使えるようになるのは

まだまだ数年先の話だった。

それが今やどうだろう。

パソコンも一家に1台あるだろう。それどころか職場自分の机の上にも1台あるだろうし、

学校にいってもいくらでも使えるだろう。

そして、パソコンを立ちあげれば、即ネットが使える。

ググればどんな情報だって手に入る。

開発環境なんて、よりどりみどりメモ帳ソフトがあれば、もう勉強を始めることができる。

Windows上で動くアプリだってVisualStudio無料で手に入る。

それで敷居が高ければ、Excelを使ってもいい。VBAを使えば、Windowsアプリ勉強もできるだろう。

これだけ情報も溢れ、環境もどれを選ぶか難しいほどの状態になってしまっているのだ。

もはや、プログラム勉強するには、必要以上のものが用意されている環境にあるといっても過言ではない。

あと必要なのはやる気と実行力だけだ。

がんばってください。

2013-07-24

Wozの魔法使いによろしく

あれは2010年の暮れのことだったと思います

一人の社員Androidアプリプロトタイプ作成に手を挙げます


彼はまだまだ未成熟Script kiddieでした。

彼はなんとか自力でHackして仕様を満たせるよう努力しました。


そんな折、彼に信じがたい言葉を投げかける人がいました。

「まず報告しろ。」


しかに、彼は報告を怠った。それは社会人としてあるまじき行為だった。

だが、それは果たしてミスなのだろうか?

叱責や処罰の対象だろうか?


私は、そうは思わない。


「よちよち歩きでOKでちゅよ」

これはPerlの父、Larry Wall言葉だ。


我々は、いつでも好奇心研究心を歓迎するし、真に自由を愛している。

そういうとキチガイじみているが、狂気とmoralの境目くらいは認識している。


私はYellow Hackerだ。

黄色は警告の色だ。


私は警告する。


そのやり方は正しくないし、賢明でもないし、"The Answer"でもない。

それが私の唯一の答えであり、ドンキホーテのように立ち向かった証でもある。


最後に一つだけ。


プログラマー諸君、元気を出して働こう。

我々は奴隷ではないし、ペットでもない。

人間だ。


Because we are human beings.


続きを読む


さらに続きを読む

2013-06-30

http://anond.hatelabo.jp/20130630181708

ありがとうございます元増田です。

ゆるいので単位は今のままだと普通にとれると思います

それに卒業単位は足りてるからどうでもいいのです。

なので単位取得が目標ではないのです。

仕事にはするつもりないですが、

趣味FLASH触るのが好きなのでAction Scriptできるようになりたいし、

電子工作LEDチカチカさせる以外もやりたいし

つくりたいWebサイトがあるのでそのためにPerlとかPHPはそのうち勉強したいと思ってます

一度何か別の言語でも授業でやった方が導入しやすいと思って取りました。

なので理論?とかもきちっと理解したいんです。

あと

プログラミングの説明してる先生見ると憧れるし、

はてぶでホッテントリ入ってるプログラミングの記事みるとそれ理解したいって思うし、

はてな見てると誰でもできるかな?って思えてきちゃって。。

ギークな女ってかっこいいじゃないですか。

↑まあこういう頭空っぽのふわふわした文系女だから自分勉強する力もなくすぐパニクるんでしょうね。自分でも呆れます

参考書かいろいろ立ち読みします。。

2013-06-18

C言語はどうしても 他人が持ってるポインターを壊せるという、ガードしてもしきれないところは、どんだけやっても出てくる。

まり、有る一人のプログラマーが他人が管理してるメモリーをぶっ壊すという初歩的で単純なことを、見つけるのは場合によってはものすごい手間だ。

 

一人のミスが全員に迷惑をかける確率が高い。それがC系列言語宿命なんだ。最近はツールも沢山出たけどな。

から、やるなら覚悟して入ってきてくれ。連帯責任なんだ。みんな歓迎すると思う。

 

だけど、金のためにやるなら、JavascriptとかPHPとかPerlにしてくれ。それなら、言語エンジンが守ってくれる可能性が高い。

そういう住み分けAndroidDalvikなんだ。

2013-06-14

理想プログラミング言語

普段Perlを書いているんだけど、言語機能として欲しい機能ライブラリ任せだったりしていろいろしんどい

かいプログラミング言語はないかなーと思っているんだけど、なかなか自分の好みとピタリとくるものがない。まぁ好みにピタリとくるものなんかプログラミング言語に限らずないんだろうけど。

なので夢想してたのを垂れ流してみる。最近OOPディスのエントリとかあったので話題作りになれば。

Web系のエンジニアなのでWebサービス作ることが前提で、範囲広げすぎるとまとまらないので今回はLLを想定してる。

だいたい PHP, Perl, Python, Ruby, JavaScript あたりをイメージしながら、さらにこんな機能があればいいなーと思って書いたよ。

言語仕様
処理系
まとめ

http://anond.hatelabo.jp/20130614112828

perl拡張子つかない」が真でも「拡張子つかなければperl」が真とは限らないなあ。

http://anond.hatelabo.jp/20130613180031

はてなサービス拡張子的なものはつかないのが普通です。

∴つかない=perlということでいいですか?

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