2012/10/16

ZenCodingをもう少し使いやすくしたEmmetってのがあるようです。 知らない人は遅れてる?新Zen-Coding Emmetを参考にインストールしてみました、、、が

ショートカットがききませんorz

何かやり方間違ってるのか?わかりませんが、とりあえずメモ

----2013/01/07 ZenCodingとEmmetの共存は通常できない模様。 よって、Emmetを利用する時は、ZenCodingのパッケージをremoveします。

まずはZenCodingをインストール

コマンドパレット(Command + Shift + P)で ZenCodingをインストール ZenCoding

Emmetのインストール

Emmetは今のところリポジトリにないので、コマンドパレットでadd repository ZenCoding

Window下にURL入力ボックスが表示されたらURLを追加

https://github.com/sergeche/emmet-sublime

あとは、コマンドパレットで emmet-sublime.pngをインストール Emmet

コーディング

ZenCoding

div#test1.test1+(div#test2>(div#test3+div#test4))+div#test5

Emmet

div#test1.test1+div#test2>div#test3+div#test4^div#test5


  2012/10/12

開発環境と実機がiOS6になってしまったため、iOS5で試せる機会が減ってしまった。

現在開発中のアプリでiOS5の実機で落ちてしまう現象があった。

Could not instantiate class named NSLayoutConstraint

どうやら、「AutoLayout」を利用していると iOS5でエラーになる。

理由は定かではないけど、iPhone5対応には「AutoLayout」を無効にするのは個人的に鉄則の気がします。 ちなみに、Xibを手動で作成した時に「AutoLayout」にデフォルトでチェック(?)されてしまっていたようで、気がつきませんでした。

  2012/10/11

viモードでSublime Textの一括置換を利用する場合、混乱してしまうのでメモ

(1) viの入力モードにする (2) 置換したいワードに移動し、Ctrl + D (3) もう一度 Ctrl + D する (4) 文字を編集する

  2012/10/10

久々にAndroid x Eclipseを使って、アップデートしたらコード補完ができなくなりました。

ネットで調べて、新規インストールしたEclipseでコード補完候補が出なくなってしまった場合の対処法 を参考にしました。

結論を言うと

・.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs を開く ・content_assist_disabled_computersを無効にする

Eclipseコード補完

ショートカット変更

人によっては、OSXのショートカットとバッティングしてしまうので、ショートカットを変更します。

環境設定... > General > Keys を開き、Content Assist にショートカットを割り当てます。 Eclipseコード補完

  2012/10/10

ここを参考にメモ

AndroidManifest.xmlの設定で消す

タイトルバーを消す


true

ステータスバーを消す


true

フルスクリーンにして消します。

タイトルバーの影を消す


@null

プログラムで消す

タイトルバーの影を消す

[java] public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.game); } [/java]

ステータスバーを消す

[java] public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.game); } [/java]

レイアウト系なので何となく設定で消したいですが、条件に合わせて表示する事があればプログラムですかね? ただ、プログラムで消した方が作業は早いか(?!)

  2012/09/28

GDでPNG画像を合成する際、元画像のアルファが影響してにじんでしまうことがある。 特に意図してアルファチャンネルを利用しない場合は、truecolorで合成したほうがいいかも。

(1) imageCreateTrueColor() で画像を作成 (2) imagecolorallocate() でカラー作成 (3) imagefill() で背景塗りつぶし

画像を縦に合成するサンプル

gd_draw_white_image.php

<

pre class="language-php"><?php $paths[] = './images/sample_hource.png'; $paths[] = './images/sample_sheep.png'; $paths[] = './images/sample_dog.png';

$gd_image = new GDImage(); $gd_image->drawImage($paths);

