MoyaSystem

もやしです。

2014-01-01から1年間の記事一覧

TitaniumのaddHTTPCookieがAndroidで動かない件とその対処法

このシリーズ毎度タイトルがひどい。 はじめに JavaScriptの共通コードでiPhoneとAndroidのアプリを同時に開発できるTitaniumだが、まったく同じコードで書けば良いかというとそうではない。その一例がcookie。 iPhoneアプリではアプリ内で使われるcookieは…

Titanium製AndroidアプリのWebViewでCookieをHTTPClientと共有する方法

久々に問題解決でドはまりしたのでメモ。しかしひどいタイトルだ……。 はじめに TitaniumでAndroidアプリを作成する際、Cookieの扱いには注意が必要です。 On Android, the HTTPClient uses its own cookie store which does not share cookies with the syst…

JavaScript: ほかのオブジェクトのメソッドを拝借して新しいオブジェクトを作る

課題 新しいオブジェクトを作成する際に、既存のオブジェクトのメソッドをそのオブジェクトのメソッドとして呼び出せたらいいな、ということがあります。しかし、そのオブジェクトをまるごと継承するのは都合が悪いときもあります。そのような場合、一部のメ…

JavaScriptにクラスはありません - プロトタイプで継承編 -

前回の内容はこちら。 JavaScriptにクラスはありません - オブジェクトリテラルとコンストラクタパターン編 - - MoyaSystem 方法3: プロトタイプを拝借する クラスのないJavaScriptに用意されている、オブジェクト間でコードを再利用する方法の一つがプロト…

JavaScriptにクラスはありません - オブジェクトリテラルとコンストラクタパターン編 -

そもそも 今月頭にこの記事を見て、げっと思ったので……。 Class構文が実装された - JS.next Class構文が実装された - JS.nextJavaScriptにクラスは存在しません!!!にもかかわらず、class構文なるものを用意するのは余計に初学者を混乱させるだけだと思います…

Titanium.UI.WebViewのreload()が動かない時の対処法

そもそも Titanium Studio で開発したiPhoneアプリにて、WebView.reload()がうまく動かないという不具合が発生した。画面をリロードしようとしても真っ白になってしまい、何も読み込まれない。時々はうまくいくようだが、なにぶん動作が不安定すぎる。 解決…

Windowsの%date%に足元すくわれた話

そもそも 個人的に運用している某所の出退勤管理システムにて、実績を取得したい期間を任意に指定できる機能を実装した。*1それなら毎月初に先月1ヶ月分の実績を取得してメール送信するバッチ処理もこの機能を呼ぶようにしたいよね、ということで、.batファ…

BuddyPressを前提としたプラグインのPHPUnit環境を構築する

PHPUnit使うのも初めてなのに、WordPress環境やらBuddyPress環境やらを整備しないといけなくってだいぶ時間がかかってしまった。備忘録的に手順まとめ。OSはMax OS Xを前提としています。 Wordpress Command line interface をインストールする 以下のリンク…

Xcodeを6.0にアップデートしたらTitanium Studioが動かなくなったでござるの巻

散々な日曜日でした。 そもそも iOS8の登場に伴い、Xcode6がリリースされましたね。 Mac App Store - Xcode アップデートの通知も来ていたし、これはやらねばと思ってアップデートしたのです。そしたらTitanium Studioからアプリケーションのビルドが通らな…

Appストア リジェクトとの戦い(現在進行形)

久々の更新。 Appストアの申請が通らないよおおお 初めてAppストアへのアプリリリースに挑戦中なのですが、現在のところ2連敗中。心が折れそうや。 予想外の理由で怒られたりもしてるので、まとめておきます。 第1戦 "quit unexpectedly" 初めてのアプリリリ…

PHPでhttpsにcurlが使えなくて詰まった話

