xengineer’s diary

結果、メモ的な内容になっています。

S3でWebのホスティング

何度かやって、毎度忘れるやつそのXX。

  1. 配信ドメインを決める
  2. s3のバケットを、配信するドメイン名と同じ名前で作る
  3. バケットのpolicyを設定する(これをしないと世界に開放できません)

    下記参照 docs.aws.amazon.com

  4. route53から該当ドメインのAレコードを(Aliasで)作る

  5. 大体Aliasを選ぶと、さっきのs3のendpointが選択肢で出てくるのでそれを選べば大丈夫です

いつもCNAMEでAliasを作ろうとして作れないので忘れないように・・・

Dropbox様ありがとうございました!



昨年のAd:tech東京(アドテック東京 公式サイト)に行ったときに、

 

 

Dropboxブースをうろうろしていたら、くじ引きで、一等が当たりまして。

 
 
ロサンゼルスにいってまいりました。
 
 
(サンフランシスコ往復ペアチケットだったんだけど、我儘言って変更してもらったりしました)
 
 
今回はDropbox様ありがとうの感謝と、海外にいってきたよ!の記録だけのブログですw
 
 
まずは、こんな賞をくれたDropbox様(Dropbox - About Dropbox)に感謝感謝。
 
 
普段からよく利用させていただいております。
 
 
ちなみに無料プランで、容量沢山使いたい方はこれをみるといいことがあるかと。
 
実は、新婚旅行もいかないまま、結婚から、、、えーと、、、5年も過ぎまして。
 
 
当たったのも何かの思し召しだろうということで、仕事もしながらいってまいりました。
 
 
いったところの話は別途、として、今回の旅行で感じたことを書こうかな。と。
 
 
普段、海外とかまーーーーーったくいかないわたし。 
 
 
そんなわけで、今回アメリカにいってみて「自由の国」にすこしだけ触れてきました。
 
 
ホテルでスレちがえば、「はろー」と声をかけてくれる。
 
 
エレベータで一緒になれば、「ここはいいホテルだね。妻の手術のあとにきてるんだけど、最高だよ」とか、ニコニコしながら気軽に話してくれる。
 
 
店員さんに質問しても、みんな各自テキトウな回答がかえってくる。
 
 
みんな自由。とてもフリーダム。
 
 
日本だったら、信号待ちで話しかけられたら、「うお、なんだこのおっさん」と感じる人が多いだろうな。
 
 
アメリカが良い、日本が悪い、ということではなく、
 
 
きっと、国土、文化、風土によって、人はこうも変わるんだなぁ。と。
 
 
そしてその中でもすごく感じたこと。
 
 
みんな、サービス精神がね、旺盛なんです。自由が反映されてるんだろうな。
 
 
サービスのキメ細かさとか、まとまりでいうと間違いなく日本のほうがすばらしい。
 
 
でも、豪快さとか、楽しませようとする気持ちがすごいなぁ、と感じました。
 
 
f:id:xengineer:20160616092909j:image 
そんな豪快なサービス精神の結果がこれ。
 
いや、うん。これは結構きつかった。サイズ感がわからない写真ですが、
 
構造的には、下記のような構造でして、3人くらいで食べられるやつです。
 
[普通のケーキ] + [ホイップクリーム on アイス] + [普通のケーキ] + [ホイップクリーム on アイス] + [普通のケーキ]
 
でかすぎる。
 
 
 
 
f:id:xengineer:20160616093125j:image
この写真は、あのネズミ様。
 
 
 
