TES Blog

株式会社テクニカルエンジニアリングサポートに所属する社員が、自身が携わるテクノロジーやイベントに関する情報を発信しています。

Ruby on Rails の Active Record で結合先のテーブルを COUNT する場合は joins/left_joins が良い

Ruby on Rails の Active Record って便利ですよね。SQL から解放されたかのようにデータアクセスできるので、心穏やかに DB と向き合えますが、結合先のテーブルで COUNT する場合は特殊なやり方をしないとパフォーマンスが悪くなってしまいます。

Docker 18.03でMySQL5.7コンテナ起動時に[File ./ib_logfile101: 'aio write' returned OS error 122.]メッセージが表示されたときの対処法

クイックスタート・ガイド:Docker Compose と Rails — Docker-docs-ja 17.06.Beta ドキュメント 上記のドキュメントを参考にしつつ、 DockerにてRails + MySQLの環境を構築する際に、 docker-compose run 実行時に下記のエラーメッセージが表示されました。…

Unicodeの文字プロパティを指定した正規表現をみてみる(ECMAScript2018)

はじめに Unicodeは、世界で使われる文字を利用できるようにすることを目的としています。 そのため、ラテン文字はもちろん、漢字、ハングル、キリル文字、タイ文字、(なんと!)絵文字までもがコード化されています。 一方、JavaScript(ECMAScript2018)…

社員旅行でベトナムに行ってきました!

こんにちは!普段はインフラ業務を携わらせて頂いている者です。 最近は雨が多くなってきていよいよ梅雨…と思いきや、いきなり晴れて熱くなったり忙しい天気が多いですね。 温度調整など体調には気を付けてお過ごしください! 弊社はというと… 6月にベトナム…

Ansible のバージョンを下げる(Homebrew)

Ansible のダウングレード手順です(メジャーバージョンのみ)。 Homebrew で管理しているのが前提となります。 コマンドの実行結果などはないのでさくっとやりたい人向けです。 環境 Homebrew 1.6.8 MacOS Sierra 10.12.6 手順 1. 現在使用している Ansib…

2018年ロシアワールドカップのスケジュールをOutlookに連携する

はじめに 間もなく2018年ロシアワールドカップが開幕し、寝不足が続く日々が始まろうとしています。 (個人的にイタリア代表のファンなのですが、残念ながら本大会には出場できず…) 注目カードをテレビで視聴するつもりでいますが、 グループリーグの観戦ス…

C# .NET Framework によるRS232C通信

はじめに 普段案件としてWebアプリケーション開発に携わることが多いですが、最近関わった案件にてRS232C通信を用いた開発を行いましたので、備忘の意味合いも込めて記事にしました。 開発環境 Windows 10 Pro Visual Studio 2017 C# .NET Framework 4.5 開…

jQuery を使わずに、記事のシェア数を表示するソーシャルパーツをフラットデザインっぽくカスタマイズする

はじめに TES で Web エンジニアをしている Hayato Yamashita です。 今回は、はてなブログのソーシャルパーツをフラットデザインっぽくカスタマイズする方法を紹介します。 カスタマイズ後の見た目 こんな感じの見た目になります。 こういうカスタマイズを…

jQuery を使わずに、はてなブログの外部参照リンクを target="_blank" にする方法

はじめに TES で Web エンジニアをしている Hayato Yamashita です。 最近 TES では、外部情報発信の取り組みとして TES Blog を開設しました。 既にいくつか記事をあげていますので、良かったら他の記事も読んでみてください。 記事一覧 - TES Blog さて、…

外部公開サーバがブルートフォース攻撃されているか確認する

こんにちは。インフラの業務をさせて頂いている者です。だんだん春らしく暖かくなってきましたね。花粉症の方はこれから一緒に頑張りましょう!さて、今回は… 外部公開しているサーバにブルートフォース攻撃がされているかチェックしてみたい …と思います。 …

TwitterAPIで使うアクセストークンが勝手に消えたお話

Twitter APIとの連携で、Twitter Application Managementでトークンを発行して自分のアプリケーションで利用することは多いと思う。 私もTwitter APIを利用してTwitterのBotを作っていたのですが、アプリケーション環境で突如Twitterとの接続でエラーが出る…

サーバー環境にある権限のついたファイルをローカル環境にコピーする方法

nginxのログファイルをサーバーからローカル環境に持ってこようとした時に、 Permission denied でエラーとなってしまったのでその時に行なった対策を載せます。 下記参考にさせていただきました。ありがとうございます!! sudoをパスワード含むワンライナ…

Gitコマンドあれこれ

git

個人的に忘れっぽいコマンドとか、あまり普段使わないようなコマンドを備忘録として載せます。 git rebaseの使い方 コンフリクト解消した後どうするんだっけ…ってたまになる。 1.マスターを最新化する git checkout master git pull 2.トピックブランチにリ…

[JavaScript]イベントにもasync/awaitを使おう

はじめに ECMAScriptが2015年から毎年バージョンアップするようになり、JavaScriptの仕様は大きく変わりました。 特に非同期処理まわりは、Promise(ECMAScript2015~)、async/await(ECMAScript2017~)が導入されたことで、 コールバック地獄の回避や可読性の向…