class GDImage { public $image_widths = []; public $image_width = 0; public $image_height = 0; public $r_color = 255; public $g_color = 255; public $b_color = 255;

/**
 * draw image
 *
 * @param array $paths
 * @return void
 */
function drawImage($paths) {
    if (!$paths) return;
    foreach ($paths as $path) {
        $images[] = $this->fetchImage($path);
    }
    $this->image_width = max($this->image_widths);
    $this->createImage();
    foreach ($images as $image) {
        $this->addImage($image);
    }
    $this->drawPng();
}

/**
 * create image
 *
 * @return void
 */ 
function createImage() {
    $this->image_x = 0;
    $this->image_y = 0;
    $this->marge_image = imageCreateTrueColor($this->image_width, $this->image_height);
    if (!$this->marge_image) exit(&#039;image create error!&#039;);
    $white = imagecolorallocate($this->marge_image, $this->r_color, $this->g_color, $this->b_color);
    imagefill($this->marge_image, 0, 0, $white);
}

/**
 * draw png
 *
 * @return void
 */
function drawPng() {
    header("Content-type: image/png");
    ImagePng($this->marge_image);
    ImageDestroy($this->marge_image);
    exit;
}

/**
 * add image
 *
 * @param array $values
 * @return void
 */
function addImage($values) {
    ImageCopy($this->marge_image, $values[&#039;image&#039;], $this->image_x, $this->image_y, 0, 0, $values[&#039;width&#039;], $values[&#039;height&#039;]);
    ImageDestroy($values[&#039;image&#039;]);
    $this->image_y+= $values[&#039;height&#039;];
}

/**
 * fetch image
 *
 * @param string $path
 * @return array
 */
function fetchImage($path) {
    $values[&#039;image&#039;] = ImageCreateFromPng($path);
    if ($values[&#039;image&#039;]) {
        $values[&#039;width&#039;] = ImageSX($values[&#039;image&#039;]);
        $values[&#039;height&#039;] = ImageSY($values[&#039;image&#039;]);

        $this->image_widths[] = $values[&#039;width&#039;];
        $this->image_height+= $values[&#039;height&#039;];
    }
    return $values;
}

}

  2012/09/28

iPhone5発売記念としてAppBankNetworkがキャンペーンをしていたので、これを機に会社で登録してみる。

【特典】先着100デベロッパー様に1万円プレゼント 【全員特典】AppBankの特集記事「秋の無料アプリ特集(仮タイトル)」に参加 【特別特典】先着100名の中から抽選で5名様にAppBankの広告枠1000クリック分プレゼント

AppBankには、なかなかレビューしてもらえないのが理由です(汗)

AppBankNetworkのアプリ広告は、Nendと協力してやっているそうです。

AppBankNetwork概要

AppBankNetworkは、iAdやAdMobのようにアプリに広告をしこんで収入を得るプログラムです。 AppBankは、iOSの中では現状最大手のレビューサイトでしょう。 そこで、AppBankNetworkを利用すればその特典をいかしつつサービスを利用できるので、日本国内向けのアプリに最適かと思います。

手順

AppBankに申請

※この段階では、SDKはダウンロードできないので利用できません

AppBankからメール連絡

ここで申請が受理されると、アプリ広告の設定にはいります

メールに記載された内容でNendのサービスにアクセス

Nendのサービスで、アプリ広告の登録をします。 広告枠の設定が終了すると、アプリのキー発行とともにSDKがダウンロードが可能となります。

アプリにSDKを組み込む

ダウンロードしたSDKを、アプリに仕込みます。 ※詳細はNendから公開されるマニュアルを参照

とりあえず動作しているかは、テスト広告で確認も可能です。

iAd、AdMobとのハイブリッドは、最初不安なのでやめました。 誤作動でAppBank側で確認できないとまたITCに再申請しないといけないのが理由です。 うまく動作したら、アップデートでハイブリッド対応という形で。

広告の承認

アプリ広告枠を登録して、暫くすると広告枠の承認のメールがきます。 これで、実際の広告収入機能が有効になります。 AppStoreでアプリがリリースされるか待ちましょう。

キャンペーンの登録

キャンペーンがある場合は、アプリリリース後に申請が必要です。 ※キャンペーンの申請・承認に関しては、各キャンペーンの基準によります。

と言う事で、しばらくAppBankNetworkの広告効果がどんなもんか調査していきます。

  2012/09/28

iPhone5になって一番厄介なのが、解像度の変更でしょうか? なにせアスペクト比が変わってしまいましたから・・・

iPhone4 と iPhone5のRetina解像度

iPhone4 Retina: 640 x 960 iPhone5 Retina: 640 x 1136

最初は、機種判別とかviewの画面サイズを取得してレイアウトを考えてましたが、実はInterfaceBuilderだけでほとんどの事が解決できるかと思います。 実際はステータスバーを利用する事が多いと思うので、ステータスバーの高さ分のレイアウトを考慮する必要があります。

IBでRetina4 Full Screenを設定

まずはInterfaceBuilderでviewを Simulated Metrics > Retina4 Full Screen に設定するとiPhone5の解像度(640 x 1136)でレイアウトできます。 というか、こうしないとiPhone5で表示されないと思います(上下黒枠)。

UI位置はIBのAutoSizingを利用する

Retina4 Full Screenのレイアウトにしたら、今まで個人的にあまり気にしていなかった「AutoSizing」の利用です。 ちなみに、AutoLayoutにすると色々崩れるので利用しない方がいいような気がしました。

「AutoSizing」は、viewのサイズが変更された時にその中のUIがどういう位置取りをするか設定するものです。 iPhone5で基本レイアウトしておき、各UIパーツ毎に「AutoSizing」を設定します。

iPhone5で起動

レイアウトそのままで表示

iPhone4で起動

「AutoSizing」の設定によりUIが自動で位置調整して表示

  2012/09/21

2012/09/13現在、Xcode4.5(GM)でadMobのコンパイラが通りませんでした。 ※現在は、Google AdMob Ads SDK のiOS 6対応版がでています Google AdMob Ads SDK

ld: file is universal (3 slices) but does not contain a(n) armv7s slice:

armv7s

どうやらXcode4.5(GM)で、Buildの Architecturesが、armv7s が追加されて$(ARCHS_STANDARD_32_BIT) に変更になってるので、とりあえずここを参考にの対処策を。

プロジェクトの Target を選択して Architectures > Other... を開く armv7s

$(ARCHS_STANDARD_32_BIT) を削除して、armv7 を追加 armv7s

これで、コンパイルできるはず。 armv7s はiPhone5に最適化されたアーキテクチャかと思います。 そのうちadMobから armv7s対応バージョンが出ると思うので、それを待った方が安心かも知れません。

pngファイルの軽量化
Google DriveのIconを再起的に削除
php-markdownでバニラPHPなコードブロック処理
laravel-ffmpeg を使う
2021年版 Ubuntu + certbot + Let's Encrypt でサーバ証明書設定
GihHub のデフォルトでない master ブランチを checkout する
マルチログインで未認証のリダイレクト
Homebrew で Redis をインストール
CSS だけでスムーズスクロール
EC-CUBE4 で Gmail の smtp を利用する
Amazon Linux 2 の amazon-linux-extras とは
UNIQUE カラムのバリデーションで自分自身を除外して更新
フォーム有効期限切れで Page Expired をリダイレクト
ログを日付でローテーションやクリアや削除
Homebrew で PHP8.0 から PHP7.4 にダウングレード
Big sur で zsh 移行と Homebrew アップグレード
Mac に minikube をインストール
途中から .gitignore に追加する
Larevel 6.x から Laravel 8.x にバージョンアップ
Composer で Allowed memory size (メモリ不足)エラー
Blade でカスタムクラスを利用する
git push git pull にブランチ指定せずに実行する
git pull や git push できなくなったとき
Docker のコンテナからホストOS に接続
Mac で ローカル IP アドレス(ipv4)のみを表示する
ホストOS から Docker の MySQLコンテナに接続
caching_sha2_password のエラー
node-config で環境設定ファイルを利用する
rootパスワードを初期化(再設定)する
Git から clone したときのエラー対処
Mac に MySQL をインストール
Mac に PostgreSQL をインストール
Laravel 環境構築 - Mac ネイティブ編
Firebase 入門 - Firebase とは
Firebase 入門 - CLI インストールとデータベースの設定
AWS 無料枠(t2.micro)で容量とメモリエラー
Cloud9 を起動する -初心者編-
gcloud で GCEインスタンスを起動してみる
AWS CLI と jq でインスタンス一覧を整形して表示
React と Laravel7 のプロジェクトを作成する
Homebrewインストール-2020年版
3直線で囲まれた範囲塗りつぶし
PuLP で線形最適化問題を解く
カスタムのペジネーションを作る
node-sass を使って sass をコンパイルする
Log ファサードでSQLログを分離して書き出す
いちから始める Docker - 複数のコンテナを使う - (2020年)
いちから始める Docker - docker-compose を使う - (2020年)
AWS ECR を使ってみる
Laravel7 でマルチ認証