タグ

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

  • Can (a== 1 && a ==2 && a==3) ever evaluate to true?

    Moderator note: Please resist the urge to edit the code or remove this notice. The pattern of whitespace may be part of the question and therefore should not be tampered with unnecessarily. If you are in the "whitespace is insignificant" camp, you should be able to accept the code as is. Is it ever possible that (a== 1 && a ==2 && a==3) could evaluate to true in JavaScript? This is an interview qu

    Can (a== 1 && a ==2 && a==3) ever evaluate to true?
  • JavaScript を PNG に圧縮する | Yomotsu net

    JavaScript を PNG に圧縮するツールを作りました。JS_Packer demoscene は最近 WebGL を使ったものも多くなってきています。 demoecene は基的に ローカルにファイルとして存在しているものを使う そのファイル容量は 1 バイトでも少ないほうがいい (容量制限がある分野がある) という文化です。そして JS ファイルを圧縮する手法の一つに、JS を PNG 画像にして、それをデコードする、という手法が存在します。 JS の性質JS のコードは基的にアスキー文字の集まりです。アスキーコードは、小文字/大文字のアルファベット、数字、スペースといった 128 種類しか存在しません。 PNG8 の性質8 ビット PNG は 256 種類の色をパレットに持っています。 PNG は可逆圧縮(ロスレス)形式の画像です。圧縮しても失われるデータはありません。

    JavaScript を PNG に圧縮する | Yomotsu net
  • 熱血! アセンブラ入門 - 秀和システム あなたの学びをサポート!

    コンピュータとプログラミングを愛するすべての人に捧げるアセンブラ入門。700ページ以上にわたり、40種類のアセンブラを読み説きながら、アセンブラが現役であり続ける理由を考察します。アセンブラを読みはじめるのに、CPUの仕様書や、英語力なんて必要ないのです。研究者がこだわる「わかる喜び」、エンジニアがこだわる「動く喜び」を追い求める「熱意」こそが大切です。書を片手にオンリーワン・エンジニアを目指しましょう。 【サポートはこちら】→https://www.shuwasystem.co.jp/support/7980html/4180.html 第1部 基礎編:まずはアセンブラに慣れよう 01 まずは基操作を覚えて,アセンブラに慣れよう! 01.01 アセンブラを見てみよう 01.01.01 3つの関数だけを見てみる 01.01.02 まずは,目的を意識して読んでみよう 01.01.03 ア

    熱血! アセンブラ入門 - 秀和システム あなたの学びをサポート!
  • 画像の中のご飯にカレーをかけるプログラムを作ってみた

    注目の技術:ドローン、3Dプリンタ、あと一つは「カレー」です。手法はかなり自己流です。あとパラメタは全画像共通。sm9738770 品CMをピアノソナタに!!

    画像の中のご飯にカレーをかけるプログラムを作ってみた
  • 一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録

    一番右端の立っているビット位置(RightMostBit)を求めるコードで速いのないかなーと探していたら、ものっっっすごいコードに出会ってしまったのでご紹介。2ch のビット演算スレで 32bit 値のコードに出会って衝撃を受けて、その後 64bit 値版のヒントを見つけたのでコードを書いてみました。 この問題は ハッカーのたのしみ―物のプログラマはいかにして問題を解くか (Google book search で原著 Hacker's delight が読めたのでそれで済ませた) で number of trailing zeros (ntz) として紹介されています。bit で考えたときに右側に 0 がいくつあるかを数えるもの。1 だと 0、2 だと 1、0x80 なら 7、12 なら 2 といったぐあい。0 のときに表題どおりの問題として考えるといくつを返すの?ってことになるので、

    一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録
  • 離散フーリエ変換を用いた多倍長乗算の話

    はじめに CPU のレジスタに入り切らないような巨大あるいは高精度な数値データの演算を行うとき、四則演算をやるにもそのためのルーチンを用意しなければならない。(*1) ここでは、「CPU のレジスタではちょっとはみ出す」という程度の数値データのことは考えない。何万桁、何百万桁という普通では目にしないような巨大な数値データを扱う場合に掛け算をどうすればよいかについて考える。(*2) はっきり言ってそんな巨大な数が扱えたところで日常生活にこれといった恩恵があるわけではないが、敢えて常識を覆すことによって掛け算の質が見えてくるかも知れない……などと論文調にこじつけてみたけれど、実は単なる好奇心だったりする。ただ、常識が覆されるのは事実だ。私は実際に巨大な数の計算を必要としているのではなくて、常識を覆えすことに快感を覚えるのである。(*3) 先に断っておくと、以下の解説を全部理解するには

  • brain.js demo: Train a neural network to recognize color contrast

    brain.js demo - train a neural network to recognize color contrast

    wepon
    wepon 2012/04/14
    JavaScriptでニューラルネットワークらしい
  • ビットを数える・探すアルゴリズム

    作成日:2004.05.04 修正日:2012.09.01 このページは 2003年の9/11、9/28 の日記をまとめて作成。 はじめに PowerPC 系や Alpha などには population count と呼ばれるレジスタ中の立っているビット数を数える命令が実装されている。 集合演算を行うライブラリを実装したい場合などに重宝しそうな命令である。 職場でこの population count 命令について話をしているうちにビットカウント操作をハードウェアで実装するのは得なのか?という点が議論になった。 CPU の設計をできるだけシンプルにするためには、複雑で使用頻度の低い命令は極力減らした方がよい。 例えば SPARC は命令セット中にビットカウント演算があるが、CPU 内には実装しないという方針をとっている(population 命令を実行すると不正命令例外が発生し、それを

  • 電話番号、郵便番号にマッチする真の正規表現 : にぽたん研究所

    Shibuya.pm #16 「夏の正規表現祭り」で、正規表現のお話をさせていただきました。 まぁ、「電話番号にマッチする正規表現」とか「郵便番号にマッチする正規表現」とかよく書かれてるけど、「どれもこれも手緩いよね」って話。 あ、だいぶはしょったかな。 とりあえずスライドに書いたので、発表をご覧になってない方はスライドからご覧ください。 ふと見返すと、このブログで電話番号の正規表現を公表するのは 3 度目ですが、あれからだいぶ経ってますね。 今ではもっと厳密な正規表現を作っています。 そして、Number::Phone::JP に続き、Number::ZipCode::JP という酔狂なモジュールが公開された記念で、郵便番号にマッチする正規表現を今回初めて公開しますが、そもそもここまで厳密な正規表現が公開されること自体、邦初公開ってヤツでしょう。 Shibuya.pm でも言いましたが

    電話番号、郵便番号にマッチする真の正規表現 : にぽたん研究所
  • 常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)

    TwitterのTLで知ったのだが、少し前に海外掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと

    常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)
    wepon
    wepon 2011/05/20
    「幕末の頃、数では圧倒的に劣る維新志士が使った手段でな、まずはsleepするでござる。プロセスは当然追ってくるが、自然と速い者から順に追いついてくる事になる。そこでソートされるでござるよ」
  • Emacsで3DなマルチプレイヤーなFPSを作ってみた - 技術日記@kiwanami

    関西Emacsで発表したデモです。 まず、「FPS」は CoD MW のようなシューティングとかではなくて(それは是非やりたかったのですが)、一人称散歩(First Person Sanpo)プログラムです。FPSは釣りです。ごめんなさい。 (2011/05/06 追記: Vimにも出来てました!! 3D in Vim — KaoriYa) 動作風景 所詮テキストエディタのやることですので、期待せず、生暖かい目で見てください。 一人用のムービー バッファで描いた迷路を歩きます マルチプレーヤーのムービー Emacsでサーバーを起動して、3つのEmacsから接続します。あとでtelnetで直接接続してチートします。 動かし方:シングルプレーヤー 必要な物: 64bitEmacs23.x 22でも動くかも知れません 32bitだと整数桁あふれするそうです banner 文字のビットマップを取

    Emacsで3DなマルチプレイヤーなFPSを作ってみた - 技術日記@kiwanami
  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • LuaでTwitterにpost! - ごちゃペディア

    LuaスクリプトでTwitterにツイートを投稿する手順をお教えします! 半年前に同じ記事を書いたときはBasic認証を利用していましたが、Basic認証は廃止されてしまいました。そこで今回はOAuth認証を行うことにします。 基的にはignacioさんのLuaOAuthをそのまま利用して実現しています。この場を借りてお礼申し上げます。 OAuth認証して投稿するための手順 OAuth認証と言われてもぴんとこない人もいるかもしれませんが、ある程度Twitterを使っている人なら、下の画像のような「拒否する」「許可する」の画面を一度は見たことがあると思います。 今回、Luaからツイートできるようにするために、事前にこのような認証を完了しておかねばなりません。 記事でのツイート完了までの大まかな道のりはこんな感じです。 アプリケーションの存在をTwitterに登録し、Consumer ke

    LuaでTwitterにpost! - ごちゃペディア
  • http://twitter.com/tt_clown/status/22769039758

    http://twitter.com/tt_clown/status/22769039758
  • 正規表現で素数判定 - NO!と言えるようになりたい

    追記:ハッキリ言ってこの正規表現はネタなので,実際に素数判定を行いたい場合は,もっと別な賢いアルゴリズムを使ったほうが良いです 正規表現で素数が判定できるという記事を見たので試してみた. http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/ この記事によると /^1?$|^(11+?)\1+$/ という正規表現を使うと,素数判定が出来るらしい.ある整数 n が素数かどうか判定したい場合は,"1" * nという文字列がこの正規表現にマッチするかどうかを調べればよく,マッチすれば非素数,マッチしなければ素数となる.ただし,"1" * n は,例えば,n が 4 ならば "1111" と 1 が 4 回連続して続く文字列となる. Rubyで書いた素数判定プログラムはこん

    正規表現で素数判定 - NO!と言えるようになりたい
  • Librahack : 容疑者から見た岡崎図書館事件

    出来事の詳細 3/13 新着図書データベースを作るためクローリング&スクレイピングプログラムを作成した ちょうどその頃、市場調査を行うためにECサイトのスクレイピングプログラムを作っていた。そのついでに、前々から構想していたLibra新着図書Webサービスを作ろうと思った。市場調査プログラムの一部をカスタマイズして、新着図書データベース作成プログラムを作った。この時、市場調査プログラムと新着図書データベース作成プログラムは同じプログラム内にあり、パラメータでアクションを指定して振り分けていた。 Webサービスを作ろうと思った動機は「なぜプログラムを作ったか」の通り。 Webサービスの概要は「どんなプログラムを作ろうとしていたか」の通り。 普段読むを入手する流れ:1. Amazonの各カテゴリの売れ筋をチェックしてレビューを確認し読むかどうか決める(または、書評ブログや新聞などのメディアで

  • プログラミング言語 Misa

    #! /usr/bin/misa ごっ、ごぉおっ、ご〜きげんよおぉおおぉおほっ。ほおぉおぉおっ。 「ごきげん☆みゃぁああ”あ”ぁ”ぁああ〜っ」 さわやかな朝の☆ご挨拶! お挨拶がっ。 澄みきった青空にこだましちゃうぉ〜ああぉおおおぉん。 「は、はひっ、はろおぉっ☆わぁるどおおぉっぉ〜っ」 こ、この文章は☆おサンプル! おおぉおぉおおサンプルプログラム!! どんなおプログラム言語でも基のご挨拶させていただくのぉぉおッ! 「ぽうっ」 長々と書くのがこ、ここでの〜、ここでのぉおおぉおぉぉおたしなみぃぃいぃ。 「長いぃ。長すぎましゅう。ご挨拶にこんなプログラム長すぎまひゅぅうぅ☆ んおおぉぉ、ばかになる、おばかになっちゃいましゅ〜ッ」 長いのがっ、バッファの奥まで入ってきましゅたぁあぁあっ! ばっふぁ☆溢れちゃいまひゅぅ〜。あみゃぁあ”あ”ぁ”ぁああ”あ”ぁぁ。 「で

  • フリーソフト作者の自衛のための手段としてのオープンソース化と、自衛のための「寄付は受け付けないよ」 - outsider reflex

    Latest topics > フリーソフト作者の自衛のための手段としてのオープンソース化と、自衛のための「寄付は受け付けないよ」 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行まんがでわかるLinux シス管系女子の試し読みが可能! « タブのコンテキストメニューが正常に機能しなくなった? (The context menu on tabs doesn't appear anymore?) Main メールのヘッダに埋め込む用に文字列をBase64エンコードする » フリーソフト作者の自衛のための手段としてのオープンソース化と、自衛のための「寄付は受け付けないよ」 - May 16, 2010 Togetter - まとめ「ユーザの自由、作者の自由」 夜フクロウというMac OS X用のメジャーなTwi

  • 並列アプリケーションを作ってみよう | OSDN Magazine

    インテルのCoreシリーズCPUが登場して以来、マルチコアCPUは爆発的に普及している。現在では比較的低価格なCPUでも複数のコアを搭載するようになり、現在販売されているPCのほとんどはマルチコアに対応しているといっても過言ではない。しかし、まだマルチコアCPUの性能を生かす、並列処理を行っているアプリケーションは多くない。 並列処理は、一般には実装が難しい、という印象があるようだ。確かにスレッドを駆使して処理を並列化する場合、スレッドの管理やスレッド毎の連携など、考慮しなければならないことが増え面倒ではある。しかし、プログラムを並列化するための言語規格「OpenMP」や、C++用の並列化ライブラリ「Threading Building Blocks」といった並列化支援技術を利用することで、プログラムの並列化へのハードルは大幅に低くなる。また、インテルの開発製品「Parallel Stud

    並列アプリケーションを作ってみよう | OSDN Magazine
  • IA-32 SIMDの扉

    SIMD命令およびアセンブラの基礎 SIMDとは 用語集 開発環境 アセンブラの基礎知識 x87 FPU命令を使用したプログラミング CPUの識別 メモリアドレスのアライメント ラップアラウンド算術と飽和算術 SIMD命令セットの分類と歴史 SIMD命令セットの記述方法 SIMD命令セットの概要 MMX命令セットの概要 SSE命令セットの概要 SSE2命令セットの概要 SSE3命令セットの概要 SSE4命令セットの概要 命令リファレンス データ転送命令 算術命令 比較命令 論理演算命令 シフト命令 シャッフル命令 パックおよびアンパック命令 変換命令 挿入および抽出命令 ブレンド命令 丸め命令 キャッシュ制御命令 その他の命令 プログラミング例 画像処理 音声信号処理 参考資料 参考資料 トップSIMDの扉