ロサンゼルズということで、ディズニーランドにいったわけです。
 
 
丁度60周年記念ということもあってなのか、
 
 
ディズニーのキャラのからんでくることからんでくること、、、(笑)
 
 
キャラクターがいる店で朝ごはん食べたら、ご飯食べてる間に、7-8人くらいのキャラクターがテーブルに来てくれるわけです。
 
 
しかも、一回きて終わりじゃない。同じキャラが、何度も何度も。
 
 
うちの娘は、スーパー臆病者なので、最初は全然慣れなかったんだけど、
 
 
おかげさまで、店を出る頃にはキャラクターに夢中になってました。
 
 
お店を出て、その辺にいたPlutoに声をかけたら、散歩相手を探してるとのことで、
 
 
しばらく娘っ子と僕と三人で手を繋いで散歩してくれたり。(結構注目される)
 
 
本当にキャラクターまで自由な感じでしたわ。(日本はお客さんが多すぎてそんな余裕はない、というだけかもしれませんが)
 
 
ちなみに、日本のディズニーは、値上げ値上げで叩かれてますが、
 
 
アメリカのディズニーは今のTDLよりだいぶ高いです。
 
 
子供でもすごい高くて、パパ涙目でした。
 
 
でも、やっぱりすごく楽しませてくれる。
 
 
それを経験したあとだと、TDLも値上げして大衆遊園地的な位置づけではなくて、
 
 
少しがんばったご褒美的な位置付けに持ってってもいいんじゃないのかな、と思ってしまう。(現状も僕にとっては大衆遊園地な金額じゃないですが)
 
 
まぁそんな感じで自由の国を満喫してきたわけです。
 
 
何が言いたいかというと、国土やら文化やら風土やらで、人はとても変わるんだな、と。元々の人種もあるだろうし。
 
 
それで、そういうところに身を置くと、改めて自分との違いが少しわかったりする。
 
 
そう考えると、たまには海外に行って、違う文化に身を置いて生活して、
 
 
自分を知って、自分とは大きく違う人を知って、というのは大切な、
 
 
というか面白いことだなー、と思いましたとさ。
 
 
最後にまた、ドロップボックス様、ありがとうございました。
 
 
また、旅行のアレンジにご協力いただいた、大野様(社名出していいのかわからないので名前だけ)、大変ありがとうございました。
 
 
ホテルとかはね、Expediaでとりました。ロスのホテル高い。 
 
 
さて、帰ってきたし、仕事がんばりますか。
 
 
最後に、アメリカの肉。
f:id:xengineer:20160616093057j:image
 

手っ取り早くWordPressのテーマの見た目だけいじりたい人に役に立つかもしれない情報

WordPressの勉強をする機会があったので、忘れないようにメモ。

ちなみに、まだ勉強しただけでいじってませんのでほんとにこの記事の結果で大丈夫か不明です。

やることは、以下。

  • Webサイト構築
  • デザインはデザイナーさんがやってくれる
  • フロントのコーディングはコーダーさんがやってくれる
  • 僕の担当
    • WordPressを準備して、それっぽいテーマを適用して、編集しないといけないファイルを割り出して伝える
    • 他にシステム的にわからないことに対応する

WordPressのサイトはここです。

http://wordpress.org

今回は、エックスサーバっていうレンタルサーバを借りてる方からの依頼だったので、それもはじめて。

レンタルサーバー 高速・高機能・高安定性の【エックスサーバー】

WordPressのインストールからなのか・・・つらい・・・と思ったら、エックスサーバは自動インストールっていう便利機能があったので活用しました。

shellもいただけるので、インストール後の状況もわかるし、グッド。

  • それっぽいテーマの選定
  • テーマのインストール
  • どこをいじるのか探す

それっぽいテーマの選定

デザイナーさんから頂いた最初の案に近しいテーマを選定します。

  • レスポンシブ
  • 一番上に、画面横サイズ一杯にでかい画像
  • その下に、3個くらいの小さい画像

の案で探すぞー。おー。

まずは、ダッシュボードから、「外観」→「テーマ」を選択。

f:id:xengineer:20160522173915p:plain

テーマ一覧が出たら、上のほうにある、「新規追加」をぽち。

f:id:xengineer:20160522174102p:plain

新規に追加できるテーマのリストが出るけど、検索したいので、「特徴フィルタ」をぽち。

f:id:xengineer:20160522174337p:plain

次の画面で、フィルタできる条件が出てくるので、それぽいのを選んでフィルタかけます。

f:id:xengineer:20160522174822p:plain

で、そのなかから探す探す。

テーマのインストール

ちなみにぼくは、enigmaっていうテーマに落ち着きました。

