読者です 読者をやめる 読者になる 読者になる

Keep It Real BLOG

ソフトウェアエンジニア。1児の父。 酒、ラーメン、サッカー好き。旅行も好きですが、普段は出不精で大抵たまプラーザ界隈に居ます。

アクセス数が急に0になった話

なぜかこのブログ、先週あたりからぐんぐんアクセス数が落ちてきまして、ついに本日現時点(6/26 17:00)でのアクセス数が0になってしまいました。

QiitaのUXの謎

最近なにかと話題のQiitaですが、いつも利用させて頂いていて、とても便利なのですが、UXに関して個人的に謎な事があったので、少し考察してみました。

楽天の「あなたはポイント◯倍について」というところが反映されないので問い合わせてみた

楽天の「あなたはポイント◯倍について」というところが反映されないので問い合わせてみました。

最近人気のアバターサイト

最近なんかやたらとアバターサイトが、企業から提供されているので、纏めてみました。

vimの正規表現で、span等のタグを複数行マッチさせる方法

今回やりたかったのは、vimでの正規表現でして、普段使っているpythonの正規表現の書き方と大分違うということで苦戦しました。

pythonで60進法の日本測地系の位置情報を10進法の世界測地系に変換する

凄いレアなケースだと思うのですが、60進法の日本測地系の位置情報を扱うケースがあり、それを10進法の世界測地系に変換する必要があったので、調べた結果と実装をまとめました。

djangoのgroup permissionをプログラム内で付ける

テストケースを生成する上で、プログラム内でユーザーに group permission を付加する必要があり、少し調べる必要が出たので、メモっておきます。

PythonのPILでIOError: decoder jpeg not availableが出た時の対処法

PILで画像のりサイズを行おうとした際に以下のようなエラーが出たので、その時の対処法をメモしておきたいと思います。 File "PIL/Image.py", line 375, in _getdecoder raise IOError("decoder %s not available" % decoder_name) IOError: decoder jpeg not…

DjangoのCORS設定で、headersのcache-controlを許可する方法

Djangoでクロスサイトドメインを扱う際に、 django-cors-headers というライブラリを使用しているのですが、このライブラリが cache-control を許可しておらず、少しハマりました。

Djangoのモデルで外部キーを付けた際に逆参照させないようにする方法

DjangoのモデルでForeignKeyを付けた際に、逆参照を思いもしないところでしまって困ることがあるので、明示的に逆参照させない方法があるということをメモっておきます。

El capitanでpip install pylibmcした際に起きたエラー

El capitanの新しいmacに pylibmc をインストールしようとしていたら、エラーが起こって結構ハマってしまったので、メモしておきたいと思います。

AngularJSのng-clickしたelement取得方法

最近AngularJSを使う機会があり、その際にng-clickしたelementの情報を取得したかったので、その方法をメモしておきます。

pycharmからsslのサイトを起動する為の設定

pycharmでサイトを起動する際の設定が消えてしまい、再設定したのですが、起動はしたもののリダイレクト処理されてしまい、上手く動かなくて一瞬焦りました。。 自分の設定をメモしておきます。

Djangoで100m以内のデータを近距離順にソートする処理を爆速化

現在、位置情報を使用したシステムを作っていて、そこで100m以内の情報を取ってくる+近距離順にソートする必要性があり、単純にデータ取得+ソートを掛けたところ、indexが効かなく非常に処理が遅かったので、その時の対処方法を残しておきたいと思います。

Djangoでカラム名を動的にし、値を更新する方法

Djangoのormを使用し、カラム名を動的に変更しながら、値を変更する方法を調べたのでメモしておきます。

django adminのフォームで、外部キーが指定されている際の仕様

django adminのフォーム登録を使用する際に、fieldsetsにforeign keyを持つフィールドを指定した場合、登録画面の該当のフィールドの箇所は、セレクトボックスの中身が全てobjectの選択になってしまいます。 これを、ちゃんと理解出来る文字にする方法をメモ…

pythonでのdatetimeインスタンスの生成方法

pythonでのdatetimeインスタンスの生成方法について、ちょっとしたメモ。

jqueryのcloneを使ってtextareaをもう一つ生成した際に、元のtextareaの値が保持されない

jqueryのcloneしてみたら、textarea自体生成されたものの、元のtextareaの値が消えてしまうという事象が起きました。

Django1.7対応について

Django1.7が出たので、自分達の環境内だけのことだけですが、対応内容を書いておきたいと思います。

S3ResponseError: 403 Forbiddenでハマる

