必要に迫られてクロスドメイン制約を勉強してみた [プログラミング]
久方ぶりの更新です。今日はプログラミングネタです。
javascript+jqueryで外部サイトにアクセスするローカルhtmlファイルを書き,ブラウザで動かして遊んでいるが,このアプリをandroidタブレット上のブラウザで動かそうとしたらうまく動かない。いろいろ試してみたら,そもそもPC上のブラウザも,いつも使っているsafariでは動くものの,firefoxやchromeでは動かないことに気づいた。
いろいろぐぐってみると「クロスドメイン制約」というものに引っかかっているらしい。一体何者? なぜsafariだけ大丈夫なのか?
javascript+jqueryで外部サイトにアクセスするローカルhtmlファイルを書き,ブラウザで動かして遊んでいるが,このアプリをandroidタブレット上のブラウザで動かそうとしたらうまく動かない。いろいろ試してみたら,そもそもPC上のブラウザも,いつも使っているsafariでは動くものの,firefoxやchromeでは動かないことに気づいた。
いろいろぐぐってみると「クロスドメイン制約」というものに引っかかっているらしい。一体何者? なぜsafariだけ大丈夫なのか?
複数の外部apiを叩く順序を制御する方法 [プログラミング]
JavaScriptやjQueryで外部apiを叩くコードを書いて遊んでいますが,複数のapiを叩いた場合に順番が期待どおりにならなかったので,いろいろ試してみました。
参考サイト1: http://kinopyo.com/ja/blog/jquery-ajax-get-order-guranteed-async-transfer
参考サイト2: http://qiita.com/jkr_2255/items/17693ab77beea71a871c
参考サイト1: http://kinopyo.com/ja/blog/jquery-ajax-get-order-guranteed-async-transfer
参考サイト2: http://qiita.com/jkr_2255/items/17693ab77beea71a871c
別のウェブサイトを立ち上げて勝手にクリックする方法 [プログラミング]
Excelっぽい埋め込みフォームが実現できるjQueryプラグイン「Handsontable」について [プログラミング]
突然ですが,家計簿アプリに関心を持ち始めていろいろ調べましたが,銀行口座との連携にはIDとパスワードが必要(当たり前か)だということや,レシートのスキャンはワタクシレベルではそれほど負荷軽減にならないことがわかりました。
こうなると自分で作ろうかという話になりますが,そのためにはExcelっぽい埋め込みフォームをウェブ上で実現したくなってきます。頼みのGoogle Apps Script(以下GAS)をいろいろ調べてみましたが,Excelっぽい雰囲気が見つからず,途方に暮れていました。
考えあぐねた結果,GASから離れてjavascriptに活路を見出そうとしたところ,jQueryのプラグインである「Handsontable」なるものが素晴らしいことがわかりました。まだ実現前ですが,取り急ぎ参考サイトだけ載せておきます。
http://webkaru.net/jquery-plugin/handsontable/
http://anz-note.tumblr.com/post/133074040041/jsgoogleスプレッドシートのようなものをお手軽につくれちゃうhandsontable
おしまい。
こうなると自分で作ろうかという話になりますが,そのためにはExcelっぽい埋め込みフォームをウェブ上で実現したくなってきます。頼みのGoogle Apps Script(以下GAS)をいろいろ調べてみましたが,Excelっぽい雰囲気が見つからず,途方に暮れていました。
考えあぐねた結果,GASから離れてjavascriptに活路を見出そうとしたところ,jQueryのプラグインである「Handsontable」なるものが素晴らしいことがわかりました。まだ実現前ですが,取り急ぎ参考サイトだけ載せておきます。
http://webkaru.net/jquery-plugin/handsontable/
http://anz-note.tumblr.com/post/133074040041/jsgoogleスプレッドシートのようなものをお手軽につくれちゃうhandsontable
おしまい。
Google Apps ScriptでGoogleドライブのゴミ箱にあるファイルを復旧する [プログラミング]
Google Apps Script(以下GAS)で簡易計算のブラウザアプリを作っていますが,たまに起きるGoogleドライブのサーバーエラーのせいで,作ったはずのファイルがうまく作れていないことがあります。こういうときはGoogleドライブのゴミ箱にあるファイルを手作業で復旧していましたが,外出先からブラウザアプリを動かす場合にも復旧できたら便利です。今日はその方法を。
スマホやタブレットにおけるHTML5によるrem属性を用いたフォントサイズ調整について [プログラミング]
Google Apps Scriptで簡易計算のウェブサイトを作っていますが,最近,<table>タグを使って表示を見やすくしたところ,PCでは問題ないんですが,タブレットでは表のフォントがなぜか小さくなってしまい,老眼が始まったワタクシには困った状態になってしまいました。
基本的にはHTML5においてフォントサイズをうまく指定すればよいだけですが,いろいろ調べてみたところ,rem属性なるものが使えるらしいというので,備忘のため書き残すもの。
参考サイト: http://blog.karasuneko.com/html-css/font-size-px-em-percent/#p5
基本的にはHTML5においてフォントサイズをうまく指定すればよいだけですが,いろいろ調べてみたところ,rem属性なるものが使えるらしいというので,備忘のため書き残すもの。
参考サイト: http://blog.karasuneko.com/html-css/font-size-px-em-percent/#p5
Rで遺伝的アルゴリズムを使ってみた [プログラミング]
投資対象の時系列データに投資戦略を適用して得られる投資効率を最大化することを考えます。投資効率は投資戦略を特定するパラメータ群の関数となりますが,かなりザラザラした関数らしく,Rのoptim関数といった通常の最適化ライブラリでは手に負えません。
いったんは焼きなまし法を自己流でプログラミングしたりもしましたが,どうも感触があまりよくなく,最適解になかなかたどり着けません。そこで,Rの遺伝的アルゴリズムのライブラリを使ってみることにしたので,備忘のため書き留めておくものです。
いったんは焼きなまし法を自己流でプログラミングしたりもしましたが,どうも感触があまりよくなく,最適解になかなかたどり着けません。そこで,Rの遺伝的アルゴリズムのライブラリを使ってみることにしたので,備忘のため書き留めておくものです。
統計処理言語Rのすすめ [プログラミング]
こんにちは。時系列データを統計処理できるアプリに関心がありますがが,Mac備え付けのNumbersはかなり貧弱で使い物になりません(2014/12現在の個人的感想)。そこで,有償のExcel for Macを試用してみようといろいろ調べたのですが,Microsoftに問い合わせても試用版がなぜかうまくインストールできずに断念。そうこうしているうちに,Rという無償の統計処理アプリの存在を知り,2014/10にインストールして使い始めました。結論としては,大変よいものなので皆さんにも大いにおすすめしたいと思います。
(罠)phpでクライアントとサーバーの間でテキストを自由にやりとりする [プログラミング]
こんにちは。前回に続き,今日はphpでクライアントとサーバーの間でテキストを自由にやりとりすることを実現したいと思います。やはりいくつか罠にはまったもので,同様の罠にはまった方の参考になれば幸いです。
(罠)phpでクライアントにあるファイルをサーバーにアップロードする [プログラミング]
暑いせいではないのですが,最近更新が滞っていました。今日はphpでクライアントにあるファイルをサーバーにアップロードするための備忘です。一個だけ罠があったもので。
MacでWindows環境を実現する方法 [プログラミング]
久しぶりの投稿です。昨年秋にMacBook Airを衝動買いした話は以前書きましたが,しばらく使ってみると,やっぱりWindows環境がほしくなります。今日はこのあたりの話を。
PHPのセキュリティ対策について(他記事の読み解き) [プログラミング]
こんにちは。今日はサーバーサイドスクリプト言語としては最も敷居の低い「PHP」を使うにあたり,セキュリティ対策をどうすべきかについてまとめてみます。なお,松下幸之助の「PHP」とは無関係です。
なお,本記事は以下のサイトをワタクシの知見のレベルで読み解いたものであることをあらかじめお断りしておきます。
http://web-cocoon.jp/P_51b178bfcbefa
なお,本記事は以下のサイトをワタクシの知見のレベルで読み解いたものであることをあらかじめお断りしておきます。
http://web-cocoon.jp/P_51b178bfcbefa
webアプリ開発者への道 [プログラミング]
こんにちは。花粉はまだ飛んでいますが,ようやく桜が咲き始めたようで,外に出かけるのが楽しみな季節になってきました。ワタクシの近所の桜はまだ雰囲気出ていませんが。。。
今日は趣味で行っているプログラミングについて,ワタクシ自身のこれまでのキャッチアップ状況についてご紹介したいと思います。表題にもあるとおり,いつか気の効いたアプリ開発ができたらいいなと思っていましたが,あるときから「単なるアプリ」ではなく「webアプリ」へと傾斜してきたことがありますので,そのあたりのお話を中心に。
今日は趣味で行っているプログラミングについて,ワタクシ自身のこれまでのキャッチアップ状況についてご紹介したいと思います。表題にもあるとおり,いつか気の効いたアプリ開発ができたらいいなと思っていましたが,あるときから「単なるアプリ」ではなく「webアプリ」へと傾斜してきたことがありますので,そのあたりのお話を中心に。
JavaScriptでjQueryライブラリを使う [プログラミング]
こんにちは。最近JavaScriptを勉強していますが,今日はJavaScriptユーザーの多くが使っているというライブラリであるjQueryを使ってみました。
Googleをサーバーとしてウェブサイトを立ち上げる [プログラミング]
注意:本サイトの方法は2016/08/31以降は使えなくなるそうです。詳細は
https://support.google.com/drive/answer/2881970
こんにちは。JavaScriptを勉強しているうちに,クライアントとサーバーの交信についてトライしたくなりました。ウェブサイトを例にとると,クライアントとはPCで立ち上げるウェブブラウザであり,サーバーとは実際のウェブサイトが格納された一般に公開されたコンピュータのことですが,個人でサーバーを取り扱うにはかつては金銭面などのハードルがあったのが,最近は無料で実現できるようになってきました。
こんにちは。JavaScriptを勉強しているうちに,クライアントとサーバーの交信についてトライしたくなりました。ウェブサイトを例にとると,クライアントとはPCで立ち上げるウェブブラウザであり,サーバーとは実際のウェブサイトが格納された一般に公開されたコンピュータのことですが,個人でサーバーを取り扱うにはかつては金銭面などのハードルがあったのが,最近は無料で実現できるようになってきました。
Googleのウェブマスターツールって [プログラミング]
こんにちは。今日,Googleのウェブマスターツールに初めてアクセスしたので,備忘のため書き残しておきます。うまくいけば,本ブログのアクセス数が激増するかも!?
JavaScriptってすごい! [プログラミング]
こんにちは。昨年秋にMacBook Airを衝動買いした話は前に書きましたが,プログラミングを楽しむにはObjective-CよりもJavaScriptの方が手軽かつ強力であるということがわかってきました。
App Store用のアプリを作るならObjective-Cの方が手堅いのかも知れませんが,時代はWebアプリに向かっている雰囲気もあり,そうであればJavaScriptの方が機種を選ばない分だけ手広そうです。いずれにしても,プロトタイプ作成ツールとしては大いに使えそうなので,この機会に勉強しておこうと思いました。
何冊か本を読んだりぐぐったりしてわかったのは「JavaScriptってすごい!」ということでした。今日は簡単なプログラムを紹介しつつ,そのあたりの話を。
App Store用のアプリを作るならObjective-Cの方が手堅いのかも知れませんが,時代はWebアプリに向かっている雰囲気もあり,そうであればJavaScriptの方が機種を選ばない分だけ手広そうです。いずれにしても,プロトタイプ作成ツールとしては大いに使えそうなので,この機会に勉強しておこうと思いました。
何冊か本を読んだりぐぐったりしてわかったのは「JavaScriptってすごい!」ということでした。今日は簡単なプログラムを紹介しつつ,そのあたりの話を。
MacでJavaScriptを走らせる方法 [プログラミング]
あけましておめでとうございます。2014年初めての投稿です。
正月は旅先で柔らかい布団で寝ていたせいか,生涯で初めてのギックリ腰になり,なかなか不自由なのですが,ギックリ腰経験者の諸先輩方によれば,速攻で治す方法はないとのことなので,だましだまし付き合っていこうと思います。
今日の話題は「MacでJavaScriptを走らせる方法」です。実は,去年の秋にMacBook Airの13インチを衝動買いしておりましたが,買った事実をいつか投稿しようと思っていたら,延び延びになってしまいました。
正月は旅先で柔らかい布団で寝ていたせいか,生涯で初めてのギックリ腰になり,なかなか不自由なのですが,ギックリ腰経験者の諸先輩方によれば,速攻で治す方法はないとのことなので,だましだまし付き合っていこうと思います。
今日の話題は「MacでJavaScriptを走らせる方法」です。実は,去年の秋にMacBook Airの13インチを衝動買いしておりましたが,買った事実をいつか投稿しようと思っていたら,延び延びになってしまいました。
Excel VBAからGoogleを操作する方法 [プログラミング]
こんにちは。唐突ですが,自分の備忘のため,標記について記しておきます。
VB2008 Express Edition でExcel VBAから参照可能なDLLを作成する方法 [プログラミング]
こんにちは。唐突ですが,自分の備忘のため,標記について記しておきます。ここまで辿り着くのにずいぶん苦労したので,同じような境遇の方々向けにも。ワタクシは理由あって旧バージョンのVB2008を使っていますが,他のバージョンでもおそらく可能ではないかと思います。
「オブジェクト指向プログラミング」について(その4) [プログラミング]
http://himakou.blog.so-net.ne.jp/2012-08-23 の続き
博士: これまでの三回の連載記事で,「オブジェクト指向プログラミング」の全体像について語ってきたが,どうであったか?
助手: ワタシは以下の二点がよくわかった気がします。
(1)「オブジェクト指向プログラミング」は,処理の「オブジェクト(=対象物)」を重視することによって,「オブジェクト」に固有の手続きに関するプログラミングを全体的な手続きの「流れ」から分離することを目指すものであり,プログラム全体の見通しをよくする効果がある。 (2)「オブジェクト指向プログラミング」は単なるプログラミング「手法」の一つにすぎないが,プログラム全体の見通しがよくなることで,プログラマの意図が他のプログラマに伝わりやすくなったり,バグ発生が抑えられたりする効果が期待できる。
博士: それでよい。今回は少し肩の力を抜いて,ゲームプログラマになったつもりで,プログラムを書いて遊んでみよう。
博士: これまでの三回の連載記事で,「オブジェクト指向プログラミング」の全体像について語ってきたが,どうであったか?
助手: ワタシは以下の二点がよくわかった気がします。
(1)「オブジェクト指向プログラミング」は,処理の「オブジェクト(=対象物)」を重視することによって,「オブジェクト」に固有の手続きに関するプログラミングを全体的な手続きの「流れ」から分離することを目指すものであり,プログラム全体の見通しをよくする効果がある。 (2)「オブジェクト指向プログラミング」は単なるプログラミング「手法」の一つにすぎないが,プログラム全体の見通しがよくなることで,プログラマの意図が他のプログラマに伝わりやすくなったり,バグ発生が抑えられたりする効果が期待できる。
博士: それでよい。今回は少し肩の力を抜いて,ゲームプログラマになったつもりで,プログラムを書いて遊んでみよう。
「オブジェクト指向プログラミング」について(その3) [プログラミング]
http://himakou.blog.so-net.ne.jp/2012-08-22 の続き
博士: 前回は,実際にVBで書いたプログラムを比較することで,「オブジェクト指向プログラミング」の雰囲気を味わってもらったつもりだが,どうであったか?
助手: 確かに,「オブジェクト指向プログラミング」のセンスを取り入れることで,「オブジェクト」に固有の手続きに関するプログラミングを全体的な手続きの「流れ」から分離し,プログラム全体の見通しをよくする感じについてはよくわかった気がします。しかし,前回のプログラムで困ったことに気づきました。
博士: なんじゃと?
博士: 前回は,実際にVBで書いたプログラムを比較することで,「オブジェクト指向プログラミング」の雰囲気を味わってもらったつもりだが,どうであったか?
助手: 確かに,「オブジェクト指向プログラミング」のセンスを取り入れることで,「オブジェクト」に固有の手続きに関するプログラミングを全体的な手続きの「流れ」から分離し,プログラム全体の見通しをよくする感じについてはよくわかった気がします。しかし,前回のプログラムで困ったことに気づきました。
博士: なんじゃと?
「オブジェクト指向プログラミング」について(その2) [プログラミング]
http://himakou.blog.so-net.ne.jp/2012-08-21 の続き
助手: 博士,前回は「オブジェクト指向プログラミング」を次のように踏み込んで定義しましたが,もう少し具体的に教えてもらえませんか。
「オブジェクト指向プログラミング」とは,全体的な手続きの「流れ」を重視してきた従来のプログラミングと異なり,処理の「オブジェクト(=対象物)」を重視することによって,「オブジェクト」に固有の手続きに関するプログラミングを全体的な手続きの「流れ」から分離することを目指すことで,プログラム全体の見通しをよくするプログラミング「手法」である。
博士: よしよし。それではVisual Basic 2008(以下「VB」)を用いて,具体的にプログラムを書き分けてみようかの。たとえVBが不慣れであっても,プログラムを比較することで,「オブジェクト指向プログラミング」の雰囲気を味わってもらいたい。
助手: よろしくお願いします。
助手: 博士,前回は「オブジェクト指向プログラミング」を次のように踏み込んで定義しましたが,もう少し具体的に教えてもらえませんか。
「オブジェクト指向プログラミング」とは,全体的な手続きの「流れ」を重視してきた従来のプログラミングと異なり,処理の「オブジェクト(=対象物)」を重視することによって,「オブジェクト」に固有の手続きに関するプログラミングを全体的な手続きの「流れ」から分離することを目指すことで,プログラム全体の見通しをよくするプログラミング「手法」である。
博士: よしよし。それではVisual Basic 2008(以下「VB」)を用いて,具体的にプログラムを書き分けてみようかの。たとえVBが不慣れであっても,プログラムを比較することで,「オブジェクト指向プログラミング」の雰囲気を味わってもらいたい。
助手: よろしくお願いします。
「オブジェクト指向プログラミング」について(その1) [プログラミング]
助手: 博士,コンピュータの分野で「オブジェクト指向プログラミング」という「宗教」が盛んだと聞きましたが。
博士: 恐ろしく唐突な導入部だな。確かにキミのいうとおり,ソフトウェア開発者の間では「オブジェクト指向プログラミング」は必須の知識だが,宗教というのは言い過ぎではないかな。「オブジェクト指向プログラミング」が多くのソフトウェア開発者の心を掴んだのは事実だが,「オブジェクト指向プログラミング」が単なるプログラミング「手法」の一つに過ぎない点をはき違えてはいかん。
助手: そうすると,「オブジェクト指向プログラミング」はプログラミングテクニックのようなものだと理解していいんでしょうか。
博士: とのとおりじゃ。人類の歴史では優れた手法やテクニックの類は「社会」を大きく変革することがあり,この意味では「オブジェクト指向プログラミング」がソフトウェア開発「業界」を変革したと言っても言い過ぎではなかろう。しかしそれは,「社会」や「業界」がこうした変革を欲していた時期であったという見方もでき,歴史の流れにつられて「オブジェクト指向プログラミング」という手法自体を過大に取り扱っては,かえって理解の妨げになる。以下では,こういう立場で「オブジェクト指向プログラミング」というプログラミング「手法」について解説してみたい。
博士: 恐ろしく唐突な導入部だな。確かにキミのいうとおり,ソフトウェア開発者の間では「オブジェクト指向プログラミング」は必須の知識だが,宗教というのは言い過ぎではないかな。「オブジェクト指向プログラミング」が多くのソフトウェア開発者の心を掴んだのは事実だが,「オブジェクト指向プログラミング」が単なるプログラミング「手法」の一つに過ぎない点をはき違えてはいかん。
助手: そうすると,「オブジェクト指向プログラミング」はプログラミングテクニックのようなものだと理解していいんでしょうか。
博士: とのとおりじゃ。人類の歴史では優れた手法やテクニックの類は「社会」を大きく変革することがあり,この意味では「オブジェクト指向プログラミング」がソフトウェア開発「業界」を変革したと言っても言い過ぎではなかろう。しかしそれは,「社会」や「業界」がこうした変革を欲していた時期であったという見方もでき,歴史の流れにつられて「オブジェクト指向プログラミング」という手法自体を過大に取り扱っては,かえって理解の妨げになる。以下では,こういう立場で「オブジェクト指向プログラミング」というプログラミング「手法」について解説してみたい。
EUC開発の心得について [プログラミング]
最近,仕事の関係でEUC開発のことを考えています。EUCとはEnd User Computingの略ですが,仕事の効率性とか正確性を高めるために,手作業や手計算をコンピュータに代替させるべく,現場でプログラムの開発を行うことです。
よくある事例は,MicrosoftのExcelとかAccessとかWordにおいてはVBA(Visual Basic for Applicationの略で,Visual Basicというプログラミング言語の簡易版)というプログラミング言語が手軽に使えるようになっているので,これらを用いて計表作成EUCや宛名印刷EUCを開発するといったもので,どこの職場にもそういうのが得意な(好きな)社員がいるものです。業務によっては,手作業で何日もかかっていた仕事が劇的に短縮されることもあり,ホントに便利なものですが,よくある不幸として,EUCを開発した社員が後に人事異動や退職してしまったために,EUCの簡単な手直しを行える社員がいなくなり,次第にEUCがごみとなり,昔の「原始時代」に戻ってしまうといったケースです。
よくある事例は,MicrosoftのExcelとかAccessとかWordにおいてはVBA(Visual Basic for Applicationの略で,Visual Basicというプログラミング言語の簡易版)というプログラミング言語が手軽に使えるようになっているので,これらを用いて計表作成EUCや宛名印刷EUCを開発するといったもので,どこの職場にもそういうのが得意な(好きな)社員がいるものです。業務によっては,手作業で何日もかかっていた仕事が劇的に短縮されることもあり,ホントに便利なものですが,よくある不幸として,EUCを開発した社員が後に人事異動や退職してしまったために,EUCの簡単な手直しを行える社員がいなくなり,次第にEUCがごみとなり,昔の「原始時代」に戻ってしまうといったケースです。
パーフェクトなパーセンタイル関数 [プログラミング]
今日は初めて「プログラミング」のカテゴリーで書いてみます。ExcelにPercentRank関数というのがあり,データ列とスカラー値を与えると,データ列を内部でソートした上でスカラー値が何パーセンタイルにあたるかを返す関数です。演算速度も速くてなかなか便利な関数なんですが,