ハトネコエ Web がくしゅうちょう

プログラミングやサーバー関連、チームマネジメントなど得た技術のまとめ

Web制作

Rails 4 から Rails 5 へのアップデートでおこなった10個以上の対応

Rails4 から Rails5 (Rails 4.2.11.3 → 5.2.4.3)へのバージョンアップをおこなうためにした準備と作業内容を、出来る限り書きまとめました。belongs_to や autoload の仕様変更, time型の話なんかは要チェックです。

AWS S3 内の画像をすべてリサイズする方法( goofys 使用)

S3 にある大量の画像をツールを使ってすべてリサイズ処理したい場合の解決法。goofys, ImageMagick, pngquant を用いて大幅な容量削減をおこなえました。

Next.js に sequelize 導入(メモ)

手順をあとで振り返れるように自分用メモ。 1. clone を起点とする。リポジトリを clone したのち npm i 2. create database Docker のこと考えると面倒なので、まずはローカルの MySQL を使うようにするところから。 mysql -u root -p で入った後に create …

3文字マーケティング用語辞典

Webマーケの人と話すときに、何度聞いても「その言葉ってどういう意味でしたっけ?」と聞いている自分が嫌になってきたので、 覚えるのが苦手な3文字言葉のまとめ。時々3文字じゃないのもある。 自分が覚えていない、もしくは突然アルファベットで言われると…

jQuery の ajax の書き方を Pure JS の fetch で書き直す

最近(遅いんですけど) querySelector メソッド知ったんですよ。 今までは、jQuery を使わない JavaScript だと getElementById か getElementsByClassName 使ってじゃないと DOM 要素を取れないと思っていたので、 jQuery はその点強いよな〜と思っていた…

プログラミング初心者が HTML, CSS を独学で勉強するならなに使う?

Progateでプログラミングを始めてみたけど、なんかこの勉強法自分に合っていない気がする、もっと速く独学を進めたい。って人向けの記事です。初心者向けのプログラミング勉強法をまとめました!

PostgreSQL 公式の語るやっちゃいけないことリストがおもしろかった

なにげなく『週刊Railsウォッチ(20200115後編)』を読んでいたところ、 Don't Do This - PostgreSQL wiki ってのが紹介されていたので読んだ。 BETWEEN を timestamp に対して使っちゃいけない話 これの『Don't use BETWEEN (especially with timestamps)』…

refile から shrine へ移行する方法を徹底解説

refile から shrine に Rails の画像アップロードライブラリを乗り換えたいけど、shrine のドキュメントを読んでも細かいところがよくわからないよ! という方のためのマイグレーションガイド

HEIF (.heic) という画像ファイル形式が存在するのを知った