pythonでのサイト作成で、botoを使用してS3にファイルをアップロードしようとしていたところS3ResponseErrorが出力されて大分ハマったので、メモしておきます。

PythonでXMLパース

PythonでXMLをパースする機会があったので、色々と弄ってみました。

Djangoの言語ファイル生成

最近、pythonを触り始めました。 Django使用しているのですが、言語ファイル生成の際に、コード側から書いていくと一発で言語ファイルに変数名が入るという機能があったので、使用してみました。 導入までの流れを書き止めておきたいと思います。

Code Igniterでストアドプロシージャを使用するとエラーになる件

Code Igniterでストアドプロシージャを使用すると、 Commands out of sync とエラーが出る為、調査しました。

PHPでXML作成の際のparsing XML declaration: '?>' expectedエラー

PHPでXMLを作っている際に上記のようなXMLエラーが出たので、メモ。 以前も出たことあるのに、メモってなかった…。

CodeIgniterでセッション保持する・しないの振り分け

CodeIgniterでセッションを取り扱うとなるとCookieに自動的に保持されてしまうんですよね。 クライアントからの要望で、ログイン状態を保持する・しないというチェックボックスを付けてくれっていうのがあったので、暫定的に簡素な実装をしてみました。

PEAR Unserializerで配列が崩れる

普段、XMLのレスポンスで要素が複数ある場合は、自動でネストしてくれるのですが、1つの場合だと自身で定義しないとダメなので、注意がひつようです、というメモ。$option = array{ 'forceEnum' => array('name1','name2') }これを使うことで、自分の好きな…

output_add_rewrite_varを使用し、XHTMLに出力する際の注意

PHPのプログラム側でoutput_add_rewrite_varを使ったら、「&(アンパサンド)」が、XHTMLエラーに引っかかって困った。 その時の対処方があったので、メモ。 ini_set("arg_separator.input", "&"); ini_set("arg_separator.output", "&"); これで、&は、表…

base64_decodeの注意

