タグ

プログラミングに関するwizard_blueのブックマーク (70)

  • 西暦1年は閏年か? - プログラマーの脳みそ

    閏年(うるうどし)の話題。 Twitterで見かけた話題で「西暦1年は閏年かどうかぱっとわからん人おる?」という些か煽り気味のツイートを見かけたのだけども、反射的に「閏年じゃないに決まってるじゃん」とぱっと答えてしまわないだろうか。当にそうだろうか? そう単純な話なのだろうか? プログラミングを学んでカレンダーを扱うことを学ぶ際に置閏法についても簡単に触れられることがある。置閏法というのは閏年や閏月(太陰暦では1年が13ヵ月になるケースがあり追加の月を閏月と呼ぶ)をどのようなルールで挿入するかという話で、まさにアルゴリズムであるからプログラミングの話題と相性がいい。 置閏法 現代の西暦の置閏法(ちじゅんほう)は 西暦を 400 で割り切れる年は閏年 上記以外で西暦を 100 で割り切れる年は平年 上記以外で西暦を 4 で割り切れる年は閏年 上記以外は平年 といった手続きで閏年(つまり2月

    西暦1年は閏年か? - プログラマーの脳みそ
  • リバースエンジニアリング入門 連載インデックス - @IT -

    シェルコードから始めるマルウェア解析 リバースエンジニアリング入門(1) コンピュータウイルスの解析などに欠かせないリバースエンジニアリング技術の基礎を、実践形式で紹介!

  • 「プログラミングの基礎」を使った授業紹介

    「プログラミングの基礎」を使った授業紹介 浅井 健一 このページでは、お茶の水女子大学、理学部、情報科学科の2年生を 対象とした授業「関数型言語」のビデオほかを公開しています。 この授業は反転授業 (flipped class) を行っており、 受講生は授業前に以下の予習を求められます。 毎回の授業用に用意されたビデオを見て、 予習クイズに答えること。 教科書の該当部分を読んで、 教科書問題に答えること。 授業時間中は特に内容の説明はせず、 受講生は別途、示される練習問題とレポート問題を各自、解きます。 その際に生じた疑問点等について授業で個別に対応しています。

  • PHPとかいろいろ演算代入系の演算子のハナシ - なんたらノート第三期ベータ

    PHPの関数定義はこんな変態的な書き方ができる - 頭ん中 に、続いて。アンリーダブルコードで勉強しようというのがあった、そのとある勉強会の発表ネタです。 これは、PHPMarkdownパーサ の実装を可能な限りそのまま綺麗に変換してJavaScriptに移植しようという js-markdown-extra をやっていたとき、大ハマりして修正に苦労したバグの話から来てます。 演算代入。+= とか *= とかのやつ。関数型の人以外はきっと常用してますね。じゃあ問題。 <?php $tokens = array("a", "b", "c"); $tokens[0] .= array_shift($tokens); print_r($tokens); こうするとどんな結果が出力されるでしょうか。PHPです。 自身の先頭から要素を取り出して、それを先頭要素に文字列追加する。array_shift

    PHPとかいろいろ演算代入系の演算子のハナシ - なんたらノート第三期ベータ
  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

  • あなたが理解できない,たった一行のPerlのコード - tokuhirom's blog

    http://d.hatena.ne.jp/language_and_engineering/20120619/p1 whatever / 25 ; # / ; die "this dies!"; これね。 BEGIN { if ( 0.5 < rand() ) { eval "sub whatever() { }; 1" or die $@; } else { eval "sub whatever { }; 1" or die $@; } } whatever / 25 ; # / ; die "this dies!"; こういう風に prototype がちがうと残念ですね。 この話題 2008 年にみたわー http://www.perlmonks.org/?node_id=663393 ってことで。

  • Perl Cannot Be Parsed: A Formal Proof

    [ UPDATE 27 Aug 2009: Readers interested in the topic of this node will want to look first (or instead) at the series of three articles I wrote for The Perl Review, now available online. They lay this proof out more carefully and with thorough explanations, in three different versions. ] [ At this point this post should be considered mainly of historical interest. One especial defect is that it fr

  • ぷろぐらみんぐおさんぽまっぷ

    こういう薄いです 「プログラミング言語の文法を勉強してみたけど、 そのあとどうしよう?どうやったら綺麗なコードが書けて、世の中にあるカッコいいソフトウェアが作れるようになるんだろう?」 プログラミングをするようになってから数年経ち、このようなことをよく聞かれるようになりました。書では、この疑問に対する私なりの答えを示しています。あなたが今手にとっているこのは、初学者のためのプログラミング全般の入門です。と同時に、私がいつも同級生に教えていることのミニまとめでもあります。 対象読者としては「プログラミングを学校で勉強し始めて半年くらい経った学生」を想定しています。「やらされている勉強」に焦りを感じながらも、自分だけではどう進めば良いのかわからない。そう、そんなあなたのための薄いです。 これから非常に浅く広くプログラミングを取り巻く世界をお散歩します。というのは建前で……散歩なんかし

  • 「逆に凄いわ」って感心するPythonのlambda活用法 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonlambdaは無名関数を式で作ることができる文法。なんか関数言語っぽくて,「LISPの正当な継承者はPythonだ」という気にさせるクールな機能。 クールだけど,使い方を間違えると大変なことになる。乱用は避けたい。極端すぎるほどアナーキーなlambdaの使い方を見つけたので,反面教師としていくつかの例を紹介します。なお,このコードはあまりにアナーキーなのでPython 3.xでは(一部)動きません。 def pow(x, power): return x**power というコードがあったとして, pow = lambda x, power: x**power みたいにl

  • Git管理の神ツール「Gitolite」なら、ここまでできる!

    「Git」使ってますか? 近年、分散バージョン管理システム「Git」が急速にシェアを伸ばしています。筆者は、チケットシステムやバージョン管理の勉強会などを開催したりしていますが、Gitユーザーがかなり増えてきていると感じます。 しかしながら、そのような勉強会でアンケートを取ってみると、実案件では半分以上の人がSubversionを利用しており、Gitの導入はまだまだ進んでいません。移行コストが掛かったり、プロジェクトマネージャ層への知名度がまだまだ低いというのもありますが、理由の1つとして、ユーザー管理が煩雑であったり、アクセス制御に関する情報が不足しているということもあると思います。 そういうわけで稿では、Gitリポジトリのユーザー管理やアクセス制御を簡単に行う「Gitolite」を紹介します。 なお、稿ではGitの利用方法については紹介しませんので、Git自身の使い方については改め

    Git管理の神ツール「Gitolite」なら、ここまでできる!
  • 全プログラマーが知るべきレイテンシー数

    Latency numbers every programmer should know — Gist L1キャッシュ参照 0.5ナノ秒 分岐予測失敗 5ナノ秒 L2キャッシュ参照 7ナノ秒 Mutexのロックとアンロック 25ナノ秒 メインメモリー参照 100ナノ秒 Zippy[Snappy]による1KBの圧縮 3,000ナノ秒 1Gbpsネットワーク越しに2KBを送信 20,000ナノ秒 メモリーから連続した1MBの領域の読み出し 250,000ナノ秒 同一データセンター内におけるラウンドトリップ 500,000ナノ秒 ディスクシーク 10,000,000ナノ秒 ディスクから連続した1MBの領域の読み出し 20,000,000ナノ秒 パケットを、カリフォルニア→オランダ→カリフォルニアと送る 150,000,000ナノ秒 Jeff Dean著(http://research.googl

  • Apache2.2の各フックで動くモジュールのファイル一覧 - clouder's blog

    フックの順番はてきとう(処理順ではない)です。(あとで気が向いたら直します。) ↑なるべく順番になるように直してみた。けど順番は無保証にしときます。 あとたぶん標準のモジュールだけのはずだけどなんかが紛れ込んでるかも。 これの出しかたはエントリ下に書いておきます。 hook source file pre_config mod_logio.c mod_log_config.c prefork.c mod_rewrite.c mod_headers.c mod_dbd.c mod_proxy.c test_config mod_so.c open_logs prefork.c core.c mod_log_config.c post_config mod_include.c mod_cgi.c core.c mod_ext_filter.c mod_headers.c mod_proxy.c

    Apache2.2の各フックで動くモジュールのファイル一覧 - clouder's blog
  • フックから Apache の全体像を追う - daily dayflower

    DSAS開発者の部屋:[補足記事]Apache 2.0 の hook 一覧(apache module 開発事初め その3-3) はモジュールを書く際にどこにフックをしかけるかという点で非常に参考になります。 が,いまだにいまいち Apache からどのように呼び出されるか実感がわきません。ひょっとしてフックの呼び出し方を調べると Apache の処理フローを追っていけるんじゃないか,という無謀な挑戦をしてみました。 対象 前提条件 Apache のモジュールを書いたことがある人; 最低限 ap_hook_handler フックを使ったことがある人 調査対象 Apache 2.2.3 のソース*1 なお,以下に記したソースは,実際のソースの引用ではなく,おもにフックを呼び出している部分のみの抜粋となります。またロジックを損なわない程度に書き換えた部分もあります。さらには引数や戻り値について

    フックから Apache の全体像を追う - daily dayflower
  • [補足記事]Apache 2.0 の hook 一覧(apache module 開発事初め その3-3) : DSAS開発者の部屋

    先日この記事において hook の呼び出しに関してコメントを頂きました. 実際のところよく分かってない部分もあったので,hook に関してまとめてみました. このページの記述について このページの内容に関して 英語の文章は,全て Apache 2.0.58 のソースコード中から集めてきた原文ママです. 全ての hook に関して調べ尽くした訳じゃないので間違いもあると思います.間違いに気づかれた方はコメントで指摘いただければ幸いです m(_ _)m hook の呼び出し順序に関して hook が呼び出される順序は,「設定初期化」「プロセス初期化」「コネクション」「リクエスト」に関しては記述した順序で呼び出されるようです. RUN_ALL,RUN_FIRST について RUN_FIRST の hook は,呼び出した hook 処理関数が OK や DECLINE エラーを返した場合,その次

    [補足記事]Apache 2.0 の hook 一覧(apache module 開発事初め その3-3) : DSAS開発者の部屋
  • 最強のIT系かあちゃんからたかしへのアドバイス

    バーンれっどさーん @ledsun たかしへ あなたの勤怠確認しました.こんなに残業が多い割に大して売上が上がってないのはどうしてですか?顧客との信頼関係の構築も甘いとと思います.来月からは頑張って下さい.ちなみに母さんは今月、10人月で作ったシステムを3000万で売ってきました。 バーンれっどさーん @ledsun たかしへ あなたの立てたスケジュール読みました。作成工数だけでバッファがありません。予想外の事態が起きた時はどうするのですか?残業でカバーですか?お客様が参加するイベントが入っていません。都度調整ですか?事前に提示していないと都合がつかなくても納期延長できませんが大丈夫ですか? バーンれっどさーん @ledsun たかしへ あなたの作った機能仕様書読みました。技術的面ではチャレンジグで素晴らしかったです。でも、このシステムを使う人にどういうメリットがあるか分かりませんでした。

    最強のIT系かあちゃんからたかしへのアドバイス
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • そろそろnode.jsについて一言書いておくか | KRAY Inc

    はじめに 毎年サーバーサイドJavaScriptが流行ると言ってるみなさんこんにちはダニーです。 ということで、node.jsをはじめてみました。 Twitter Streaming APIで取得したデーターをWebSocketで 接続したクライアントに出力するデモを作成したので紹介したいと思います。 今回のデモについて 今回作成したデモは node.jsのHttpClinetでTwtter Streaming APIでTwtterからデータを取得して、 node.jsのWebSocket Serverでそのデータを接続してきたWebSocket対応ブラウザに送信するということを やっています。 Twitter Streaming APIで取得できるようにする。 動かすのにhttp-basic-authが必要です。 npm install http-basic-auth streaming

    そろそろnode.jsについて一言書いておくか | KRAY Inc
  • グーグルのバグ予測アルゴリズムを実装したツール「bugspots」、オープンソースで公開

    ソースコードのなかでバグが多いのは、より高頻度に、かつ最近になって集中的に直している部分。これが、グーグルで採用された「バグ予測アルゴリズム」であることを、先月の記事「グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している」で紹介しました。 そのバグ予測アルゴリズムを実装したツール「bugspots」がオープンソースとして公開されています。 gitのレポジトリを分析 bugspotsはRubyで記述されており、gitのレポジトリから履歴を読み込んで分析し、どのモジュールにバグが含まれている確率が高いかを示してくれます。 以下のようにインストールして実行(説明ページから引用)。 $> gem install bugspots $> git bugspots /path/to/repo $> git bugspots . # (in current git directory)

    グーグルのバグ予測アルゴリズムを実装したツール「bugspots」、オープンソースで公開
  • 223Soft -

    Document Data Structure in MongoDB Express MongoDB lets you easily store structured and unstructured data in a flexible and dynamic database schema. It supports CRUD operations on complex data objects using JSON as the main data type. Its an open source solution so it may not be as robust or well supported as commercial management tools. However it is easy to deploy and works well for most use cas

  • [はまちちゃんのセキュリティ講座]ここがキミの脆弱なところ…! 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    [はまちちゃんのセキュリティ講座]ここがキミの脆弱なところ…! 記事一覧 | gihyo.jp