iOS エンジニアの人たちにとっては当たり前なのかもしれないんですけど最近知りました。 Apple 製のデバイスで HEIF/HEVC メディアを扱う - Apple サポート ここにある通り、 iOS 11 以降では、カメラで撮った写真の保存形式が HEIF というファイル形式(拡…

はてなブログの Google Analytics で /realtime_preview などを集計対象外にする

はてなブログへのアクセス記録を Google Analytics で見ると /realtime_preview というアクセス先があるのでその正体とは?! って話と、それへのフィルタ設定をおこなってより正確なPV数を取得する方法の話

materialize-css のJSライブラリを TypeScript + React 環境で読み込む

materialize-css の JavaScript ライブラリ部分を TypeScript + React 環境に import M from 'materialize-css' する方法

セッションと Cookie について今さら理解する

Webサイトのログインで必要な考えとなる セッション周りを全然わかっていなかったので、いろいろ自分用にメモ。 1. 動機 今まで Rails や周辺ライブラリがよしなにやってくれていたものを、 Go言語で Web アプリを作ろうとしたら自分でちゃんと実装しないと…

初めてPerlに触れてみての感想

特に解説記事というわけでもなく、筆の走るままに感想を。 入門にはPerl入学式の教科書がとても役立ちました。 id:papix 先生ありがとう…… Perl 自体への感想 全体的に、シェルスクリプトとRubyの中間みたいな文法。生まれを考えればまあ、そうだよね true, …

gRPCのクライアント実装でサーバー証明書の検証を入れる方法

このあいだの gRPC の記事の「失敗5」の項で サーバー側の証明書の正当性を検証するステップはスキップするという方向の実装 にしたのですが、サーバー証明書の検証をおこなう方法がわかったので書いておきます。 なお、今回言う「サーバー証明書」というの…

gRPC x Go x nginx での失敗談

Go による gRPC サーバーへ、 nginx をプロキシーにして HTTPS 通信をおこなおうとしたらいろいろ失敗した話。grpcurl の使い方やサーバー・クライアントの実装例など記載。

http2 設定で cert renew に失敗

80番ポートの設定に http2 を付けると cert renew --dry-run に失敗する

DNSサーバ引っ越し時のメモ

また忘れそうなのでメモ書き。 基本的に引っ越しは、NS レコードを書き換えて 移行先のDNSサーバに誘導するようにするんだけど、ConoHa はトップドメインの NS レコードを変更できない。 でもそもそも、ドメイン取得サービスの DNS サーバが起点となっている…

ConoHa ちゃんを裏切って DigitalOcean に移行した話

約2年に渡って使ってきた ConoHa から、メインのサーバを DigitalOcean に移行した話。美雲このはちゃんがこんなにもかわいいのに、それを失ってまで VPS サービスを DigitalOcean に変えた理由とは……

Docker の ARG の宣言箇所に注意

ARG の宣言を FROM の後に書くようにすべき話と、ADD や COPY でソースとして扱えるファイルは特定ディレクトリ以下だよ、って話

Docker で Ansible の実行環境を作る(Ubuntu 18.04)

Ansible を簡単に何度も流せる Docker イメージを作成します。 また、Makefile を活用し、コンテナの開始・終了もおこないやすく。 --cap-add NET_ADMIN オプションなど、ハマりどころも解説。

gRPC チュートリアルで入門しようぜ!

gRPC 公式の Quick Start Guide をベースにしつつ、より深く掘り下げられるよう追加・変更を施した、gRPC 入門のためのチュートリアルです

ブログをMixed Content対応しつつHTTPS化しました 🎉

今年の4月から、はてなブログのドメインを使用している全ブログが HTTPS 化に対応しました。 (2月の時点ではまだ段階的に提供開始というステータスだった) 対応したいなと思いつつも、 「Mixed Content 対応のためには記事をひとつずつ保存し直してね、て…

FirefoxとChromeは表示される色味が違う!!

ブログのデザインを微変更していて気付いたのですが、 (Mac版だけかもしれませんが)FirefoxとChromeの色味って違うんですね! (左:Firefox、右:Chrome) Firefox は Chrome よりもきらびやかな色になります。 Firefox でカラーを調整していたので、Chro…

Docker Swarm モードはわかりやすい!

Docker Swarm モードのひととおりの流れを解説しています。 Kubernetes に比べ、非常に簡単な方法で、Dockerクラスタの管理ができることがわかると思います。

【CircleCI 2.0】GitHub Pages へ指定ディレクトリ内だけを push するための config.yml

約2年前に上のような記事を書いたのですが、 いよいよ CircleCI ver.1 も今月をもって廃止ということで、 CircleCI 2.0 向けに書いたものを貼りつけておきます。 1. config.yml の設定 以前と同じように、結果から貼りつける形にしようと思います。 このよう…

Datadog のメモリ監視に関するダッシュボード設定

「君のアカウント、試用版だから有料版にアップグレードするか無料版にダウングレードするかしないと消すね」 と Datadog から警告が来たので、もし設定しなおす場合の参考用に。 1. メモリを used, buffers, cached, free の分け方で見る場合 free コマンド…

letsencrypt renew 後に nginx restart が必要

久しぶりにメモ。 自分で管理してるサイトにアクセスしようとしたら SSL証明書の有効期限切れエラーを見ることに。 で、なんか設定忘れてるのでは、という気がして他の人の renew のやり方見ていたら、(Let's Encrypt で Nginx にSSLを設定する - Qiita) …

Ansibleで、サーバー上の特定ディレクトリにあるファイル名一覧を取得する

個人のサーバーでgit運用したくて、Gitbucket を立ててるんです。 それで、この前 Gitbucket の更新をするときにプラグインファイルも更新をかけたのですが、 困ったことに、プラグインをダウンロードするだけのAnsibleタスクだと 古いバージョンのプラグイ…

ヤバイサイトのセキュリティはどれだけヤバイのか検証してみた

1. 前置き 先日、このツイートがエンジニア界隈でちょっとだけ話題になりました。 https://twitter.com/ymotongpoo/status/866929418073120769 事の発端は、このツイートにあります。 https://twitter.com/e_Traning_html5/status/866677588315447297 WebRTC…

DataDog に Ansible を連携させる ansible-datadog-callback の使い方

DataDog の Ansible Integration が上手く動作しなくて頭を抱えました。 Configuration をよく読むと、 ansible-datadog-callback を入れなさい、と書いてあります。 なるほど、と設定しようとするもどこに何を置けばいいのかわからず困りました。 ローカル…