サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
artgear.hatenablog.com
若干わかりづらいタイトルですが次のようなことです。 下のようなhtmlがあるとします。 <select id="sampleSelect"> <option value="0">Apple</option> <option value="1">Orange</option> <option value="2">Lemon</option> <option value="3">Strawberry</option> </select> これに対して選択中のoption要素をJavascriptから変更する機能をつける際、value属性の値を指定して選択を行うのではなくtext部分('Apple'や'Orange')をみて選択を行うための書き方について、という意味です。 value属性をみて選択するのであれば document.getElementById('sampleSelect').va
プログラミングを勉強していると 「こういう時はこんな書き方ができるのか」 とか 「この書き方を知っていればあの時のコードもっとうまく書けたな」 と感じることがあると思います。 この記事では私がPythonを勉強していてそう感じたことを3つ紹介したいと思います。 (常識だよ!ってことばかりだったらすみません) 1.複数の変数を比較する条件式の書き方 例えば3つの変数a, b, cがすべてNoneであれば真となる条件式は通常 if a is None and b is None and c is None: print u'すべてNone' のように書きますが次のように書くこともできます。 if a is b is c is None: print u'すべてNone' これはPythonの比較演算子の特徴を利用した書き方です。 Pythonでは変数aが1より大きく5より小さいという条件式を書
cronは一般的には crontab(クロンタブ、あるいはクローンタブ、クーロンタブとも)コマンドはUnix系OSにおいて、コマンドの定時実行のスケジュール管理を行うために用いられるコマンドである。 http://ja.wikipedia.org/wiki/Crontab とのことですがGoogle App Engineのそれは一定間隔で自アプリの指定URLにHTTP-GETリクエストを送る機能です。 URLリクエストを受け取って行う動作は通常のhttpリクエストを受けた場合同様自由に記述できるので、実質的には任意の間隔で指定した動作をする機能として使用できます。 私は「スコアアタックしりとり」のなかでデータストアをメンテナンスするために使っています。 スコアアタックしりとりではユーザーからのアクセスがあるとセッションIDを発行し、単語が入力される度にサーバでプレイ中のデータとしてデータス
今回はDatastoreを使ってみました。 チュートリアルではGQLというデータベースを操作するための言語を使用した例を中心に説明されているのですが、こちらの記事などによるとGQLはこれまでにSQLを経験したことがある人がGAEを容易に使用できるようにするためのもので(GQLを使わず)Pythonで直接APIを操作することもできるようです。 私はそもそもSQLを全く知らないのであえてGQLを使う必要もないと考えPythonでAPIを操作する方法で書いてみました。 名前、性別、身長、体重をデータストアに保存し、名前で検索できるものを作ってみることにします。 コードがかなり長くなったので全体はエントリの最後に載せています。 ここではデータストアに関連する部分のみ抜粋します。 エンティティのモデルを作るクラスの定義はGQLを使う場合と同じです。 class DataStoreTest(db.Mo
以前配列にある値が存在するかどうかをfor文を使わずに調べる方法を考えてみたという記事を書きました。この記事は「やろうと思えばこういう方法でもできるなぁ」というアイデアについて書いた記事だったのですが、Javascriptで配列にある値が存在するかどうかを確認する一般的な方法を探して当該記事を訪問していただくことが多いので改めてこの方法について書いてみたいと思います。 といってもJavascriptには"Array.contain"のような「まさにそのためにある」というメソッドが用意されているわけではないのでいずれにしろ方法の紹介ということになってしまいますが。 次の3つのパターンに分けて書きたいと思います。 ECMAScript 5が使える場合 jQueryが使える場合 上記のどちらも使わない場合 1.ECMAScript 5が使える場合 ECMAScript 5では配列に"indexO
先日Pythonのisnan()はそもそも文字列を評価できないので文字列が数値に変換可能な形("10"とか"0.5"など)かどうかを判定できないということを書いたのですが、Pythonにはisdigit()という文字列が数字かどうかを判定する標準の関数がありました。 print "0".isdigit() #True print "abc".isdigit() #False print "a3".isdigit() #False print "500".isdigit() #True ただし、isdigit()は文字列が数値だけかどうかを判定するので"."を含むfloat型はFalseになってしまいます。 print "0.0".isdigit() #False print "3.14".isdigit() #False 小数点を含む場合もTrueと判定できるようにする方法を考えたのですが
この記事の内容はすべてECMAScript5に基づいているのでIE8などでは違う結果になります 以前書いた記事で{toString : valueOf}という記述の意味について考えたのですが、コメントで間違いを指摘して頂いたので改めて書きたいと思います。 今回は簡単のために以下のコードで見ていきます。 var a = { valueOf:function(){ return false; }, toString:valueOf }; document.write(Number(a)); document.write("<br>"); document.write(String(a)); aという変数にvalueOfとtoStringの2つのメソッドを持つオブジェクトをリテラルで設定し、そのaをそれぞれ文字列、数値として評価した場合に表示される内容を確認するコードです。 これを実行すると 0
先日404 Blog Not Foundの404 Blog Not Found:Algorithm - 0と1を次々と返す簡単なお仕事という記事を読んでいて気になったことがありましたのでそのことについて。 といっても記事の内容そのものとは関係がないのですが、この記事の一番最後に追記として書かれているサンプルコードに下の物があります。 #!/usr/bin/js var flipflop = function(p){ return { p : 0, valueOf : function(){ return this.p = !this.p; }, toString : valueOf }; }; var fl = flipflop(); print(fl); print(fl); print(fl); print(fl); print(uneval(fl)); この中の toString :
私はこれまでコードを書く際インデントはTabを使っていたんですが世間的にはスペースの方が好まれるみたいですね。 理由はタブ幅はエディタによって異なるからだとか。 なので私も今後はインデントはスペースを使おう!と思っていたのですがよく考えると 一般的なタブ1つに対してスペース4つの方法だとファイルサイズがでかくなっちゃいます。 コンパイルしてバイナリを作るタイプのプログラムなら問題ありませんが JavascriptやHtmlのようにソースをそのまま送受信する必要がある場合にはファイルサイズは重要な問題です。 そもそもサイズを気にするなら空白なんか全部取り払ってからアップすべきという話なんですがやはりコードの可読性を維持したい場合もあります。 私だけかもしれませんが 「このサイトすげえ!どんなコードなんだろ!」 って思ってソースをみたら一行でかかれてた時なんか悲しいですもんね。 そこで今更なが
Pythonについて一通り基本部分は勉強したはずなのでとりあえず何か作ってみようと思いました。 私はこれまでJavascriptしか勉強したことがなかったので(はるか昔Cを勉強しましたがすでに忘れてしまいました)、ファイルの入出力を扱ったことがほとんどありません。 そこでCSVファイルを読み込みJSONファイルに変換して出力するプログラムを作ってみることにしました。 まずcsvファイルを読み込み一行目の各要素をキー、2行目以降の要素を値とするオブジェクトの配列に変換することにします。 name,age,sex 男の子,20,male 女性,25,femaleが [{"name": "男の子", "age": "20", "sex": "male"}, {"name": "女性", "age": "25", "sex": "female"}]という風になることを目指します。 仕組みはcsvフ
このエントリは先日のエントリの補足的な内容となります。 先にそちらをお読みいただき、さらにhttp://www.python.jp/Zope/articles/japanese/Python4Japanese-2も確認した上で、それでも文字化けが発生してしまった場合チェックすべき点についての内容となります。 私自身も先のエントリで一通り確認したつもりだったのですが、再び文字化けが発生してしまい、アレ!?となったのでその点とググって確認した他の注意点とあわせてまとめてみました。 なお、基本的にはWindowsでの文字化けの場合となります。他の環境では私の力を超えますので(^_^;) チェックポイント1.文字コード指定の書き方 私がやってしまっていたのがこれだったのですが、ファイルの先頭で文字コードを書く際 # coding: shift_jis または # coding= shift_jis
Javascriptを勉強する上で誰もがつまずくと言われるクロージャですが私も例に漏れず理解できないでいました。 さまざまな解説サイトを読んだりサンプルコードを書き換えてみたりして 静的なスコープの言語で利用できる。 関数が終了したあともそのローカル変数が参照できる。 といったクロージャの「仕組み」や「特徴」については分かったものの、もっとも重要ともいえる 「どういう時にクロージャを使えばいいのか」 が分かりませんでした。言いかえると友人がなんて言って悩んでいる時に 「そう言う時はクロージャを使うといいよ」 と言ってあげればいいのか。 例えばプログラムの勉強を始めた友人が 「これと同じ処理もう何回も書いてるんだよ。コピペばっかりしてる気がする」 と言って悩んでいたら 「そこを関数にすればいいんじゃない?」 って教えてあげますよね。 これと同じように友人が 「○○○○○○なんだよ、うまい方法
このページを最初にブックマークしてみませんか?
『プログラミングを勉強するブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く