「LINEで送る」ボタンのURL指定や改行処理
LINEで送る設置で調べた内容のメモ
https://media.line.me/howto/ja/
送るURLは常に固定しておきたい事情があったのでwithUrl:false
を追加してtext
からテキストとURLを指定します。
<script type="text/javascript" src="//media.line.me/js/line-button.js?v=20140411" ></script> <script type="text/javascript"> new media_line_me.LineButton({"pc":false,"lang":"ja","type":"a", "text":"テキスト 送りたいURL", "withUrl":false}); </script>
でも・・改行がわからなかった。
テキスト(改行) 送りたいURL
こんな感じにする場合、とりあえずJSでの生成を飛ばしてハードコードしたら改行は使えたけど・・すっきりしない。
<a href="//line.me/R/msg/text/?テキスト + '%0D%0A' + 送りたいURL"> <img src="//media.line.me/img/button/ja/82x20.png" width="82" height="20" alt="LINEで送る"> </a>
HerokuでMiddleman
Google Analyticsの挙動で検証したい箇所があったので、Middlemanで適当なコードを書いてローカルで動作確認をしていた。 結局公開した状態でのテストもしたくなったので、次回から悩まないようにログ。
1.middlemanのインストール
# MiddlemanのGemを追加 $ gem install middleman 〜〜 $ middleman init プロジェクト名(ディレクトリ名) 〜〜 Do you want a Rack-compatible config.ru file? # config.ruファイルを利用するので y でエンター 〜〜
2.Gemを追加
gem 'puma' gem 'rack-contrib'
3.config.ru書き換える
require 'rack' require 'rack/contrib/try_static' # Build static files when booting `bundle exec middleman build` use Rack::TryStatic, :root => 'build', :urls => %w[/], :try => ['.html', 'index.html', '/index.html']
4.Procfile追加する
web: bundle exec middleman build && middleman server -p $PORT
5.Git〜デプロイ
# Git用意して $ git init $ git add . $ git commit -m 'initial commit' # アプリ作って $ heroku create アプリ名 # デプロイ $ git push heroku master $ heroku open #ブラウザで確認
とりあえず動くとこまでザーっと書きました。
Heroku MySqlのIdが飛ぶ
課金祭りで思わず落としたアプリケーションを立ち上げ直した際に、DB確認してたらIdが 1, 11, 22, 33,44,,
と不気味な上がり方をしていた。
書き方悪くて何か変なループに入って、1回の保存で10回くらい処理走っちゃったりしてるのか・・とか思ったら仕様みたいです。
When I use auto_increment keys (or sequences) in my database, they increment by 10 with varying offsets. Why?
Google Analyticsに「Storage not available」と言われた
Google Tag Managerを使ってGoogle Analyticsの動作確認をしてたら、consoleにStorage not available
と出て、ビーコンが送られなくなってしまった。
今までたまたま遭遇しなかったけど、Localhostでテストする際はcookieDomainをnoneにするそうな。
本番公開時は消した方がいいのかな?
Heroku課金祭り
昨日18日(木)の18:20頃
Herokuから「You have spent money」というメールが来た。
MySql使うためにクレジットカード登録はしっかりしていたので「おっと・・止めとこう」と思ってBillingページ行ったら
$1,253.45も使ってた。
思わず閉じてしまったので、深呼吸してもう一度開いたけどやっぱり$1,253.45。
仕事中だったけどそっちのけで「heroku 溶かした 返金」等、やっちゃった人の記事を探しまくること10分ほど。
Twitterでも同様な人がゾロゾロと出てきてあっという間に解決されました。
【お知らせ】Herokuから身に覚えのない請求のメールがきた方へ - 既に対応を行っており経過は https://t.co/ZQyOFjxD5U でお知らせします。ご迷惑をお掛けして誠に申し訳ありません。 #herokujp https://t.co/UZk0ZMxfSJ
— Heroku JP (@herokujp) 2016, 2月 18
今日の夕方頃には無事$0に戻ってるのが確認できました。
・・いやぁ本気で焦りました。
Heroku ClearDBにSequel Proから接続する
前回作った後にSequel Proから繋ぎたかったのでメモ。
$ heroku config --app アプリケーション名 === アプリ名 Config Vars CLEARDB_DATABASE_URL: mysql://ユーザー名:パスワード@ホスト/データベース?reconnect=true 〜〜〜〜
CLEARDB_DATABASE_URLの中身に必要な情報が入っているので、バラしてそれぞれに入れて接続する!
HerokuでRails4+MySql
ProgateのRailsのお勉強も後半まで来たので、簡単でいいのでHerokuにデプロイをしてみたログです。
環境
OSX 10.11.2 (El Capitan)
Ruby 2.2.2
Rails 4.2.5.1
1. Herokuの設定
アカウント作成と設定だけは前にやってしまってたので・・内容覚えてなくて省略。
Herokuでアカウント作って、コマンドラインツール(Heroku toolbelt)もインストールします。
2. Railsアプリケーションの作成
MySQLを使いたいので--database=mysql
で作成。
$ rails new ./ --database=mysql --skip-bundle --skip-test-unit
Rubyのバージョン指定とHeroku利用時のおまじないをGemfile
に追記。
ruby '2.2.2' 〜〜 group :production do gem 'rails_12factor' end
Bundlerでインストール
$ bundle install
動作確認のために適当なscaffoldする。
$ rails g scaffold User name:string
DBの準備。
$ rake db:create $ rake db:migrate
とりあえずローカルで走るようになりました。
$ rails s # 動作確認できたら ctrl+cで止める
3. Gitに登録
初期化してコミット。
$ git init $ git add . $ git commit -m 'initial commit'
4. Herokuアプリケーションの作成
MySqlのAdd-ons利用にはクレジットカード登録が必要なので、事前にBillingページから登録します。
(カード登録はしますがフリープランを使います)
登録が終わったHerokuアプリケーションを作ります。
$ heroku create アプリ名
Add-ons(ClearDB)を追加します。
$ heroku addons:create cleardb:ignite # igniteがフリープランです。
Railsに合わせてドライバを変更。
$ heroku config CLEARDB_DATABASE_URL: mysql://ユーザー名:パスワード@ホスト/データベース名?reconnect=true # mysqlをmysql2に変更してセット $ heroku config:set DATABASE_URL='mysql2://ユーザー名:パスワード@ホスト/データベース名?reconnect=true'
5. デプロイ
$ git push heroku master
Heroku側のDB準備も忘れずに。
$ heroku run rake db:migrate
6. 公開されたアプリケーションの確認
最後にデプロイしたアプリケーションをブラウザで確認します。
$ heroku open
*indexページが無いのでエラーが出ると思いますので、scaffoldしたuser/
で確認します。