ja.wordpress.org

インストールは簡単。

下記のボタンを押すだけ(画像はenigmaのではありませんが)

f:id:xengineer:20160522175042p:plain

これでインストール完了。

どこをいじるのか探す

で、どこをどういじったら見た目がかわるのか。

まずは、ダッシュボードから、「テーマの編集」を選択してみます。

f:id:xengineer:20160522184855p:plain

そうすると、右のパネルにいかにも編集できるファイル一覧、的なリストがあります。

f:id:xengineer:20160522184918p:plain

でも、どのファイルが一番最初に描画される、とか、全然わからない。

色々調べてみたところ、下記の記事でよーくわかりました。

WordPressで困惑しがちなindex.phpとhome.phpとfront-page.phpの違い - Kowappa

つまり、優先順位は。

index.php < home.php < front-page.php

enigmaには、index.phpとfront-page.phpがあるので、front-page.phpが最初に描画される。

内容はこんな感じ。

<?php get_header(); 
$wl_theme_options = weblizar_get_options();
$wl_theme_options['_frontpage'];
if ($wl_theme_options['_frontpage']=="1" && is_front_page())
{   get_template_part('home','slideshow'); 
    if($wl_theme_options['service_home'] == "1") {
    get_template_part('home','services'); 
    }
    
    if($wl_theme_options['portfolio_home'] == "1") {
    get_template_part('home','portfolio'); 
    }
    if($wl_theme_options['show_blog'] == "1") {
    get_template_part('home','blog');
    }
    if($wl_theme_options['fc_home'] == "1") {
    get_template_part('footer','callout');
    }
    get_footer();
}
 else 
{   
    if(is_page()){
    get_template_part('page');
    }else{
        get_template_part('index');
    }
}   ?>

つまーり、こんな順番で呼ばれるぽい。

  • home-slideshow
  • home-services
  • home-portfolio
  • home-blog
  • footer-callout

画面を探してみるとー・・・

f:id:xengineer:20160522185501p:plain

あったあった。

この辺と、style.cssをいじってやればいい感じにいける予感。

というわけでした。うまくできたら追記しよ。

複数attributeを既存のARにセットしたいとき

表題のことをやるときに何回か思い出せなかったのでメモ。

このサイトみたほうが、圧倒的に詳しいので、次に忘れたときは、

一旦この記事にきて、このサイトを見にいくんだろうな・・・

ActiveRecord の attribute 更新方法まとめ - Qiita
ActiveRecord::AttributeAssignment

例えば、こんなことはしたくないわけです。(コードはてきとうです)

test = Test.find(params[:test])
test_hash = { testa: "testa", testb: "testb", testc: "testc" }
test.a = test_hash[:testa]
test.b = test_hash[:testb]
test.c = test_hash[:testc]

それなら、assign_attributesを使うのがいいよ、とのことです。

test = Test.find(params[:test])
test_hash = { testa: "testa", testb: "testb", testc: "testc" }
test.assign_attributes(test_hash)

僕は、こんなときに使おうとして思い出せなくて、を繰り返しています。

test = foo.bars.find_or_initialize_by(foobar)

if test.new_record?
  some code
else
  test.assign_attibutes(test_hash)
  test.save! if test.changed?
end

おわり。

Windows10でやたらブルースクリーンに遭遇してしまう

必要にかられて、LinuxマシンをWindow10にしてみました。

手元にあるのは、Windows7だったので、一旦、Windows7をインストール後、

アップデートでWindows10にしてみました。

でもね、すごい頻度でブルースクリーンに襲われます。

PC自体古くて、Driverとか追いついてなさそうなのが理由だと思われるんですが。結構きつい。

ちなみに、ハードウェア構成は以下。

CPU : Intel Core i5 650@3.2GHz
M/B : Intel DQ57TM
Mem : DDR3 4GB
Graphics : Intel HD Graphics

一応全部ドライバ最新にして、Windows Updateもあてまくったけど、ちょいちょい落ちる。

最初は、HDDアクセスが激しくなると落ちるっぽいと思ってたけど、そうでもなさげ。