PHPでcurlを叩きたくて、こんなコードを書いて動かしてみた。 $curlObj = curl_init(); $c_opt = array(CURLOPT_URL => 'https://hogehoge.com', CURLOPT_COOKIEJAR => 'cookie.txt', CURLOPT_COOKIEFILE => 'cookie.txt', CURLOPT_RETURNTRANSFER => true, …

プログラミングに出る英単語

文法 変数 variable 定数 constant 関数 function, method, procecdure 宣言する declare 定義する define 代入する substitute 初期化する initialize 比較する compare 計算する calculate 暗黙的型変換 implicit conversion 明示的型変換 explicit conver…

Alloyで画面間の変数の引き渡しにハマって、結局解決してない話

タイトルが残念なのはいつもどおりです。 そもそも Titanium Mobile でスマホアプリの開発をしていて、画面間で値の引き渡しをしたいな、と思っていたのです。window1.js var myVar = $.myInputField.value; var window2 = Alloy.createController('window2'…

AlloyフレームワークでのRequireタグの使い方

だんだんTitanium Studio の使い方がわかってきた今日このごろ。今日はRequireタグの基本を覚えましたよ。 Requireタグとは あるエレメントの要素を別ファイルに切り出したいときに使うタグ。 例えばindex.xml <Alloy> <TabGroup id="mainTabGroup"> <Tab id="tabA"> <Window id="tabAWindow" title="tab A view!!"> </Window> </Tab> <Tab id="tabB"> <Window id="tabBWindow" title="tab B view!!"> </window></tab></tabgroup></alloy>

Genymotionが立ち上がらないトラブルを解決した話

そもそも http://www.genymotion.com/ 最近開発を始めたスマホ用アプリのAndroidエミュレータとしてGenymotionが優秀らしい、という情報を手に入れたので、Titanium Studio 標準エミュレータに代えてこちらを導入してみた。http://www.appcelerator.com/blog…

Titanium Mobile からWordPressにログインする方法

POSTリクエストでWordPressにログインするには method: POST URL: http://yourwordpress.com/wp-login.php data: { "log": "username", "pwd": "password" }とすればOK。 Titanium Mobile では index.js function login(){ var url = 'http://yourwordpress.…

Gitでbranch作成->push->内容を共有->masterに取り込み までの手順

本記事は以下のサイトを参考にしました。 remote に branch を push し、remote から clone したリポジトリの branch を変更して push する - basyura's blog Git - ブランチとマージの基本開発に携わっているWebサービスで、そろそろbranchも活用した開発体…

ドットインストールのPHP入門の前にamppsをインストールすればいいと思う

そもそも お世話になってますドットインストール!プレミアム会員です。 最近PHPを触る機会が多いので、そういえばドットインストールではどんなレッスンしてるんだろう?と試しに覗いてみました。 PHP入門(基本編) (全32回) - プログラミングならドットイ…

WordPressのプラグインでDBをアップデートする方法

テーブルを作成する WordPress Codex でも書かれているので引用しときましょう。 dbDelta関数を使います。 Creating Tables with Plugins « WordPress Codex global $wpdb; $sql = "CREATE TABLE $table_name ( id mediumint(9) NOT NULL AUTO_INCREMENT, ti…

BuddyPressでプロフィール欄のリンクを削除する

そもそも BuddyPressでマイページのプロフィール欄を見ると、いちいちリンクが貼られています。 ここをクリックすると同じプロフィールのユーザの検索結果が出てくるのですが、あまり使わないし、「一言プロフィール」までリンクが貼られることもあって、削…

docomoのSPモードメールがRFC2047の書式に則っていない件

twitterでひととおりつぶやいたのでこちらにも転載します。docomoスマートフォンのSPモードメールの仕様が見逃せない感じだったので、書いてみる。— 橋口一法@元モヤシステムエンジニア (@hassy_se) 2014, 3月 5 発端は個人で開発しているシステムの不具合報…

Google App Engineにテストアプリをデプロイするまで

メモ書き程度に。 app.yamlのapplication属性に、アプリのIDを書いておく。 https://appengine.google.com/ にログインし、Create Applicationから新規にアプリを作成。ここでのIDはapp.yamlの記述に合わせること。 デプロイするには、GoogleAppeEngineLaunc…

@jazzに一斉メッセージ送信機能追加したった

そもそも 趣味でビッグバンドジャズをやってまして、そこの情報共有に @jazz http://www.jazz.co.jp/ というサイトを使ってるんですが、ユーザへの一斉メッセージ送信機能が無く不便。 ソースを覗いたところリクエストが単純だったので、これはなんとかなる…

運命の出会いは何通り?を強引に解いてみました

codeIQの問題「今週のアルゴリズム 運命の出会いは何通り?」を解いてみました。 https://codeiq.jp/ace/thisweek_masuipeo/q711 この手の道順を考える問題は辺の長さが大きくなると計算量が爆発的に増えるんで、アルゴリズムをうまく考える必要があるんでし…

JQueryでtextarea要素の値をセットするのとゲットするのの違い

今日ちょことだけハマったので。textarea要素にデフォルト値をセットするには、こうする。 <textarea>hoge</textarea> だからtextarea要素の値を取得するなら、こうすればいいかなと思ったのですが。 $("textarea").text();こうじゃないとだめなんですねぇ。 $("textarea").val();…

BuddyPressのプライベートメッセージ通知メールが届かないときの対処

そもそも BuddyPressにはプライベートメッセージ機能が実装されており、ユーザ同士が互いのメールアドレスを知ること無くコミュニケーションを取ることができる。 これ、デフォルトでメッセージを受信したときに登録メールアドレスにもメールが送信されるの…

Haskellでfizzbuzz

Haskellの勉強を再開したのでなんとなく書いてみた。 [if x `mod` 15 == 0 then "fizzbazz" else if x `mod` 3 == 0 then "fizz" else if x `mod` 5 == 0 then "buzz" else show x |x <- [1..100]] 全然Haskellっぽくない!! fizzbuzz :: Int -> String fiz…

BuddyPressで管理者以外のユーザを管理画面にアクセスさせない制御

そもそも BuddyPressで会員制サイトを構築させる際、管理者以外のユーザには管理画面を見せたくない。 そのため次の記事を参考にスクリプトを埋め込んでいた。【WordPress】管理者以外のユーザーが管理画面にアクセスしたらリダイレクトさせる方法

BuddyPressのmessages_new_message関数で改行を使う(多分)たった一つの方法

たったひとつ! だと思います。 そもそも BuddyPressにはmessages_new_message()関数がありまして、 これを使うとプラグインなどからプライベートメッセージを送信することができます。 messages_new_message(array( 'sender_id' => '1', 'recipients' => '2…