Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
「PHPがdisられる時代は終わった~っ! いくぜおまえら~!」「PHP!」「PHP!」(PHPはこの後一回戦で敗退しました) さる2015年1月29日。横浜大さん橋ホールで行われたエンジニア勉強会イベント「CROSS 2015」にて「第一回 プログラム言語対抗綱引き」が行われた。 コンピュータの世界を支えるプログラム言語がその至高性を競い腕力でぶつかる、言語間戦争に決着をつける大会である。 40人の勇者(プログラマー)により死闘を繰り広げたのはC、Perl、PHP、Python、Ruby、JavaScript、Go、Java。 結果、Goの圧倒的勝利で幕を閉じたのだった。あらためて本記事でその全貌をレポートしていこう。 知ってた? 綱引きの掛け声の「オーエス」ってあれ、「OS(オペレーションシステム)」のことなんだぜ? 英語版もご用意しております! English article↓↓↓
Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初
正直言いますと、個人的には定数って殆ど使わないんですよね。 昔はちょこちょこ使ってたんですが、最近は定数となりうる物は基本的にYAML等外部ファイルに持たせて変更可能にすることが多いのでまったく使ってません。 ですがそれでもPerlで定数を使いたい時にはどーすんの?っていう時のために軽くここにまとめておきます。 言わずもかなPerl5.8にはconstantという定数を定義できる標準モジュールがあります。 use strict; use constant PI => 3.14; # 表示 print PI; # 3.14 # 上書きしようとすると・・・ PI = 3; # Can't modify constant item in scalar assignment とこのように上書きしようとするとエラーを吐いて死にます。 しかも実行時ではなく、コンパイル時にエラーを吐きます。 実はこのc
日経LinuxとITproは、総計約700項目のHTML/スクリプト言語リファレンスを公開しました。「HTML」(295項目)、「CSS」(73項目)、「Dynamic HTML」(98項目)、「JavaScript」(295項目)、「Perl」(125項目)あわせて698項目。各項目にサンプルコードを掲載しており、コピーし貼り付けてすぐにお使いいただけます。JavaScriptは「この用例を実行する」という文字をクリックすれば、その場でサンプルコードを実行してみることもできます。 ファンレンスを使いこなすための記事や、「JavaScript入門」「Perlの使い方入門」「CSSの基本」「Linuxコマンド道場」「シェル・スクリプト工房」といった入門記事もご用意しました。 これらのリファレンスはここ2~3年かけて作成してきたものです。そのため一部に内容の古いものもありますが、順次更新してい
2009年06月03日05:00 カテゴリLightweight Languages js/scheme/perl/ruby/C - この世で最も役に立たない関数 素敵! らばQ:「え?なに?なんなの?」この世で最も役に立たないマシンが完成していた(動画) 「最も」とか「一番」と言った最上級の表現は、安易に使うべきではないかもしれません。 ですが、さすがにこれ以上無意味なものも無いのでは、と思ってしまう機械がありました。 これをソフトウェアでやるとどうなるか。 Javascript (@spidermonkey) 簡単に出来た。が、arguments.calleeへの代入はやはり駄目。 #!/usr/bin/js pointless = function(){ print("turning off myself"); // arguments.callee = undefined; poi
2009年03月21日06:30 カテゴリLightweight Languages Ajax - Lightweight Languages を実行するAPI 今度はPerlだけではありません。 Perl だけではなく.... #!/usr/bin/perl warn time, "\n"; print ''.localtime; PHP も(誰だ、私がPHPを嫌いって言ってるのは:).... #!/usr/bin/php <?php echo date('r') ?> Python に... #!/usr/bin/python import datetime print datetime.datetime.now() Ruby に... #!/usr/bin/ruby puts Time.new Scheme (gauche) に... #!/usr/bin/gosh (use srf
今週末は2つの勉強会に参加・発表させていただきました! ステキな発表の場を設けていただいてありがとうございます!! 両方ともActionScript/Flashについて(?)の発表です。 それぞれ発表資料を公開させていただきます。 Flash + JavaScriptでmemcachedと直接通信 @ さかとくカンファレンス ActionScript3上で、Socketを用いてmemcachedとの通信を行うモジュールを書きました。 さらに、そのモジュールをJavaScriptから呼べるようにしました。 get/setしかサポートしてないですし、 全体的に設計とコーディングが小汚いです。 ちょっと恥ずかしいけど、 CodeReposにアップしているので適当に直してもらえると嬉しいです… プログラム本体・発表資料は以下に置いております。 CodeReposのレポジトリパス 発表資料(PDFで
複数のプロセスでロック状態が異常であると判断し,そのうちの 1つがロックを解除したことにより,別のプロセスがロックしたにもか かわらず,先ほどロック状態が異常であると判断したプロセスによってこの正常なロッ クを解除されてしまう可能性があります. この方法の問題点は,異常なロック状態を解除する操作が正常なロック状態をも 解除できてしまうことにあります.逆に言えば,異常なロック状態を解除する操作に よって正常なロック状態を解除できなければ問題ないわけです.そのためにはどうす ればよいのか? 答えはロック状態が常に変化していけば よいということです.そして,これを実現するのに都合がよいのが rename による方法になります. 最初のスクリプトで説明しますと,ロックファイルが lockfile という 名前のときがロックが解除されている状態で,lockfile987654321 のよう に後ろに
先日行われた「YAPC::Asia::2007」のセッションビデオがWebで公開された。40本以上の動画ファイルがi-revo特設サイト(WMVストリーミング)またはGoogle Video(Flash/DivX/MP4)にて閲覧できるようになっている。 Google VideoからダウンロードできるMP4(H.264)ファイルも用意されているため、iPodやPSPなどにダウンロード・同期することもできる。 また、YAPC::Asia 2007サイト内のセッション詳細ページも、Flashムービーが設置されており、タイムテーブル順にセッションを見ていくことができるようになっている。 YAPC::Asia 2007 Tokyo:動画ファイルの公開を開始 i-revoYAPC::Asia::2007 Google Video:yapc asia 2007
スパム対策をして気がついたのですが、どうやらスパムトラックバックを送信してくるリモートホスト(IPアドレスなど)はバラバラであっても、ユーザーエージェント、いわゆるブラウザの名称部分に「libwww-perl/5.805」というように「libwww-perl」と入っているものが多く、結果として、Googleなどは検索結果ページに対してこのユーザーエージェント名の一部「libwww」が含まれているとアクセス拒否しているようです。 ネット上で調べてみると、かなり多くの人が「libwww-perlはスパム送信ボットだ」と思っているらしいので、その正体を探ってみます。実際にはスパム送信のためのものではないです。どんなものでも悪用されると悲劇が起きるという例になってしまっています。 詳細は以下の通り。 まず最初に、「libwww-perl」がスパム発生器と化している状況は検索すれば国内や海外含めて山
\x{} \pは後続する名前が表すクラス(プロパティ、スクリプト、ブロック)に属する文字にマッチし、 \Pは後続する名前のクラスに属さない文字にマッチします。 クラスの名前が一文字のときはブレースを省略できます。 クラス名の前に^を置くことにより否定形の指定を行うことも可能です。 Perl 5.8 での変更点 Perl5.8以降(5.6でも使えたようですが)では \pや\Pで始まるプロパティ指定に標準Unicode属性を使うこともできます。 詳しくは perlunicode perlunicode - Perl における Unicode サポート を参照してください。 日本語による説明が Unicodestandard にもあります。 Perl 5.8以降ではユーザーが任意のプロパティを作成することができます (IsまたはInを必ず前置)。 詳しくは perlunicode perluni
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
最終更新 2019-01-02 setuid とは、UNIX/Linux において、root など特定の権限でプログラムやコマンドを実行する仕組みである。 ●setuid の基礎 UNIX/Linux において passwd コマンドでパスワードを変更したり、chsh コマンドでログイン時のシェルを変更したりすることができる。これらの情報は /etc/passwd や /etc/shadow (または /etc/master.passwd) などに保存されている。 ここでよ〜く考えてみよう。つまり passwd コマンドや chsh コマンドは、/etc/passwd・/etc/shadow などのファイルを更新するということだ。しかしながら、んこれらのファイルは、一般ユーザが書き換えできないようにパーミッションが設定されている。 % ls -l /etc/passwd /etc/mast
suidなperlを実行したときに、 Insecure dependency ....のエラーが出る場合で、どうしても回避したい場合の処理(perlsec.1より)。 サブパターンを参照することでも、この汚染チェックの仕組みの裏をかくことができます。 $1, $2 といった部分文字列を使うときには、Perl は、使っているみなさん自身が、パターンを書く時点で、自分で何をしているのかが分かっているものと、仮定するのです: $ARGV[0] =~ /^-P(\w+)$/; $printer = $1; # 汚染されません これは、\w+ がシェルのメタ文字にマッチしませんから、かなり安全です。 /.+/ は安全とはいえないものですが、Perl はそれをチェックしてくれませんから、パターンの内容にも注意しないといけません。 これは、($> を $< に合わせないのであれば) ファイル名を与えて、
CGI を作成する上で、テキストボックスやラジオボタンなどのフォームに入力、選択された状態を取り込むことは避けてとおれません。 ここでは、入力フォームのデータをどのように CGI で取り込むのかを紹介します。 初心者向けに冒頭でで GET と POST についても解説します。 目次 HTTP メソッド フォームデータをサーバーに送信する方法 (メソッド) には GET メソッドと POST メソッドがあります。 HTTP プロトコルでは、他に PUT メソッドや DELETE メソッドも規定されていますが、 ブラウザーで利用できるのは GET メソッドと POST メソッドの 2 つだけです。 GET メソッドやは、HTTP/0.9 から規定されており、当時ではデータをサーバーに送信する唯一の手段でした。 今でもデータ送信手段として使われていますが、送信データが URL としてブラウザーの
Perl で CGI を開発するうえで役に立つ Perl モジュールはいくつもありますが、 その中でも有名なモジュールと言えば CGI.pm でしょう。 かつては Perl5 に標準モジュールとして組み込まれていた定番モジュールです。 しかし、Perl による CGI 開発が少なくなってきたという動向も影響したせいか、 最新の Perl5 では標準モジュールから外されてしまいました。 しかし、いまなお、多くのレンタルサーバーで利用することができます。 本記事では、CGI.pm の基本的な使い方を解説します。 また、もし最新の Perl5 の環境で CGI.pm がインストールされていないレンタルサーバーでも、 CGI.pm を組み込む方法についても解説します。 目次 CGI.pm のバージョンアップに伴う変化 前述の通り、かつて CGI.pm は Perl5 の標準モジュールでした。 その
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く