できるだけ正確な記述を目指していますが、誤りがありましたら、お知らせ願います。 (最終更新: 2013/3/29 11:22) 正規表現の種類 まず、PHP には以下の 3種類の正規表現があります。 Perl 互換の正規表現 (pcre) mbstring の正規表現 (mbregex) POSIX 拡張正規表現 (regex) このうち、regex は バイナリセーフでない 日本語は扱えない PHP 5.3 で非推奨 なので使わない方がいいでしょう。見つけたら、随時 pcre か mbregex で書き直しましょう。 Perl 互換の正規表現 (pcre) 正規表現エンジンは Perl の「PCRE」 日本語は UTF-8 のみ扱える UTF-8 を使う場合は、パターン修飾子に u を指定する 文字クラスはロケールの影響を受ける PHP: 文字クラス - Manual 処理の制限値 (p
2013年02月21日16:00 カテゴリTipsLightweight Languages javascript - httpstatus.js JavaScript徹底攻略 手慰みに移植しますた。 httpstatus コマンドで、HTTP のステータスコードをすばやくしらべる! - tokuhirom's blog. 僕は初心者なので、なかなか覚えきれていないので、HTTPのステータスコードをさがすのに便利なツールを用意しました。 404が何を意味するのかこれですぐに思い出せます。 Demo DHTML Source Enjoy! Dan the Man with Too Many Status Codes to Remember P.S. 「JavaScript徹底解説」、この場を借りて献本御礼。 http://api.dan.co.jp/js/httpstatus.js 「Tip
twitter facebook hatena google pocket PCでの画像拡大と言えばLightBox系が席巻していましたが、スマホだとなんだか使いにくいものでした。 Swipeboxはスワイプ動作による画像間の切り替えも可能で、新時代の到来を予感させます。 なおPCでもキーボードによる遷移ができたりします。 sponsors 使用方法 Swipeboxからファイル一式をダウンロード。 <link rel="stylesheet" href="swipebox.css"> <script type="text/javascript" src="jquery-1.9.1.min.js"></script> <script type="text/javascript" src="jquery.swipebox.js"></script> <script type="text/ja
そもそも「関数」とは? 関数ならC言語にもあるのでは 関数型でいう「関数」とは、C言語における関数やC++/Javaでいうメソッドとは微妙に異なる。関数型における「関数」とは、その出力が入力だけで一意に決まるものを指す。一方、C言語など一般的なプログラミング言語では、関数の出力は必ずしも入力だけでは決まらない。関数の内部にある変数の値、システム全体の状態などによって、同じ入力を与えたとしても出力は変わってしまうものが多い。結果として、関数の動作は複雑になり、コードの可読性も悪化、テストもしにくくなる。 関数型でいう「関数」は、プログラムをよりシンプルにする仕組みであり、関数型プログラミング言語では、この「関数」を主体にしたプログラミング・スタイルを支援する仕組みが備わっている(関連記事)。手続き型のプログラミング言語でも、状態などを入力に含めて記述すれば、関数型でいう「関数」と等しくなる。
これは普通の日記です。 今年は巳年なのでPythonを始めました。 全てのwebエンジニアがPythonを勉強するべき2013年到来 別にこの記事に影響されるほど繊細でもないのですが、Perlは仕事でいくらでも書けるし、Rubyはあんまり好きじゃないので、Pythonやってみるかーという軽い気持ちです。 ただ、Pythonの本はなかなか良いのが見つからなくて、最初は初めてのPythonを読もうと思ったのだけど、読み終えるのに一年くらいかかりそうだったからやめました。 Pythonクックブックにも一度手をつけたけど結局読まず、最終的に読み進めたのはDive Into Pythonだけでした。無料で読めるし、とりあえず完成したPythonコードを突き出して (Diveして)、順に説明するという方式で、他の入門書より速く学べる。実際、文法を多少知らなくてもDiveしたPythonコードは雰囲気で
Perlの食えない事情 より おっと、そうです、Perlには演算子が多すぎるのでした。せっかくの機会なので、Perlの演算子を紹介します。 ビーナス演算子: 0+, +0 数値として評価してくれます。意外とよく見かけますね。 なぜこの演算子を使う必要があるのかというと、Perlは文字列と数値を明確に区別できないからです。scalarを文字列として解釈するならば文字列として、 print 0+ '10'; #=> 10 print 0+ '123b'; #=> 123 print '1.2e3' +0; #=> 1200 print [] +0; #=> 4303367864 ちなみに、文字列として評価するときにはこのようにするとかっこいいと言われています。 $obj.q(); 一見メソッド呼び出しのように見えますが $obj . ''; と等価です。 ベビーカー演算子: @{[ ]} 文字
最近 JavaScript の this キーワードについての記事をいくつか見かけて 「そういや自分も昔 this キーワードについて記事を書いたなー」 と思って 古い記事 を見返してみたのですが、関数呼び出しのことしか説明してなかったので改めて this キーワードの全般的な話を書いておこうかと思います。 本記事は ECMA-262 5.1th に基づいています。 初心者向けの this キーワードの使い方の指針を示しているわけでも JavaScript 処理系の実装の説明をしているわけでもなく、JavaScript 言語コアの仕様を説明していることに注意してください。 ECMA-262 5.1th : JavaScript の言語コア部分 (ECMAScript) の言語仕様 (バージョン 5.1) 初心者向けの this キーワード周りの指針 この記事の最後の 「まとめ」 に、自分が
注意 この内容はすでに古くなっています。 pipの使い方 (2014/1バージョン) を参照してください。 pipとは、Pythonにおけるパッケージ管理システムです。easy_installというツールもあるのですが、pipはこのeasy_installを置き換えるものとして開発されています。rubyのgem、perlのcpan的な位置づけです。 同じパッケージ管理ツールとしてsetuptools置き換えのdistributeというものもあるのですが、こちらはsetuptools全体を置き換えるものとして開発されており、pipはsetuptoolsの一部であるeasy_installを置き換える形です。 なお、現在のpipのバージョンは0.8.2で、このエントリはこのバージョンを使っています。 なにかおかしい点があれば、ご指摘ください。 > 識者の方々 pipのinstall まずはea
本書について 本書は、Node.jsでのアプリケーション開発を始めようとする皆さんに、 ”高度な”JavaScriptについて知るべきあらゆることを解説します。 よくある”Hello World”チュートリアルの、はるか上をいくものです。 ステータス 貴方が読んでいるのは、本書のいわゆる最終版となります。 つまり本書は、間違いが見つかった場合や、 Node.jsの新バージョンにおえる変更点を反映する時のみ、改訂されます。 最終更新日は2012年2月12日です。 本書内のコードのサンプルは、Node.jsのバージョン0.6.10でテストしています。 ターゲット読者 本書は、Ruby、Python、PHP、Javaのような、少なくともひとつのオブジェクト指向言語を理解しており、 JavaScriptについてはあまり経験がなく、Node.jsについては全く経験がないという、 著者と同じようなバッ
2019/06/11追記: これは2012年の投稿です。なぜかはてなブックマークで拡散されていますが、内容は時代にそぐわなくなったものもあるのでご注意ください。 これ知らないプログラマって損してんなって思う汎用的なツールのコメントに寄せられたツールを分類分けしてみました。 解説は、ほぼコメントに寄せられた内容のコピペです。 URLのみの記述は公式サイト(か、ほぼ公式サイトと化しているサイト) 公式サイトとは別に、ページタイトルだけでツールを説明しきっているページへのリンクも付けておきました。類似ページが複数ある場合は、はてブのブックマーク数が多いものを選びました。 知らないツールもあるので、分類がいいかげんなところもあると思います。何か気づいたらコメントください。 解説が不十分なツールについても、補足(コピペで本文に取り込める体裁だとありがたい)を頂けると助かります! 元ネタの投稿は現在進
1. Scheme のすすめ Scheme を使うと、 美しいコードを書くことができます。 プログラミングが楽しくなります。 これが Scheme を習う唯一の理由です。 Scheme を使って実用的なプログラムを書こうとするとあてが外れるでしょう。 しかし、優秀なハッカーは Scheme 好きが多いので、Scheme を習っておいて損は無いと思います。 実際、最も優れたコンピュータ科学の教科書の1つである Structure and Interpretation of Computer Programs (SICP) 日本語訳:計算機プログラムの構造と解釈 のプログラム例も Scheme で書かれています。 また、GNU は拡張言語に guile という Scheme を採用しています。 guile は MS-Word や Excell のマクロのようなもので、 簡単なスクリプトで、アプ
Peter Norvig / 青木靖 訳 このページには2つの目的がある。コンピュータ言語の実装について一般的な記述をすることと、Lispの方言であるSchemeのサブセットをPythonで実装する具体的な方法を示すことである。私はこのインタプリタをLispy (lis.py)と呼ぶ。何年か前に私はJavaとCommon LispでSchemeインタプリタを書く方法を示した。今回の目標は、アラン・ケイが「ソフトウェアのマクスウェル方程式」と呼んだところの簡潔さと取っつきやすさを可能な限り実現するということだ。 SchemeのサブセットLispy の構文と意味論 コンピュータ言語の多くは様々な構文的な決まり(キーワード、中置演算子、カッコ、演算子優先順、ドット記法、セミコロンなど)を持っているが、Lisp族言語の1つとして、Schemeの構文はすべてカッコ付きの前置記法であるリストを基本とし
Emacs から SLIME を起動すると (http://lispuser.net/emacs/lisphacking.html , http://lispuser.net/commonlisp/clisp.html 参照) 、 CL-USER> というプロンプトが表示されていると思います。 CL-USER> ここに、プログラムを入力することで、 Lisp にプログラムを解釈させて結果を確認することができます。 さっそく Lisp にプログラムを実行させてみましょう。 CL-USER> (+ 1 2) 3 これは、 1 + 2 を計算させるプログラムです。 (+ 1 2) の意味は、関数 + パラメータとして 1 と 2 を渡す、という意味になります。 乗算を行いたい場合には関数 * を使用してみてください。 CL-USER> (* 3 4) 12 もちろん、式を入れ個にする事もできます
wheezy.webいいかもー(1) wheezy.webという新しいフルスタック軽量WebFrameworkがリリースされています。 モダンな作りでかつ役割分担を明確に分離してデザインされています。 コードがシンプルで、アプリの実装に対して 極力オーバーヘッドにならないよう注意深く実装されています。 「契約によるデザイン」やベンチマークテストも取り入れていて 多人数での開発でも耐えうる仕掛けを持っているようです。 サイト: https://bitbucket.org/akorn/wheezy.web ドキュメント: http://packages.python.org/wheezy.web/ 続きを読む...
プログラミング言語Pythonの習得を目的としたサイト、Python-izmです。 入門編、基礎編、応用編などカテゴリ分けされていますが、すでにPythonの基本構文、実行方法等を習得されている方は入門編を飛ばしてご利用ください。これからPythonを学習する、という方は入門編 – Pythonとはより順にご利用ください。また本サイトは主にPython 3系を用いていますが、3系と比較して大きく異なる場合は Python 2系のコードも掲載しています。バージョン2系と3系の違いは2系と3系の違いを参照してください。 お知らせ 2018/01 サイトのリニューアルに伴い、Python 3系への対応、SSL化を行いました。今後ともPython-izmを宜しくお願い致します。 Pickupコンテンツ 各プログラミング言語の実行までの手順をまとめました。Pythonは他の言語と比較しても容易に実行
世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください) ややこしいコマンドを全スルーして個人用バックアップとして使ってみる 2013.01.26 LDD13 LT 【概要】 次々と新しい技術やサービスが公開され、いろいろ挑戦してみたい・・・とは思うのですが、それが複雑なものだったり高機能であったりすると、どうしても最初のハードルが高く、なかなか踏み出せないと感じます。 そんな時、私の場合は、とりあえず、できるだけ簡単なマニュアルを探してきて、良く分からないところは全部無視して無理やり使ってみることにしています。訳が分からないままでも、使っていることで、ちょっとずつイメージが湧いてきて、画面が見慣れたものになってきます。そして、それから改めて入門書を読み始めます。そうすることで、最初のハードルが、少しは下がるのではと考えています。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く