Ubuntu 19.04にDocker CEをインストールする
Ubuntuのバージョンを18.04から19.04にして、Dockerを再インストールしようとしたら、インストールできなかったので、その対処をメモ。
執筆時点で、Ubuntu 19.04 (Disco Dingo)のStableパッケージはDockerのソースとして公開されていないようでした。
今回は、Ubuntu 18.10 (Cosmic Cuttlefish)用のStableパッケージをインストールすることで対処しました。
その手順は以下の通りです。
まず、Docker公式のインストール手順どおりにSET UP THE REPOSITORYを完了させます。
https://docs.docker.com/install/linux/docker-ce/ubuntu/#set-up-the-repository
次に、/etc/apt/sources.listを以下のように編集します。
- deb [arch=amd64] https://download.docker.com/linux/ubuntu disco stable + deb [arch=amd64] https://download.docker.com/linux/ubuntu cosmic stable
あとは、さきほど同様にDocker公式のインストールに従って、INSTALL DOCKER CEを完了させます。
https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1
以上です。
Google Cloud Storage の signed url を使ってブラウザからファイルをアップロードしようとしたらCORS Origin エラーが出たときの対処法
Google Cloud Storage の signed url を使ってブラウザからファイルをアップロードしようとしたらCors Origin エラーが出たときの解決策をメモ。
bucketのcors設定を変更します。 今回はgsutilを使います。
cors設定ファイルとして、storage-cors.jsonファイルを用意します。(ファイル名は適当です)
[ { "origin": ["http://example.com",], "method": ["GET", "HEAD", "PUT", "OPTIONS", "POST"], "responseHeader": ["Content-Type"], "maxAgeSeconds": 3600 } ]
あとは gsutilを使ってcors設定ファイルをbucketに反映させます。
gsutil cors set storage-cors.json gs://{{bucket}}
参考:
WebStorm + nvm + File Watcher で node-sass を実行する
ちょっとしたHTMLコーディングするときに、WebStormのFile Watcherでsass(SCSS)をcssに変換できると便利です。
私の開発環境のUbuntuでは、nodeのバージョン管理にnvmを使っています。
私の環境では、File watcher実行時にnode の実行ファイルが見つからないとエラーが出てしまって、File Watcherが使えませんでした。
WebStorm の File Watcherで nvmでインストールしたnodeを実行する方法についてまとめます。
- File -> Settings -> Tools -> File Watchersを選択
- +ボタンを押してSCSSを選択する
- Tool to Run on Changes -> Environment variablesのフォルダーボタンをクリック
- NameにPATH、Valueに$PATH:/{{ユーザー名}}/.nvm/versions/node/v10.15.0/binを入力してOKを押す
他に、WebStormでsassコンパイルする方法として、 package.jsonのscriptsに
"css:watch": "node-sass ./*.scss -o css -w "
を追加して、Run / Debug Configurationから実行させる方法もあります。
以前はターミナルでnvmのnodeが使えなかったのですが、最近のバージョンでは解決されたようです。 WebStormに限らず、JetBrainsのIDEは頻繁にアップデートしているので、 File Watcherでnvmのnodeがデフォルトで使えないことも解決するかもしれません。
Webサービス公開前チェックリスト
サービスをつくっていよいよ公開!の前にチェックする項目をリスト化
SEO
- 基本的なMetaタグ(title, description, og:type, og:title, og:description, og:image, og:url)を記載する
- og:imageのURLは絶対URLで記述する必要があるので、あらかじめ画像ファイルを公開しておく必要がある
- ogタグはここから調べる The Open Graph protocol
- og:type の種類はここから調べる The Open Graph protocol
- Google Search Consoleにサイトを登録する
- サイトマップを用意して、登録する
- 基本的なMetaタグ(title, description, og:type, og:title, og:description, og:image, og:url)を記載する
アクセス解析 Google Analytics
- Google Analyticsのアカウントを登録する
- 自分のアクセスを除外する
- Google Analytics Opt-outをChromeにインストール
- 自分がアクセスする環境のIPアドレスを取得して、GAのIP除外に含める
- ユーザー分析でユーザー指標を有効にする
- Search Console と連携する
- コンバージョンの設定ができているか
macのmysqlがmysql8.0になってたので、mysql5.7に戻したときのメモ
brew upgradeをしたら、気づかないうちにmysql 8.0になっていました。 ローカルのmysql serverに接続できなくなったので、mysql 5.7に戻したときのメモです。 前提として、msyql 5.7がもともと動いていて、brew upgradeをしたことで、mysql 8.0がインストールされたものとします。 念の為、/usr/loca/var/mysql以下のバックアップを忘れないようにします。
まず、mysqlのバージョンチェック。 8.0系が表示されることを確認
$mysql --version
mysql 8.0をアンインストール
$brew uninstall mysql
symlinkの状況を確認
$brew doctor
mysql5.7のsymlinkを再設定
$brew link mysql
mysqlのバージョンを確認
$mysql --version
mysql5.7になっていれば完了
お疲れ様でした。
gitlab + plantuml server を ssl で運用する
gitlab ce (omnibus) でplantumlを有効にするためにやったこと。
環境 Ubuntu 16.04 (gitlab ce) , Ubuntu 16.04 (plantuml)
はじめに、plantuml-serverをインストールする。 今回は以下のドキュメントに従ってplantuml-serverをインストールした。
openjdk-7-jdkはubuntu 16.04だとダウンロードできないので、ppaを追加しておく。
sslはnginxのreverse proxy と certbotで構築する。
nginxをインストールする。
virtualhostとreverse proxyを設定する。以下のようなvirtualhostを/etc/nginx/sites-available/defaultに書き込む(別ファイルにしても良い)。
server { listen 80; listen [::]:80; server_name uml.example.com; location / { proxy_pass http://127.0.0.1:8080/; proxy_pass_request_headers on; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
ここで, 127.0.0.1:8080は、/etc/tomcat7/server.xml に記載されているポートとなっている。
続いて、certbotをインストールする。 インストール方法は公式ドキュメントに従ってインストールする。
https://uml.example.com/plantumlにアクセスして、httpsとなっていればOK。
最後に、gitlab側でplantumlの設定を行う。
前述のgitlab - plantumlのドキュメントに従って、gitlab のadminパネルからplantumlを有効にして、 urlをhttps://uml.example.com/plantuml/とすれば完了。
wikiなどでplantumlが直接画像で表示されるようになる。
※gitlab ce (omnibus)と同じサーバーにplantuml-serverの設置を試みたが、nginxの設定がうまく行かず、断念した。 なので、今回はgitlab ce と plantuml-serverは別のサーバーとしている。
video.jsのVolumeControlをiOSで表示する
iOSでインライン動画自動再生をしたときにミュート解除ができないのは不便なので、 iOSでもボリュームコントロールを表示できるか試行錯誤してみた。
playerの再生開始イベントでshow()を呼ぶと表示できるみたい。
環境
- video.js (6.8.0)
- iOS 11
Code
<video id="video_player" class="video-js vjs-default-skin" controls preload playsinline muted> <source src="" type="application/x-mpegURL"> </video> /* ... */ <script> var player = videojs('video_player'); player.ready(function() { player.on('play', function() { player.controlBar.volumePanel.show(); player.controlBar.volumePanel.volumeControl.show(); player.controlBar.volumePanel.muteToggle.show(); }); }); </script>