実務経験で出会った便利なあれこれ

新卒エンジニアとして半年間働いてきて、現場でさまざまなことを勉強させていただきました。その中でも、もっと早く知っておきたかった便利なツール、Python の書き方など、幅広いあれこれを記事にしたいなと思います。

実務経験で出会った便利なあれこれ

新卒エンジニアが今になって就職前にやっておけば良かったと思うこと3選

就社してからは初めてのブログ投稿となります。

ビジネスサイドに知ってほしいエンジニア用語

今回の記事は新型コロナウイルスの影響で普段リモート開発をしていて浮き彫りになった問題点の1つとして「開発側と運用側でコミュニケーションが難しい時がある」といったものがありましたので、その原因として考えられる「IT専門用語が難しくしている」に焦点を当てて、業務中に発生した知ってもらえたら嬉しい用語を(個人的頻出度で)紹介していきます。(かなり噛み砕いていますので厳密で完璧にあっているものではないものもあります)

ビジネスサイドに知ってほしいエンジニア用語

10年に一度巡る雑誌コードの話

<p><img alt="" src="https://d1qjlssvz4u32r.cloudfront.net/media/uploads/site-6/head/book-520610_640.jpg" width="800" /></p>

10年に一度巡る雑誌コードの話

新卒エンジニアが最初の半年に任された業務

今年の春に入社しました、情報システム部の清瀬です。

実務経験0 入社一年目のエンジニアが任されたセキュリティの話

2021年春に入社しました、情報システム部の清瀬です。

PMS&ISMS後編 Pマーク認定、ISO27001規格認証でのコンサルを選ぶポイントは、これだ・・・。

株式会社TORICO情報システム部の四斗邊です。 PMS、ISMS関連の後編です。 今回はPマーク認証、ISO27001認証を取得する際のコンサルを選ぶポイントについて話したいと思います。

PMS&ISMS後編 Pマーク認定、ISO27001規格認証でのコンサルを選ぶポイントは、これだ・・・。

PMS&ISMS前編 PMSとISMSの違いについて

はじめまして株式会社TORICO情報システム部の四斗邊です。 いきなりですが、PMSとISMSについてお話したいと思います。 なぜこの話をしようと思ったかといいますと、株式会社TORICOでは、2021年1月にPマーク認証を取得、2021年2月にISMS認証(別名ISO/IEC 27001)を取得したからです!

PMS&ISMS前編 PMSとISMSの違いについて

エンジニアの知らないISBNの話

本には商品判別のためのバーコードがついています。いわゆるISBNコード(JANコード)です。ECショップでは本を取り扱うために本の書誌を記録するテーブルを作成しますが、その際にint型でいいだろう? ユニーク制約でいいか?とおもってはいけないません。

エンジニアの知らないISBNの話

海外回線からのブラウザリクエストを日本のオフィスから SOCK5プロキシを使って行う

海外回線からリクエストされた時に応答を変えるようなサービスで、実際の海外からアクセスした時のレスポンスを日本国内のPCから試したい場合は、SOCKS プロキシを使うと便利です。 実際に起動した、自分のコントロールしているサーバを使います。怪しげな VPN サービスを使わないため安全です。

海外回線からのブラウザリクエストを日本のオフィスから SOCK5プロキシを使って行う

Amazon Pay Checkout v2 API の署名 (RSA-SHA256 (RS256) + RSA PSS Padding) を Python で行う

Amazon Pay のAPIクライアントを書く際、Amazon のAPIサーバに送信するリクエストに、RSA-SHA256, RSA PSS パディングを使って署名を作り、リクエストに含めて送信する必要があります。 Java や node はクライアントライブラリがあったので、それを使って簡単に署名できたのですが、弊社 TORICO ではサーバサイドは主に Python を使っているため、署名コードを書きました。

Amazon Pay Checkout v2 API の署名 (RSA-SHA256 (RS256) + RSA PSS Padding) を Python で行う

ファンのうるさい MacBookPro を静かにする

メインの開発機として MacBookPro 2019 16インチ Intel CPU を使っています。 ちょっとでも負荷のかかる処理をさせると、すぐファンが最高速で回ってしまいます。会社での使用時は問題ありませんが、在宅で静かな部屋の中で使っている場合、なかなか不快です。 今回、そのファンの音をなんとか静かにしようと試行錯誤したのでその記録を書きます。

ファンのうるさい MacBookPro を静かにする

Webクライアントはリッチに、モバイルアプリクライアントはシンに運用開発する