base64_encodeしたデータをPOSTで渡すと、Base64の「+」記号が勝手にスペースに変換されるもよう。 それで、そのデータをbase64_decodeしてもデータが崩れるという事象が起こってたらしい。これを知らなくて結構ハマった…。$str = base64_decode(str_replace…

PEARのHTTP/Request

PEARのHTTP/Requestを使用する際のメモ。// インスタンス生成 $req = new HTTP_Request("URL"); // ヘッダ情報追加 $req->addHeader("User-Agent", "UA"); // プロキシ情報追加 $req->setProxy("PROXY_URL", 8080); // ベーシック認証解除 $req->setBasicAut…

URLでベーシック認証を行う方法

Web

ベーシック認証の掛かっているところへデータを取得しに行く際に必要になったのですが、知らなかったのでメモ。http://ID:PW@通常のURLこれで、ベーシック認証解除出来るんですね。

send_mailやmb_send_mailでメールが届かない場合

単純にsend_mailでメールを飛ばすだけだと、セキュリティが強めの相手方のメールサーバには、スパムメール扱いされてしまって、メールが届かない場合があったりします。そういった場合は、メール送信側でちゃんと、ヘッダー指定してあげてとのこと。 $header…

PHPでサブドメイン間のクッキー情報受け渡し

サブドメイン間でクッキーの値を受け渡したい場合が有りますが、その時の対処で引っ掛かったので、メモしておきます。割りと処理自体は簡単で、クッキーを読み込む前に以下を指定。 ini_set('session.cookie_domain', ドメイン); // メインとなるドメインを…

自動的にパラメータを付加

PHPでsession.use_trans_sidを有効にすると、セッションのパラメータを自動的に付加してくれたりするけど、それと同じような動きをする関数があるんですね。 PHP output_add_rewrite_var('test', 'val'); HTML <input type="hidden" name="test" value="val" />PHP側で、上記のように書いてあげると、HTML側…

divでvalignをmiddleにする方法

divでvalignをmiddleに出来るということで、なかなか便利なので、メモ。HTML<div class="sample1"> <div> aaaa </div> </div>CSSdiv.sample1{}div.sample1 div{ display:table-cell; width:100px; height:100px; vertical-align:middle; }

スラッシュの入っていない日付を分割する場合

スラッシュ区切りになっている日付なんかを扱うことは多いのですが、スラッシュで区切られていない「20110606」みたいな日付を区切る場合に便利な関数が有って、何気に知らなかったのでメモ。 list($y, $m, $d) = sscanf("20110606", "%04d%02d%02d"); 他で…

strtotimeを使わずに、1ヶ月とか足す方法

strtotimeを使ってしまうと、月末に1ヶ月足したりすると、その翌月になってしまったりします。 ex:2012/01/31 + 1month ⇒ 2012/03/02その時の為の関数が以下。メモ。 private function calc_date($year, $month, $day, $addMonths) { $month += $addMonths; …

Facebookアプリ作成中のエラー

本日、Facebookアプリを作っていたら、エラーがいくつか出たので、メモ。 PHPで作っていたので、PHPでの例。#100 The privacy param cannot be applied when a target is specified.自分が作ったページのウォールに書き込みを使用とした時に出たエラー。 他…

XAMPP入れて困ったこと

今までXAMPPというものを特別使ったことがなかったので、導入した際に出た問題まとめ。

PHPで曜日の連結

DB内に保存されて日付データを連結するというプログラムが必要になったので、考えてみました。扱うデータは以下の感じ。 0,1,2,3,6 // 日,月,火,水,土 取得する関数は以下のようにしました。 // 曜日名取得関数 function get_day_names($ids) { $day_name = …

IE6以下でのhistory.back

リンクでhistory.back()を使用としたところIE6で動作しないとのことで、以下のようにreturn falseを足したら動作するようになりました。 <a href="javascript:void(0)" onclick="javascript:history.back();return false;">戻る</a>一応、忘れそうなのでメモ程度に。 ただし、入力された値は残っていない模様・・。

GoogleAnalyticsのデータを取得して、トップページなどに人気ページとして表示したい場合

トップページに人気ページの情報を取得して、表示する機会があったので、メモ。「Google Analytics API 」をPHPから便利に使えるクラスライブラリに書いてあるとおり、こちらよりライブラリを取得して、以下のコードで詳細ページの昨日のページビュー数が一…

GoogleMapのズームコントロールの目盛りを変更する。

メモです。GoogleMapのズームコントロールの目盛りを変更したい時、普通のマップならば、 G_NORMAL_MAP.getMinimumResolution = function(){return 1;} // 最小値 G_NORMAL_MAP.getMaximumResolution = function(){return 5;} // 最大値で出来るようになりま…

border-bottomが表示されない

IE8で、なぜかborder:1px solid #000000;とかで、下のborderだけが表示されない事態が起こった。解決方法としては、 position:relative; を追加したら、直りました。これでいいのか分からないですが、こういったブラウザ毎のバグは大変ですね。

Javascript エラーコード KB927917対処法

自身が作ったサイトをIEで確認していたら、「HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)」のようなJavascriptエラーがたまに出てくるようになったので、対処した。このエラー原因はと…

PHPで文字列を一部省略する

文字を丸めたかったんですが、PHPにこんな関数あったんですね。 $str = "あいうえおかきくけこさしすせそ"; // mb_strimwidth( 文字列, 開始位置, 文字数, 追加文字 [,文字コード] ) $str = mb_strimwidth( $str, 0, 20, "..." ); // あいうえおかきく... ec…

Cache_Liteの配列

PEARのCache_Lite使用時の注意。配列のCacheの場合、Cache_Liteのインスタンス生成時のオプションには、 'automaticSerialization' => 'true' // 配列を保存可能に を指定しないといけない。その他のいろいろなオプションはこちら。

GPSで現在地取得

GPSで現在地を取得するプログラムを書く機会があったので、メモ。 PearのGPSのライブラリを使用しました。まずは、GPSの位置を取得する為のページへのリンク作成。 require_once("Net/UserAgent/Mobile/GPS.php"); try { $g = Net_UserAgent_Mobile_GPS::fac…

simplexml_load_fileを使ってYouTubeのサムネイルを取得

今回YouTubeのデベロッパーIDを取得して、PEARのライブラリを使わせてもらって、サムネイルを取得しようかと最初は思っていたんだけど、デベロッパーID作ったもののIDが有効でないみたいなエラーが出てしまったので、別方法で取得することにした。デベロッパ…

FireFox周り込み解除

あまりCSSとかいじる機会なくて、たまにやるといつもこれ忘れるので、メモ。 回り込みを解除するケツのところで、 &ltbr style="clear: both;" />

PEAR-Pagerのオプションonclick

今回、非同期でPagerを使いたいと思っていたところ、PEARのPagerの中にonclickというオプションがあることが分かったので、使ってみた。 最新のPagerのパッケージを取得 PagerのCommon.phpを直す Pager使用時にオプション追加 最新のPagerのパッケージを取得…