くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

CircleCIでFirebaseへ自動デプロイ(Hosting+Funcsions)

Nuxt.jsでアプリをSSRなアプリを作っているけど、 Gitでmasterにpushしたら、CircleCIで自動でデプロイしてほしいので、いろいろ調べたときの備忘録 Hostingだけの設定はあるけど、HostingとCloud Functionsを同時にする記事がなかったので、結構ハマった。…

AndroidのListViewで先頭に要素を自然に追加する

ツイッターみたいに、上方向の自動読み込みを実装したいなと思い、 ListViewの先頭に追加しても、スムーズにスクロールできる方法を、いろいろ調べたときの備忘録。 ほぼこの記事のまま、すごい。。 以下は、コメントとかを追加したくらい // 要素を一番上に…

TypeScriptでNavitagorクラスのclipboardがエラーになる。。(回避方法)

Navigaterのclipboardでクリップボードコピーしたかったけど、 TypeScriptでエラーになったときに調べた備忘録。ただし、workaround.. ブラウザのサポートがまだなので、まだ対応していないっぽい。。 回避方法は型定義を追加してあげるだけ。 // navigator.…

Android EmulatorでDBのバージョンを手動で戻す

正攻法は、バックアップ&リストアだけれど、開発中だとちょっとだけ戻して、 スキーマの更新の処理を確認したいときがある。 Androidで使うデータベースのバージョンは、SQLiteのuser_versionを使っているので、 無理やり手動で変更すれば、OK。やり直しが…

AndroidのEmulatorに入ってSQLite3でDBの中をみてみる

AndroidのEmulatorに入ってSQLite3でDBの中身をみるときの備忘録。 ひさびさにDBのマイグレーションをするときに、今どうだっけ?を見たかったが、 やり方忘れてたので、その時のメモ Emulatorにログイン $ adb shell アプリの権限に変更 $ run-as <package-name> dbの中を</package-name>…

nuxt-i18nでNuxt.jsの国際化して、英語版と日本語版を用意する