Django, Nest, Laravel, Rails などの サーバサイドアプリ(APIサーバ) Vue, React などの Webクライアント iOS, Android 用の モバイルアプリクライアント これらを組み合わせてサービスを作ることはよくあり、弊社でもそうしています。 Webクライアントとモバイルアプリクライアントは役割として同じものになるので、同じような感覚で開発を始めることはよくあります。 しかし、アプリのファーストリリースが終了し、運用開発のフェイズとなった時、同じような感覚で機能追加を進めていこうとするとうまくいきません。モバイルアプリは、非常にリリース速度が遅いのです。

Webクライアントはリッチに、モバイルアプリクライアントはシンに運用開発する

Webの技術でレジ(POS) を開発・運用する

当社TORICOは、主にインターネット上での書籍の販売サービス、つまりECサイトを自社開発して展開しています。 実店舗を営業するにあたり、レジ(POSシステム) が必要となります。TORICOでは、POSシステムもWeb技術で自社開発し運用しています。当社と同様に Web技術で POSを開発される方に向けて、私が対応したいくつかの経験を書き残します。

Webの技術でレジ(POS) を開発・運用する

Django の ORマッパーで生成されたSQLを実行前に置換し、JOIN時のインデックスを強制する

Django には、便利な ORマッパーが搭載されており、SQLを一切書かずともRDBの操作が行えます。 今回、SQL実行時に思ったようにインデックスが使用されず、パフォーマンスが出ない問題がありました。 これは、生SQLを実行した場合も同様にインデックスが使われなかったため、Django の問題ではなく、実行計画が最適に作成されなかったというSQL上の問題(というか仕様?)です。 SQL内にインデックスヒントを強引に書き込むことでインデックスを強制した所、正常なパフォーマンスとすることができたので、その方法を書きます。

Django の ORマッパーで生成されたSQLを実行前に置換し、JOIN時のインデックスを強制する

サーバレスアプリケーション (HTML/JSのみ) で、Google Analytics API を使ってアクティブユーザー数を表示するダッシュボードを作る

Google Analytics は、API経由で様々な数値を取得することができます。 今回は、API経由でサイトのアクティブユーザー数を取得して、Nuxtで作ったダッシュボード風JSアプリに表示してみます。 Google Analytics の APIから値を表示してウェブページに表示する場合、 APIとの通信をサーバサイドで PHP や Python のプログラムで取得してウェブブラウザに表示時する方法と、 ウェブブラウザ自体が直接 Google Analytics API にリクエストして表示する方法と、 どちらの方法でも実現できます。

サーバレスアプリケーション (HTML/JSのみ) で、Google Analytics API を使ってアクティブユーザー数を表示するダッシュボードを作る

Ubuntu server 20.04 に Rancher で Kubernetes (シングルノードk3s) + Ingress 環境を構築し、ウェブアプリをホストする

現在の最新版のRancher 2.5.2 を使った所、1年前のものと違った点で環境構築に躓いた所があったので書きます。 Rancher 添付の K3S のシングルノードクラスタで、Ingress で外部リクエストにレスポンスする所まで行います。 1. Docker エンジンのインストール 2. Rancher の実行 3. kubeconfig の取得 4. mac から kubectl を実行 (試しにネームスペースを作る) 5. Ingress Controller の作成 6. SSL(TLS)証明書があれば入れとく 7. 適当にサービスを作る

Ubuntu server 20.04 に Rancher で Kubernetes (シングルノードk3s) + Ingress 環境を構築し、ウェブアプリをホストする

一定期間より昔のGmailを自動的に削除する方法 (Google Apps Script を使う)

Google Apps Script を使って、一定時間より古い Gmail を自動的に削除するスクリプトを定期動作させる方法を書きます。 ちなみに、Google Drive の容量が不足シている場合、Drive にメール以外の容量の大きなファイルがあるかもしれません。 https://drive.google.com/drive/quota こちらから検索できます。 1. Google Apps Script のページを開く。 https://script.google.com/ もしログインしてなければ、「Start Scripting」のようなボタンを押してログインします。 2. 左上の「新しいプロジェクト」のボタンを押します。

一定期間より昔のGmailを自動的に削除する方法 (Google Apps Script を使う)

TORICO全社会イベント TORICO NIGHT 2019 でオペレータしました

2017年から開始して、2019年11月の開催で5回を迎えました。 多くの会社は、12月に「忘年会」という形で食事会をされると思いますが、TORICOは12月は商品が非常に多く売れる時期であり、物流チームも事務チームも気が抜けなくなるため、その時期を避けて秋口に食事会をします。

TORICO全社会イベント TORICO NIGHT 2019 でオペレータしました

旧Redash(V2) から 新Redash(V8) にアップデートを行いました

Re:dash v2 から v8 にアップデートする際、新しいv8サーバを作り、v2のDBから内容をv8にinsert することにしました

旧Redash(V2) から 新Redash(V8) にアップデートを行いました

TORICOの他のブログ投稿

最近の投稿

フィード

RSS / Atom