DRYな備忘録

Don't Repeat Yourself.

v2とか作ってる別リポジトリをv1のリポジトリにマージっぽいことしたい

git

なんかv2っぽいものをゼロスクラッチで別リポジトリに書いてたけど、v1のリポジトリにわりとスターついてるし、page viewもあるのでゼロスクラッチだけど、最終的にはv1で、もちろんコミットログを上乗せした形で公開したいな、と。 参考 Is it possible to …

git logでコミットハッシュだけほしい

git

追記 @otiai10 git log --pretty=%H— はぇ~☆ (@haxe) 2016年6月14日 以下、読まなくていいです % git log --pretty=oneline 5df2e90cfca356707f58de15b0c45ed7ba2446bb いろいろあたらしいかんじに調整 f7caec1f173889c76fc9bc83eed350d930a1ec41 chomexは…

Androidエミューレータがスプラッシュ画面からいっこうに進まない

問題 Androidエミューレータがスプラッシュ画面を表示したままいっこうにアプリのビューを表示しない。さっきまで元気に動いていたのに←重要 調査 それっぽいものがみつからない 質問してみた git管理下じゃないディレクトリになんかキャッシュファイル的な…

Androidエミュレータが起動しない: Internal error: initial hax sync failed

問題 エミュレータが起動しない。さっきまで動いていたのに。←重要 エラー全文 /Users/otiai10/Library/Android/sdk/tools/emulator -avd ReactNativeTest emulator: WARNING: VM heap size set below hardware specified minimum of 256MB emulator: WARNIN…

Go言語でBasic認証する

go

参考 http - The Go Programming Language javascript - How to prevent browser to invoke basic auth popup and handle 401 error using Jquery? - Stack Overflow 実装 main.go package main import ( "fmt" "net/http" "github.com/otiai10/marmoset" ) …

ブラウザのJavaScriptからGoogle Cloud Vision APIを使うペライチのサンプル

わけあってJavaScriptの環境での画像認識とか文字認識とかに若干興味あるのでやってみた。 参考 Google Cloud Vision API | Google Cloud Vision API | Google Cloud Platform Method: images.annotate | Google Cloud Vision API | Google Cloud Platform h…

【追記】AppEngine Goで、go-app-builder: Failed parsing input: app file users.go conflicts with same file imported from GOPATH と叱られる問題

問題 AppEngineなアプリケーションをGoで開発していて、もちろんコントローラとかモデルとかは、initがあるところとは別のディレクトリ切って作ったりするんだけど、意気揚々とgoapp serve ./すると以下のように叱られる % goapp serve ./ # 中略 ERROR 2016…

webpackでModule not found: Error: Cannot resolve module 'react'と叱られる問題

問題 % npm run build > component-example@0.0.1 build /Users/otiai10/proj/web/react-examples/foo > webpack Hash: f59be0c76d47bf9f7a3e Version: webpack 1.13.0 Time: 496ms Asset Size Chunks Chunk Names ./lib/index.js 3.75 kB 0 [emitted] main …

GoogleContainerEngine(GKE)からCloudStorageにPUT/READする

AppEngineからCloudStorageするやつと、GKEつかってみるやつをやったので、GKEからCloudStorageするやつをやります。 「GKEから」とは言っても、ほぼGCEのインスタンスとして扱って支障無いので、だいたいは「GCE CloudStorage」とかでググります。 参考 GCE…

GKEに自作イメージをデプロイするときのまとめ

自分で書いた備忘録がわかりにくすぎるので自分のためにまとめる 【GCP】Google Container Engineで Hello, World - DRYな備忘録 【kubectl】The connection to the server localhost:8080 was refused と叱られる - DRYな備忘録 手順 ウェブコンソールでや…

JavaやったことないけどMacでGlassFishうごかしてHello,World

参考 GlassFish on Mac GlassFishとは Guide to installing and configuring Glassfish Web Server "Glassfish Server is a webserver, allowing you to deploy web applications written on java. Like some other Webserver: Tomcat..." Tomcatとかと同レ…

【GKE】gcloud docker pushでdenied: Unable to access the repository; please check that you have permission to access it.と叱られる

こんなかんじ % gcloud docker push gcr.io/otiai10-playground/test-1:v3 The push refers to a repository [gcr.io/otiai10-playground/test-1] 04f235615939: Preparing a9e71a9668f2: Preparing 34a3b82a2ff3: Preparing 6893006a6a20: Preparing 9e5afa…

