タグ

programmingとphpに関するteddy-gのブックマーク (16)

  • switch文を使ってはいけない

    昔Qiitaで書いた内容なんですが、PHPswitch文は悪名高い「==」演算子で比較を行います。 <?php switch (true) { case 0: echo '数字の0'; break; case '0': echo '文字列の0'; break; case '0.0': echo '文字列の0.0'; break; case true: echo '真偽値のtrue'; break; } このコードは「文字列の0.0」を出力します。大変分かりにくいですね。 この点はif ... elseif ...を使えば解決するんですが、switchで書きたくなるようなコードをelseifにするとおそらく読みにくくなるでしょう。 ではどうするか。 正解はオブジェクトのポリモーフィズム(多態性)機能を使うことです。 といっても、多態性で調べて出てくる記事とか書籍に関しては抽象的な説明が多い

    switch文を使ってはいけない
    teddy-g
    teddy-g 2014/08/19
    記事中リンクされてるTECHSTOREの記事は分かりやすいんだが、何かこの記事の実装は腑に落ちない。OOPなのに美しくないからかな?まあ、switch文の評価が==で行われるってことだけ覚えとこう
  • みすとるてぃん: [PHP] 重み付きランダム数の作り方

    2012年7月20日金曜日 [PHP] 重み付きランダム数の作り方 最近PHPにはまっています、みすとです。 前回の記事では、出現率に偏りのあるランダム数の生成の仕方について書きました。 でも、あくまで偏りを持たせているだけで、出現確率を任意に操作できるわけではありません。 そこで今回は、自分で確率を設定できる、重み付きランダム数の生成をやってみたいと思います。 前回同様に、2種類の紹介となります。 今回は、アルゴリズム部分だけの抜き出しはしていませんので、コードから判断してください。 シンプルな重み付きランダム数 まずはシンプルに、頭から数えていく方法です。アイテム数が100個程度なら、これでもぜんぜん問題ないかと思います。 <html> <head><title>PHP TEST</title></head> <body> <?php function weighted_rand

    teddy-g
    teddy-g 2014/07/09
    なるほど、二分探索木で高速化すると。
  • 重み付きのランダム抽選関数を作る(PHP)

    新生FF14のチョコボ(バディー)は、何も設定しなければフリースタイルで戦うって知ってましたか?頑張ってバディーのディフェンススキルを上げているのに、どうもチョコボの戦い方がディフェンサーぽくないな〜。おいっチョコボ!ちゃんと仕事しろよ!!っと思っていたら、メニューのバディー画面でフリースタイルのアイコンに小さいチェックマークがあるではないですか!?ディフェンススタイルにチェックするようにしたら、ちゃんと仕事するようになりました♪ …ごめんよチョコボ、筆者が無知なだけでした。 重み付きの抽選ロジックは既に色々なところで紹介されていますが、ちょっと必要になったので作ってみました。配列要素の値に重み(確率)となる整数値を入れて渡すと抽選された要素のキーを返します。サンプルでは、hash配列を渡していますが、array配列でも同様に要素のキーを返します。 /* * 配列から1つの要素キーを抽選す

    teddy-g
    teddy-g 2014/07/09
    重みづけに合わせ乱数を発生させる関数。ああ、こういうやり方があったのねと思った。足すんじゃなくて引くと。
  • Ideone.com

    /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Ideone { public static void main (String[] args) throws java.lang.Exception { // your code goes here } }

    teddy-g
    teddy-g 2010/03/15
    タグつけるのに疲れた。
  • Run This!

    Run This: seeing is believing! Add a button to let your readers run snippets of code directly from your blog and see the results interactively. Run This is built upon Ideone web services. Right now, supported languages are: Ada, Assembler, AWK, Bash, bc, Brainf**k, C, C#, C++, CLIPS, Clojure, COBOL, Common Lisp, D, Erlang, Forth, Fortran, Go, Haskell, Icon, Intercal, Java, JavaScript, Lua, Nemerl

    teddy-g
    teddy-g 2010/03/15
    タグつけるのが面倒なくらいオンラインで色々hogeることができる。jquery+ideoneだそうだ。
  • Page2

    LinkTree - HOME http://sadako.nobody.jp/ http://monodebank.nobody.jp/ http://okichi.xxxxxxxx.jp/ http://utaneko.gozaru.jp/ http://urananaon.atukan.com/ LinkTree -

    teddy-g
    teddy-g 2009/04/27
    レン鯖だからMeCab使えない
  • crawler.jp - au携帯GPSで位置情報を連続取得する(W41CA)

    位置情報を連続取得するスクリプトは、こちらのサイトを参考にして作っています。 http://tdiary.ishinao.net/20050603.html#p02 参考というか、そのまんま。。。 原理はこんな感じです。スクリプトを実行すると、<wml:timer~>で指定した時間何もせずに待ちます。待ち時間が切れると位置情報をauに問い合わせます。すると、緯度・経度がGETで取れます。それをそのままMySQLにinsertします。そのあとに、同じスクリプトがリロードされるので、また<wml:timer~>で指定した時間が経過後に・・・という感じで連続して位置情報が取れます。 以前、W32SAを借りて実験したときにはこの方法で動いていました。しかし、先日購入したW41CAでは、<wml:timer~>で指定する待ち時間が短い場合、スクリプトのリロード後、なぜか位置情報の問い合わせをノー

    teddy-g
    teddy-g 2009/04/27
    うまく連続取得できないとき
  • tdiary.ishinao.net - au携帯GPSで位置情報を連続取得

    _ 前にどこかに書いた気がするし (16:22) どこかで誰かが似たようなことを書いてもいるだろうけど、JavaScriptでprintデバッグしたい場合は、 <script language="javascript"> var debugWindow; function h(str) { return str.replace('&', '&').replace('<', '<').replace('>', '>').replace('"', '"'); } function debugInit() { if (debugWindow != undefined && debugWindow.document != undefined) {return;} debugWindow = window.open('about:blank'); } function debugPrint(str)

    teddy-g
    teddy-g 2009/04/27
    au携帯だとHDMLでこういうことできるらしい
  • MeCab extensionを使ってTwitterで流行っているキーワードをクラウド化 - Do You PHP はてブロ

    ほとんどMeCab extension使いたさにあれこれこじつけた感ありありですが。。。 MeCabはオープンソースとして公開されている形態素解析エンジンの1つで、GPLもしくはLGPL/BSDライセンスの下に公開されています。他の形態素解析エンジンとしては、KAKASIやChaSenなどが知られていますね。 http://mecab.sourceforge.net/ で、PHPの拡張モジュールとしてはPage2で公開されているものがあります。 http://page2.xrea.jp/#php_mecab GitHub - rsky/php-mecab: MeCab binding for PHP これを使って、Twitterで流行っているキーワードをクラウド化するコードを書いてみました。なお、CSSはタグクラウドのスタイルを考える - collisions.dotimpac.toを参考

    MeCab extensionを使ってTwitterで流行っているキーワードをクラウド化 - Do You PHP はてブロ
    teddy-g
    teddy-g 2009/04/26
    TwitterをPHP+MeCabで解析
  • 携帯電話と位置情報 : 現在地の測位 (2)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、広告部ながやです。 前回の記事では仕様面を記述しましたので、 今回は実際のコードを公開してみようと思います。 例をシンプルにするために、基地局の緯度/経度取得のみ対応とします。 GPS(衛星利用測位システム)機能搭載端末やWILLCOM端末は実装から省きますが、少しの拡張で対応できると思います。 端末をお持ちの人はぜひ挑戦してみてください。 サンプルコード index.php ※1,※2,※3,※4,※5 <?php function array_val(&$data, $key, $default = null) { if (!is_array($data)) { return $default; } return

    携帯電話と位置情報 : 現在地の測位 (2)
    teddy-g
    teddy-g 2009/04/23
    iエリアの中心点を実装しようとしたが考えただけで疲弊してやめたのを思い出した
  • GMO MEDIA|FOR YOUR SMILE, WITH INTERNET

    AI時代を背景に「深く考える趣味」「リアルな感動体験」への関心が上昇 4月3日「趣味の日」に合わせ、...

    GMO MEDIA|FOR YOUR SMILE, WITH INTERNET
    teddy-g
    teddy-g 2009/04/20
    EUC-JPでコケまくってたから助かった
  • スクリプト言語人気に思う,動的型付け言語の可能性

    スクリプト言語が元気だ。代表格が日発のオブジェクト指向スクリプト言語「Ruby」。国内だけでなく海外でも着々と支持を集めている。Java仮想マシンで動作する「Groovy」や,Smalltalkから派生したSqueakのビジュアル・スクリプティング環境「eToys」など,このところ急速に注目を集めている言語もある。一方で,PerlPythonなど定番とも言える言語は相変わらず根強い人気を誇る。 この盛り上がりの原因は,いったい何なのだろう。しばらく前から心の中でもやもやとしていたこの疑問に答えを見いだすチャンスを得た。日経バイト2005年5月号の特集「ポスト・オブジェクト指向」の取材で,第一線で活躍するソフトウエア技術者の方々にお話を伺うことができた。そこでここぞとばかり,皆さんに意見を伺ってみた。 言葉にできない魅力がある 得られた一つの答えが,ソフトウエア部品を結びつける“糊”の需

    スクリプト言語人気に思う,動的型付け言語の可能性
    teddy-g
    teddy-g 2007/05/10
    動的型付けはたのしい
  • CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマガジン

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマガジン
    teddy-g
    teddy-g 2007/02/09
    コードジン
  • fladdict.net blog: HATENA-TUBEの技術的な話

    なんか予想より好意的に受け入れられてほっとした、HATENA-TUBEのテクニカルなお話。 みなさんHATENA-TUBEをajaxだと思ってますが、実は非同期通信なってまったくやってなかったりします。 サーバー言語 サーバーはPHP5で組んでます。 使ってるプロバイダは他にも Perl, ColdFusion,Rubyと選択肢が豊富だったのですが、PHP5。 なぜなら、ColdFusionはインストールして2時間、Perlは15分で挫折したからです。 コード書く前にどれだけ前提知識が必要なんだ!と問い詰めたい気分。PHP5は、Keitap先生がXMLのパースが楽と進めてくれたので採用。 ただ、シンタックスが「->」なのはキモくて困ります。 テンプレートエンジンにはSmartyというのを使いました。 使い方は屋で、1万円使ってPHP3冊買って電車の中で覚えました。 データベース sq

    teddy-g
    teddy-g 2006/05/26
    Hatena-Tubeの裏側。RSSに偽装したPHPでクロンの代わりをやってると。
  • bnote File Not Found!

    ただいまページメンテナンス中です。htmlをshtmlとすることで目的のページに アクセスできるかもしれません。 あなたがアクセスしたページ(URL)は、存在していないか、変更されました。 メインページに戻って、もう一度アクセスしてください。 もしこの問題が続くようでしたら、管理者に通知してください。 Thank You www.bnote.net

    teddy-g
    teddy-g 2005/12/19
    PEAR::cache_Lite
  • SAK Streets

    Visual Basic(VB), ADO, RDO, SQL, Oracle PL/SQL, Oracle oo4o, CGI Perl, PHP, MySQL, ASP, JAVA Servlet, JSP, PostgreSQL 等のプログラミング言語資料とCGI画像添付掲示板他フリーCGI, フリーソフトウェア公開

    teddy-g
    teddy-g 2005/07/10
    プログラミングTipsもろもろ
  • 1