Nuxt.jsでアプリ作るけど、やっぱり国際化大事。英語版と日本語版は作っておきたい。。 nuxt-i18nを使うと簡単に多言語対応できたので、その時の備忘録。 インストール $ npm install --save nuxt-i18n 設定 modules: [ ['nuxt-i18n', { strategy: "prefix_a…

NuxtをTypeScript化するときのやりかた

Vue.jsとNuxt.jsでいろいろ作っているけれど、TypeScriptが素敵すぎる。。 create-nuxt-appだとTypeScriptがないので、TypeScript化するときにやることを整理したときのメモ TypeScriptが使えるように設定する 0. ディレクトリ構成 ディレクトリ構成はこんな…

【運用小ネタ】Webサーバに接続している数を確認する(netstat -an | grep ...)

よくやるけど、毎回調べるやつ。。netstatの結果をポートでgrepするだけ。 $ netstat -an | grep -E ':(80|443)' | grep -v "CLOSE_WAIT" ESTABLISHED TCPでの接続が確立されて、現在通信が行われている状態を指す TIME_WAIT 接続終了待ちの状態を指す。しば…

AndroidのWebViewでInstagramを表示する

InstagramのOAuthをAndroidで使おうと思ったら、WebViewが開けず。。 そのときにいろいろ調べたときの備忘録 JavaScriptを有効にすればOK WebViewのSettingsでJavaScriptを有効にするとうまく動いた! WebView webView = findViewById(R.id.webView); webVie…

Djangoのmanage.pyでDBデータのダンプ/ロードする

DjangoでDBデータを扱うときの備忘録。よく使うけど、忘れるので。 DBのデータをダンプする # 全テーブル出力 $ python manage.py dumpdata --indent 2 --format json # モジュールの全テーブル出力 $ python manage.py dumpdata <mymodule> --indent 2 # 特定のテーブ</mymodule>…

webpack-dev-serverに外部からアクセスできるようにする

webpackでフロントエンドをいじっているけど、 モバイル向けのレイアウト確認のため、スマホから接続したいなと思ったときの備忘録。 webpack-dev-serverの外部アクセス設定 ホストとホストチェックの設定をwebpack.config.jsに追加して、 いつもどおりnpm r…

Pythonのドキュメントコメントの書き方(Googleスタイル編)

Pythonのドキュメントコメント(Docstrings)の書き方、何やら流派があるらしい。。 Googleスタイルを調べてみたので、その時の備忘録。 reStructuredText(reST)スタイル NumPyスタイル numpydoc – Numpy’s Sphinx extensions — numpydoc v0.9.dev0 Manual N…

Pythonのドキュメントコメントの書き方(NumPyスタイル編)

Pythonのドキュメントコメント(Docstrings)の書き方、何やら流派があるらしい。。 NumPyスタイルを調べてみたので、その時の備忘録。 reStructuredText(reST)スタイル NumPyスタイル numpydoc – Numpy’s Sphinx extensions — numpydoc v0.9.dev0 Manual Nu…

Django REST Framework+SwaggerでAPIドキュメント自動生成

Django REST FrameworkにSwaggerを簡単に入れれるらしいので試してみたときの備忘録。 インストール とりあえず、pipでインストール $ pip install django-rest-swagger あわせて、settings.pyにも追加&設定 INSTALLED_APPS = ( ... 'rest_framework', 'res…

フリーランス一年目の振り返りと今年のほーふというやつ

2018年にフリーランスになってからもうすぐ一年なので、振り返ってみようおもう。 1年をとおして思ったこと・考えていたこと・2019年やりたいことをまとめてみました。 ざっとまとめると、 退職しました: 1月 開業しました: 2月 受託のお仕事 SpringBoot&And…

Windows版Kobitoの記事を一括エクスポートする

いまさらですが、kobitoから移行しようかなと思い、一括エクスポートする方法を調べたので、その時の備忘録。 ほぼQiita記事通り。スクリプトをちょっと変えた感じ。 kobitoを起動 メニュー内「kobito」→「設定」→「開発者向けツールを表示する」をクリック…

【小ネタ】webpackでhtmlも扱う

webpackでhtmlも出力したかったので、その時のメモ。 html-webpack-pluginとhtml-loaderを使えばOK ディレクトリ構成はこんな感じ。 . ├── src │ ├── html │ │ └── index.html │ └── index.js │ └── dist ├── js │ └── main.js └── index.html インストール …

Vue.jsでの配列・オブジェクト操作のお作法

Vue.jsでは、配列やオブジェクトの代入を、うまく検知できないらしい。。 お作法があるので、調べてみたとこの備忘録。 配列 // 追加: pushを使う let addItem = ... this.items.push(addItem); // 変更: spliceを使う let modifyIndex = 1; let modifyItem …

SEO/OGP関連のmetaタグをまじめに対応しようとしてみた。

リリースした新しいWebサービス「トランスノート]を公開するときに、 まじめにSEO関連を調べてみたので、その時の備忘録。 やらなきゃいけなことがたくさんあった。。 metaタグといっても、いろいろある。 検索関連の基本的な設定 ファビコンやiPhoneやAndro…

【小ネタ】JavaScriptでクリップボードにコピーする(Async Clipboard API)

クリップボードにコピーするほう法を調べたので、その備忘録。 // Copy navigator.clipboard.writeText("some text").then(function() { // Promise resolved successfully. console.log("Copied to clipboard successfully!"); }, function() { // Promise …

【新サービス】複数言語へ一括翻訳できる文章・単語の管理アプリ『トランスノート』をリリースしました!

ひそひそと作り始め、ついにリリース。。!! とはいえ、ベータ版ですが。。 trans-notes.net 開発動機は、「めんどくさい。」 アプリの多言語対応は重要。でも、めんどくさい。 多言語対応やローカライズは重要。 でも、個人開発だと、翻訳者もいないし、コ…

CSSの国旗アイコンライブラリ(flag-icon-css)がよかった。

Webサイト内で、国旗を表示したいなと思ってたら、flag-icon-cssという、いい感じのCSSアイコンがあったので、その時の備忘録。 NPMでインストール $ npm install flag-icon-css 使い方。簡単。 <span class="flag-icon flag-icon-jp"></span> <span class="flag-icon flag-icon-kr"></span> ただ、国旗は標準サイズが決まってないらしく、アスペクト比…

SSRなNuxt.jsで、DOM要素を参照するライブラリをインポートする

Nuxt.jsでSPAからSSRに変更しようとしたら、そのままでうまくいかず。。 import時にエラーが出てしまうのに対処したときの備忘録。 状況 使っていたのは、ScrollRevealというアニメーションライブラリ。 その中で、document.documentElementを参照しているの…

【小ネタ】N日前のファイルを削除するコマンド

ゴミが溜まるので、定期的に削除したいなと思ったので、いろいろ見てみたけどfind便利。 # 最終更新日が3日前のファイルを削除 $ find ./ -daystart -mtime -3 -exec rm -vr {} \; 参考にしたサイト様 findコマンドのmtimeオプションまとめ - Qiita "find" n…

Nuxt.jsでGoogle Analyticsを使おうとしたら、簡単だった。

Nuxt.jsでGoogle Analyticsしたかったので、いろいろ調べたときの備忘録。 公式プラグインがあるらしい(Google Analytics Module) 中では、vue-analyticsを使っているので、基本vue-analyticsのドキュメントを見るっぽい。 インストール $ npm install --sav…

SNSシェアボタンを追加するあれこれ(Facebook/Twitter/Google+/はてなブックマーク/LINE/Pocket)

ウェブサイトによくあるSNSのシェアボタン。使いたいなと思い、いろいろ調べたときの備忘録。 アイコンを探す アイコンは色を変えたりなどしたいので、CSS fontがいい。 - Font AwesomeとかLigature Symbolsを見てみる - なければ、Simple IconsでSVGを探し…

Nuxt.jsのproduction時にconsole.logを削除する

npm run buildしたときに、console.logとかをminify時に自動で削除してほしいと思ったときの備忘録。 Nuxt.jsのバージョンは、v2.2.0 nuxt.config.jsの設定 uglifyjs-webpack-pluginを使うようにした感じ。 const UglifyJsPlugin = require("uglifyjs-webpac…

AWS EC2のディスク容量を増やす

AWS EC2のディスク拡張(EBS ボリューム)&Linux パーティションを拡張する方法。 たまにやるけど、よく忘れるやつ。 # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 32G 0 disk <- ディスクサイズが32G `-xvda1 202:1 0 16G 0 part / <- パ…

ScrollRevealで簡単JavaScriptアニメーション

スクロールすると表示されるアニメーションとかをやりたかったので、 いろいろ調べたら、ScrollRevealがいい感じだった。その時の備忘録 npmでインストール $ npm install scrollreveal --save スクロールアニメーションの設定 import ScrollReveal from "sc…

システムアーキテクト試験の過去問一括ダウンロードスクリプト

先日IPAのシステムアーキテクト試験を受けてきた。その際、過去問を一括ダウンロードするために書いたスクリプト。 アプリケーションエンジニア試験時代(平成16年~平成20年)は、午前がまとまっているので、午後の問題のみ。 #!/bin/bash # ****************…