cakePHP
XAMPPをインストール
インストールしてlocalhostよりセキュリティを開くと、文字化け。。
改めてXAMPPのセキュリティ画面の文字化けを解決 | ふーたらのページ (GALAXY S4やAndroidやドコモとiPad miniもね)
このページの方法を試しても、一部だけ解消されるものの、残りはまだ文字化けのまま。
jp.phpをsublimeで開いたとき、勝手にSJISがUTF8で開かれて中身が文字化けして、どうすればいいんじゃいって思った。
文字コードが悪さをしてるのはわかってる…UTF8で保存しないといけないのだよね?うーん。悩んで、ググったワードは”テキストファイル 文字コード 一覧”
【レビュー】大量のテキストの文字・改行コードをまとめて判定・変換できる「FileCode Checker」 - 窓の杜
セキュリティのlangフォルダ内を一式UTF8に変換したら、なおった。これでいいのかは不明。いいんだ、先に進まなければ何も作れない。
CakePHPインストール
database.phpの作成とデータベースの用意 - CakePHPの使い方
コマンドプロンプトよりDB・ユーザ・パスを作成しないと
Error: Database connection "Mysql" is missing, or could not be created.
が出る(via cakephp 【DB接続エラー】 - Qiita)
jqueryとChromeの干渉
Bootswatchをローカルでいじってサーバーにあげて動作を確認しようとしたら、スマホからだとナビバーのメニューが開閉できず。
ブラウザで開いて確認すると、何やらエラー。
最初、よくわからなくてjsの名前や使ってる関数でググって、何も出てこず…
jsをクリックして開いてみた。
なるほどこれが使っているjsか。と、上にスクロールしていったら、Tab Sugarという名前とgithubのURLが。
この機能が使ってるってことかな…?そういえばだいぶ前そんなもの入れたっけな、と拡張機能一覧を見てみたら、なぜか背景が灰色に。
ググっても特に出てこない。困った。まあ、飛ばそう。
タブ管理をショートカットで操作したりするから、きっとこのjsがおかしい。たぶん。無効にして、Chromeを再起動。
ちなみに再起動のショートカットはこうらしい。
アドレスバーに chrome://restart を入力するだけです
再起動後リロードしたら、エラーが消えていた。ばんざい!まあ、スマホでは相変わらず見れないんですけど…。
いつか転んだ時用ブクマ:
9)ローカルでの検証
ローカルで検証する場合はサーバーでの実行と比べて挙動に違いがおきる場合があります。
以前の記事に書いたのですがChromeでローカル検証を行った際、load関数が動かないということがありました。
→Google Chromeの起動オプション
検証はできるだけサーバー環境で行いましょう。
フロントエンドエンジニアになってから11ヶ月間で覚えたちょっと捗るChromeの使い方 - Qiita
シークレットモードではデフォルトですべての拡張が無効化され、ノーマルウィンドウのセッション情報も引き継がずにクリーンな環境を手に入れることができます。
でもユーザがいつもクリーンな環境で見てるわけじゃないよね…どうするんだろう。
ちなみにこのエントリー書いてたらスマホで見れるようになった。足りないもの調べてアップロードしたりしたからかも。それの反映の時差?
JSONデータをべたべた触る@初級
JSONデータをテーブルで書き出したいのだけど、さっぱりjqueryなるものがわからないので、まずは「書き出す」というところから入ろうと、Google先生によさげなページを聞いた。
シンプルなHTMLにjquery1.3.2をインストールして、JSONデータを読み込んで…
ボタンをポチると”XMLHttpRequest cannot load 場所とファイル名 Origin null is not allowed by Access-Control-Allow-Origin.”とエラー。
load() を使うと Chrome が文句言う - 積極的にメモっていく姿勢
Chromeのベースにある、ローカルファイルに対するセキュリティの考え方が、これを実行不可能にしている様子。
原因と対策がばっちりかかれていた。確かにChrome使ってて出た。
起動オプション - Google Chrome まとめWiki
ちなみに微妙に半角入れないとだめ。
半角スペースを空けてオプションを追加していきます。
※先頭に半角スペースを入れ忘れると [OK] または [適用] をクリックしたときに「受け側に指定されたパス名 ~ は無効です」とエラーが表示されます。
ちょっと変な所で寄り道してしまったけど、Chromeだとおかしいことになることもあると知れたのでよし。
11/20追記
jQueryでJSONのデータ取得し、テーブルに表示するプラグインを作成する - Symfoware
これを参考にこんな感じのHTML作って
自分が使いたいようなデータと部品でアレンジしていたら、
Uncaught ReferenceError: $ is not defined (anonymous function)
というエラーが出た。ググった。
» 【メモ (jQuery)】 Uncaught ReferenceError: $ is not defined (anonymous function)_DD_log
どうやらhtmlのhead要素内の記述に問題があったようです。
確かに、順番がおかしかったかも。
Before:
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="js/jquery.plugin_sample.js"></script>
<script type="text/javascript" src="js/jquery.plugin_mode.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js" type="text/javascript"></script>
After:
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.plugin_mode.js"></script>
<script type="text/javascript" src="js/jquery.plugin_sample.js"></script>
これでエラーが出なくなった。
この順番を気にしなくていいようにするのがrequire.jsなのかな~?
JS の読込み順を征する者は なんか色々征する! with CoffeeScript - glasses factory
昔目にしてブクマしといたけど、実際にこうやって問題に直面してから思い出して、頭の中でつながると気持ちいい。
Titaniumに入れてみた。
Androidアプリ開発をしないといけないのだけど、EclipseのAllinOneがあるとはいえ導入がめんどくさい。
iPhoneアプリ開発といっぺんにできたらいいじゃない?そうだTitaniumぱいせんがいる!
ということで、とりあえず導入してみた。
Titanium SDKのAndroidアプリ技術情報 - Titanium StudioではじめるAndroidアプリ開発
オネエ風のキャラクターが解説してくれているという設定だけど、堅苦しさがないから慣れ親しみやすいかも。
導入後のよさげなTips
なういんすとーりんぐ。
Platform configurationのBlackberryがやけにながい。なぜ。
もしも急にソフトインストール状況を教えろと言われたら
そしてたくさんユーザがいてPCがあったら。
資産管理表で普段から管理されていればいいけれども、徹底してなくて更新が止まっていたりしたら。
いくつか重点的に林檎の会社とか目の会社とか4色窓の会社とかのを調べろと指定されてた。
最初に考えた。コマンドプロンプトかなんかでまとめてバーっと調べられないか。
コマンドプロンプトでインストールソフトの一覧を取得する - Symfoware
Windows TIPS:findstrで正規表現を検索する - @IT
ググって調べて書きあげた:
C:\Users\hoge>reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentV
ersion\Uninstall" /s | findstr /r /c:"\<DisplayName REG_SZ Adobe" /c:"\<Di
splayName REG_SZ Apple" /c:"\<DisplayName REG_SZ Microsoft" > result
.txt
なんか長いし、PDFなんかも入ってる…シャレオツじゃない…!
結果もこんなにライセンス要らないものも含まれたり:
DisplayName REG_SZ Adobe AIR
DisplayName REG_SZ Adobe Flash Player 15 ActiveX
DisplayName REG_SZ Adobe Flash Player 15 Plugin
DisplayName REG_SZ Adobe Flex Builder 3
DisplayName REG_SZ Adobe Shockwave Player 11.5
DisplayName REG_SZ Adobe ExtendScript Toolkit 2
DisplayName REG_SZ Adobe Creative Suite 3 Web Premium を追加または削除
DisplayName REG_SZ Adobe Creative Suite 4 Design Premium
DisplayName REG_SZ Adobe Help Manager
DisplayName REG_SZ Adobe Media Player
意味なかったー!
他にもやることあるので、あきらめて地道に調べることにした。まる。
サイトを作る前に読むといいなと思った記事
個人でもサイト立ち上げ時は実施すべき7ステップ - 鈴木です。
ネーミングで後悔したくない!サービス名を決める前に知っておくべき9個の注意点(+発想メソッド) | Find Job ! Startup
海外の人から見ても変じゃないか。
英語の用例が間違っていたり、悪い言葉と読み間違えられたりします。ネイティブの方に見て貰うようにしましょう。近くにネイティブの方がいなければ、以下のような英語添削サービスを使って聞くのも良いですね。
これ特に大事だと思う。
サブドメインとサブディレクトリの違い・使い分け | SEO基礎知識 [SEO HACKS]
ページ送り機能メモ
2つの違いが分からないので調べたメモ。
Page View Controller(
Presents a sequence of view controllers as pages, via coordination with a data source and delegate. Swipe navigation between the pages is automatically handled with a page curl transition that tracks the user's finger. The navigation orientation can be horizontal, like pages in a book, or vertical, like pages in a wall calendar.
複数のViewControllerをページのように見せるスワイプをしてページをめくるように見せる
本のように横にスワイプするか、カレンダーのように縦にスワイプする
UIPageViewControllerの使い方 -基礎- - hyoromoのブログ
Page-Baseed Applicationを使って実装
RootViewController→ModelController→DataViewControllerな流れ
Page Controller(UIPageControl)
UIPageControl indicates the number of open pages in an application by displaying a dot for each open page. The dot that corresponds to the currently viewed page is highlighted. UIPageControl supports navigation by sending the delegate an event when a user taps to the right or to the left of the currently highlighted dot.
ばらばらのページをひとまとめにする機能?
現在表示されているページに対応する●がハイライトされる
ハイライトされた●の左か右をタップすることで隣のページへ移るイベント
とりあえずこれ単体だと駄目で、UIScrollViewも必要だということはわかった。罠すぎる。
逆引きObjective-C for iPhoneアプリ - UIPageControlの基本的な使い方
UIPageControl自体の使い方はシンプルなのですが,残念なことにUIPageControlだけではページングを実現することができません.iPhoneのホーム画面のような挙動をさせたい場合はUIScrollViewと組み合わせる必要があります.