普通に使ってて、突然ブルースクリーンになったり、何もしないで放置してもブルースクリーンになったり。

どうしようもないなぁ・・・と思ってたけど、ふと、スリープもサスペンドも切ってみたら、、、

おお、安定してる気がする。

数時間起動してるけど、発生しない。

ぐぐってみたら、Windows10は、スリープ・サスペンド周りの問題は多いっぽい。

とりいそぎ対策が見つかったかもしれなくてよかった。

でもドライバ新しいのは出ないだろうなぁ、古いハードだし。しょんぼり。

branch切るbaseを間違えました

というわけで、branch切ってから、元を間違ったことに気づいたときにやること。

branchの根っこね、生えてるところを間違ったときのことです。

ほんとは、developに生やしたかったbranchを、masterから生やしてる、とか。

100% このサイトのパクリ。

qiita.com

git rebase --onto だ!

$ git rebase --onto <branch元を、移動する先のbranch名> <今のbranch元> <どのbranchを移動するか>

これで移動できました。

Android端末からapk抽出

Android端末からapk抽出。そのまんまです。

まずは、adbコマンドをインストールしましょう。

下記見てインストールしましょう。

http://dev.digitrick.us/notes/ADBCommandOnMac

apk取得まで

だいたいこの辺のadbコマンドを実行します。

  • adb version
  • adb devices
  • adb shell pm list packages
  • adb pull

adb version

adbのバージョン情報みれるコマンド。

$ adb version
Android Debug Bridge version 1.0.32
Revision eac51f2bb6a8-android

adb devices

PCに接続されてるAndroidデバイス一覧を取得するコマンド。 Android端末のUSB debugがenableされてない場合、一発目は下記な感じの出力になる。

$ adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
9b1efacc        unauthorized

この時、端末側で、「USB DebugをこのPCから常にenableにしますか?」的なダイアログが 出てるので、承諾すると、PC側出力が下記な感じになる。

$ adb devices
List of devices attached
9b1efacc        device

unauthorized -> deviceに変わるのね。

adb shell pm list packages

今回は、実機からapkを抽出したいので、まずはパッケージ名を探してみる。

$ adb shell pm list packages
package:jp.recruit.atnd
package:com.amazon.mShop.android.shopping
package:com.asana.app
package:com.skype.raider
package:com.hipchat
package:com.google.android.youtube
package:com.kouzoh.mercari
package:com.android.providers.telephony
...
...
...

こんな感じ。当たり前だけど、grep でフィルタもできる。

$ adb shell pm list packages | grep cyanogenmod
package:org.cyanogenmod.wallpapers.photophase
package:org.cyanogenmod.audiofx
package:com.cyanogenmod.setupwizard
package:com.cyanogenmod.account
package:cyanogenmod.platform
package:org.cyanogenmod.profiles
package:com.cyanogenmod.lockclock
package:com.cyanogenmod.updater
package:org.cyanogenmod.themes.provider
package:com.cyanogenmod.wallpapers
package:com.cyanogenmod.trebuchet
package:org.cyanogenmod.cmsettings
package:org.cyanogenmod.theme.chooser
package:com.cyanogenmod.filemanager
package:com.cyanogenmod.eleven

adb pull

そして、最後に、apkを抽出する。 でもこれだけだと、パッケージのpathがないので、-f オプションをつけて、adb shell pm list packagesを実行する。

$ adb shell pm list packages -f | grep taito
package:/data/app/jp.co.taito.am.siInfinityGene-1/base.apk=jp.co.taito.am.siInfinityGene
package:/data/app/jp.co.taito.groovecoasterzero-1/base.apk=jp.co.taito.groovecoasterzero

なるほど。

では、adb pullを実行。

$ adb pull /data/app/jp.co.taito.am.siInfinityGene-1/base.apk
4528 KB/s (27219843 bytes in 5.870s)

きた?のかな?

$ ls -lthr base.apk
-rw-r--r--  1 nemoto_hideaki  staff    26M  3 21 12:56 base.apk

無事26MBがダウンロードされたようです。おしまい。