goapp deployないしappcfg.py updateで403返されまくってめちゃくちゃハマった

tl;dr % gcloud auth list で、正しいアカウントがacitveかどうか見て、正しくなければgcloud initとかする。 もしくは、ログイン情報ためてるキャッシュファイルを殺せ。 % rm ~/.appcfg_* 以下ログなので読まなくていいです 問題 掲題の通り。以下のように…

AppEngineで自分のドメインを使いたい

Google App Engine について - Google Apps 管理者 ヘルプ Google AppEngine - Custom Domain + SSLが簡単になった - Qiita 独自ドメインの設定 - Google App Engine 入門 tl;dr GCPのコンソールで、TXTレコードの値をもらう DNSサービスのほうで、該当ドメ…

electronのWebView.executeJavaScriptがコールバックを呼ばない問題

以下のようなコードを書いて、electronのwindow内に作ったWebViewの中の情報を取得しようとした。 let webview = document.createElement('webview'); webview.addEventListener('did-finish-load', function() { // 第1引数に内部で実行したいJavaScript文…

PostgreSQLのJSONデータ型っていうのをためしてみる

JOSNデータ型とは 8.14. JSONデータ型 "このようなデータは、text型として格納することもできますが、" "各種JSON固有の関数と演算子もあります" "JSONデータ型にはjson型とjsonb型という2種類" " jsonb型の重要な利点はインデックスをサポートしていること…

react-reduxでmapStateToPropsが呼ばれてるのに再度renderされない問題

こういうコード書いて、末端コンポーネントで直接stateの変化をsubscribeしようとした class Logs extends React.Component { render() { return <ul> {this.props.logs.map((log) => { return <li>{JSON.stringify(log)}</li> })} </ul> } } Logs = connect((state) => { retu…

Reduxって一体なんなのかちっとも分からないよ【追記あり】

参考 Read Me | Redux "Redux evolves the ideas of Flux" Flux | Application Architecture for Building User Interfaces Example: Todo List | Redux Redux入門【ダイジェスト版】10分で理解するReduxの基礎 - Qiita Redux入門 1日目 Reduxとは(公式ドキ…

webpackでnpmのbinつくっててfs.readFileSync is not a functionと言われる問題

tl;dr webpack.config.jsに以下を追加 module.exports = { entry: './src/bin/main.js', output: {filename:'./bin/main.js'}, + target: "node", module: { loaders: [ これだけで、ES6のほうでnodejsの標準モジュールをrequireしたとき以下のようにコンパ…

webpackでjsx記法(HTMLっぽいの)がsyntax errorになる問題

毎回つまづくのでメモ 問題 % npm run build > myproject@1.0.0 build /Users/otiai10/proj/web/react-examples/myproject > webpack Hash: bbba9acdc8b879c1ad6d Version: webpack 1.13.0 Time: 402ms + 1 hidden modules ERROR in ./src/js/app.jsx Module…

undefined method `descrbe' for main:Object (NoMethodError)

RSpecでテスト書いてて掲題のように叱られる 原因 タイポやん。stackoverflow書いてて気づいた。 解決 - descrbe MyModule::MyController, type: :controller do + describe MyModule::MyController, type: :controller do Don't Repeat Yourself!!

RSpecでspec/featuresにテスト書いたのに動かない

RailsでRSpec使ってて、featuresにそれっぽいテスト書いたのに、ぜんぜん動かない。失敗してくれない。通ってない。 feature "なんかするやつ" do sinario "なんかある" do expect(true).to be false end end 原因 ファイル名に _spec サフィックスつけない…

【GCP】GoogleComputeEngineでHello,World

Compute Engineとは? Compute Engine - IaaS — Google Cloud Platform What is Google Compute Engine? - Compute Engine — Google Cloud Platform EC2だと思えばいいかな。 ログ まずプロジェクトの選択 VMインスタンスの作成 ハローワールドなので、お安…

React NativeでHello, World

React Nativeとは facebook.github.io React Native ファーストインプレッション - Qiita “コードは特に別のトランスパイラなどを必要とせず ES6 前提で書くことができる” “JavaScript のコードがコンパイルされてネイティブコードになるわけではなく、内部…

【GCP】Google Container Engineで Hello, World

Google Container Engineとは Container Engine | Google Cloud Platform Google Container Engine ドキュメント | Container Engine | Google Cloud Platform Google Container Engine へようこそ。Container Engine は、Google がコンテナベース分散システ…

【kubectl】The connection to the server localhost:8080 was refused と叱られる

問題 Google Container Engineをためしてみたくて、Kubernetesを使ってGoogleContainerEngineのクラスター上にdeploymentをつくろうとして、 % kubectl run PROJECT_NAME --image=IMAGE_NAME --port=8080 などとすると、 The connection to the server local…

【GCP】AppEngine GoからCloudSQLをつかう

前回までのあらすじ AppEngine GoでHello,Worldやってみたログ - DRYな備忘録 【GCP】AppEngine Goからメールを送りたい - DRYな備忘録 【GCP】AppEngine GoからCloudStorage上にファイルをREADしたりWRITEしたり - DRYな備忘録 AppEngineでWebサーバをうご…

【GCP】AppEngine GoからCloudStorage上にファイルをREADしたりWRITEしたり

前々回のエントリでは、GAE/GoがWebサーバとしてちゃんと動くことが確認できたし、前回のエントリでは、GAE/Goからメールを送ることが確認できたので、今回はGAEからGoogleCloudStorage上にファイルをアップしたりそれを読んだりしてみたい。 参考 Storing D…

【GCP】AppEngine Goからメールを送りたい

前回のエントリでは、GAE/GoがWebサーバとしてちゃんと動くことが確認できたので、今回はGAEからmailを送る。 参考 Mail Go API Overview - Go — Google Cloud Platform y.okano blog: GAE + Go でメールを送る 送信元のメールアドレスに制限がある For secu…

Googleスプレッドシートで勤務時間の合計を計算したい

小一時間くらい探しまくって疲れたのでメモ まとめ 表示形式の詳細設定から経過時間を選択 ふつーにエクセルっぽくSUMする 表示形式の詳細設定から経過時間を選択 この123って書かれてるところ これでほとんどできたようなもの エクセルっぽくSUMする 行の合…

AppEngine GoでHello,Worldやってみたログ

ゴール ローカルでAppEngineSDKを使ってサーバを動かす それをAppEngineServiceにデプロイして確認する docs cloud.google.com 結論から言うと5分ではなく10分だった ローカルで動かすまで % cd $GOPATH/src % mkdir oppai % cd oppai % vi main.go package …

docker-composeでEC2にデプロイしたい

問題 EC2上でdocker containerを立てて運用するようなサービス の、デプロイをdocker-composeでやりたい tl;dr Amazon Web Service - docker すべてここに書いてあった。docker-machineのdriverをamazonec2としてcreateすれば、あとはいつものdocker-compose…

【追記】babelのバージョン揃えるのみなさんどうしてるんですか? Unexpected token

% npm install --save-dev babel babel-core babel-loader こういうの出る % webpack ERROR in ./src/js/app/app.jsx Module parse failed: /app.jsx Line 1: Unexpected token You may need an appropriate loader to handle this file type. | import Reac…

【AWS】S3のbucket以下のリソースをpublicに読み込み可能にしたい

AWS

問題 S3上に置いた画像ファイルをブラウザから読むと403が返る AWSのコンソールでbucket以下ディレクトリ(正確にはObject)を Make Public すると見れる しかし、もちろんその後追加されるObjectについてはpublicにならない S3のBucketのPermissionsをいじ…

【Elixir】argument error, :erlang.++({'content-type', 'image/png'}, [])

いやーよくわからないエラーメッセージとスタックトレースなんだけど。なんか深そうだし。 ** (exit) an exception was raised: ** (ArgumentError) argument error :erlang.++({'content-type', 'image/png'}, []) (erlcloud) src/erlcloud_s3.erl:699: :er…

React+Babel+webpackの最小構成つくってだるかったことメモ

サンプルページ 3がつく数字でアホになるやつ tl;dr npm install -gはだるいので、npm scripts経由でwebpack呼ぶのがよさそう webpackが扱うべきファイルによってloaderがひつよう(babel-loaderとか) loaderを書く順番でひっかかって非常にだるかった impo…

【Elixir】protocol String.Chars not implemented for【エラー】

っていうエラーが出る protocol String.Chars not implemented for %{"avatar_url" => "https://avatars.githubusercontent.com/u/12345?v=3"} 文字列補完(string interpolation)に、String.Charsを持っていないデータ(MapとかStruct)を渡していることに…

【Elixir】Ecto.Migrationで外部キー参照とNOT NULL制約を追加

こういうことを学んだので↓ otiai10.hatenablog.com これを、Ecto.Migrationでやりたい defmodule MyApp.Repo.Migrations.CreateUserToken do use Ecto.Migration def change do create table(:posts) do add :user_id, references(:users, on_delete: :dele…

【MySQL】DEFAULT NULLと外部キー制約の同居

同居できるんかなと(ほんとはMariaDB) mysql> CREATE TABLE users ( id SERIAL, name VARCHAR(255) ); Query OK, 0 rows affected (0.01 sec) mysql> CREATE TABLE posts ( user_id BIGINT(20) UNSIGNED DEFAULT NULL, # ← あえてつける message VARCHAR(2…

【Elixir】Module内のfunctionのリストを取得する

stackoverflow.com Ecto.Repo.__info__(:functions) [__adapter__: 0, __pool__: 0, __query_cache__: 0, __repo__: 0, all: 1, all: 2, config: 0, delete: 1, delete: 2, delete!: 1, delete!: 2, delete_all: 1, delete_all: 2, get: 2, get: 3, get!: 2,…

Ecto.Migration内でINSERTする

Ecto.Migration – Ecto v2.0.0-beta.0 execute使お... defmodule MyApp.Repo.Migrations.CreateProviderTable do use Ecto.Migration def change do create table(:providers) do add :name, :string timestamps end create unique_index(:providers, [:name…

Elixirで無名関数の実行

Elixir (iex) iex(1)> (fn msg -> IO.puts msg end).("hello!") hello! :ok Go func(msg string) { fmt.Println(msg) }("hello!")

Herokuインスタンス上の環境変数を取得、確認する

% heroku run --app my-app env env実行したらええやん的な

ElixirでFizzBuzz

前回まで 【Elixir】バージョン管理しつつErlangとElixirをMacにインストールする - DRYな備忘録 【Elixir】the result of the expression is ignored - DRYな備忘録 【Elixir】use of operator === has no effect と言われる - DRYな備忘録 Elixirでゼロ埋…

Elixirでゼロ埋め【zero padding】【elixir】

iex(6)> String.rjust("hoge", 8, ?0) "0000hoge" zero paddingしたい対象がintegerなら、適宜、第1Integer.to_striingなど使う。 123 |> Integer.to_string |> String.rjust(8, ?0) 参考 In Elixir, how do you format numbers with string interpolation -…

【Elixir】use of operator === has no effect と言われる

問題 Elixirのコンパイラに掲題のように叱られる。 原因 「===使ってもええんやで」という意味。 解決 1..max |> Enum.each fn(n) -> - case {rem(n, 3) == 0, rem(n, 5) == 0} do + case {rem(n, 3) === 0, rem(n, 5) === 0} do {true, true} -> 雑感 たと…

【Elixir】the result of the expression is ignored

問題 ElixirでFizzBuzz書いてて、掲題のように怒られる main.exs:4: warning: the result of the expression is ignored (suppress the warning by assigning the expression to the _ variable) the result of the expression is ignored (suppress the war…

docker-composeで Unknown MySQL server host 'localhost' とかなる現象

問題 だいたいどんなDBのイメージ使ってても、同じdocker-composeでサーバアプリケーションも一緒に動かそうとすると、いかのように叱られることがよくある。 Unknown MySQL server host 'localhost' べつにMySQLに限らない。MongoDBでもRedisでも、ありがち…

【Elixir】バージョン管理しつつErlangとElixirをMacにインストールする

just want "Hello, World"? brew install elixirで、ErlangもElixirも入ります。 参考 qiita.com Prerequisite JDK installed on your mac brew install wget Good Bye Elixir, installed via brew brewで入れたelixirは消す % brew uninstall elixir % brew…

【Postgres】function uuid_generate_v4() does not existとしかられる

問題 CREATE TABLE文を実行すると、(書いてて思ったけど、UUID v4、255byteもなくていいな) CREATE TABLE "users" ( "id" varchar(255) DEFAULT uuid_generate_v4(), "name" text, PRIMARY KEY ("id") ) 以下のようにしかられる ERROR: function uuid_gene…