GIG

赴くままに技術を。

プライベートコンテナレジストリ(Harbor)を構築

Azure CLIベースでHarborの構築メモ。 流れとしては以下となります。 コンテナレジストをデプロイするVNetを作成 2.コンテナレジストリを構築 3.踏み台サーバにGUI環境を構築しHarborにアクセス 4.DockerイメージをHarborにプッシュ 1. コンテナレジストをデ…

AKSでネットワークパケットキャプチャを取得する

どこそこへつながらないや、つながるけどたまに切れるといった場面でネットワークパケットキャプチャを取得することがあるかと思います。 AKSの場合にどうやって取得するのかまとめてみました。 AKSノードにて取得 対象AKSノードにSSH接続し取得する方法で、…

AKSノードにnode-shellでログインする

AKSにてノード (仮想マシンスケールセットインスタンス) に接続するとき、Podをデプロイしてそれを経由し、ノードにアクセスが必要。 しかし、ちょっと面倒なので、kubectl-node-shellを使ってみる。 github.com krewと呼ばれるkubectlのプラグイン管理ツー…

Windows コンテナ

Windows コンテナとは Windows Server 2016よりサポートされたWindowsコンテナ、Linuxコンテナはまずまず不自由なく使うぐらいは触っているけど、 いまいち利用用途など見いだせず、敬遠し続けていた。 ということで、入門してみます。 2つの分離モード Lin…

クラスターオートスケール機能

大分昔に更新して以来すっかり更新を放置していたので、久しぶりに更新してみようと。 前回からすると、お仕事も一新 Azure を触る機会が多くなりました。 いろいろと検証するのですが、書き溜めたメモがなかなか放流できずじまいに。 今回は、Azure Kuberne…

GitLab CI環境を自己証明書を使って構築する

※自己証明書を使うのは検証目的に留めておいて、本番運用では証明書の購入が必要。 2018/5/12追記 gitlab omnibusインストールのパラメータ修正(gitlab_shell_ssh_port) ジョブとしてDockerイメージをビルドするため、gitlab-runner registerでdocker.sockの…

SwaggerでWeb APIを作る - 非同期実行 (その1)

これまでは同期処理(リクエストを送ると処理が実行され、レスポンスが返答されるまで待つ処理)であったが、処理が長いものなどは非同期で処理を実行しなくてはならない。PythonではCeleryというライブラリで実現できる。 ここではまず環境構築(Flask, Celery…

押して開く

半年ぐらいずっと同じような指摘をいただいている。 「会になっていない」 「口割りまで降りていない」 だったり、矢が下に行ったり。 弓道で本当に一連の動作が大事だなと思えるのは、こういった原因が直前の動作の引き分けにあるのではなく、遡ると取り懸…

SwaggerでWeb APIを作る - DBと連携する

前の記事で書いたWeb APIを今度はDBと連携させる。前回までは辞書オブジェクトにデータを保存していたので、アプリケーションを再起動させるとPOSTしたデータが失われることになる。 DBとしてSQLiteを使ってみる。 業務では専らPostgreSQLなんだけど、開発時…

SwaggerでWeb APIを作る - APIを実装する

この記事はFujitsu Advent Calendarの20日目です。 Swaggerとは? 前のポストではSwaggerでWeb APIを設計し、ドキュメント化、モックサーバの起動について書いた。 改めてSwaggerについて。 REST API設計とそのツール群 仕様書(YAML形式)を書くことでそれから…

SwaggerでWeb APIを作る - Web APIの設計

Web APIの設計 Web APIの設計でExcelを使って定義書を作成していたが、仕様の変更等によって気がついたら設計書とシステムに乖離しているなんてことがあった。そのようなことがないようにWeb APIの定義情報を常に正とするようなアプリにしたい。 そこでSwagg…

NvidiaのDeep Learning Quest(無料分)を受ける

すでにひとしきり広まった感があるDeep Learning。 Nvidiaがかなり本腰入れていて、それ向けの教育プログラムまである。 どういうものかは知っておきたいので、無料枠で受けれる「ディープラーニング入門」を受講してみよう。実際AWS上に構築された環境を触…

Djangoアプリケーションのデプロイ

開発サーバでなく、製品版ではどうするかというと2通りの方法があるみたい。 Apache Httpサーバ + mod_wsgi Nginx + Gunicorn 2.の方がパフォーマンスが優れているという話も見かけたけど、今回は1.を試してみる。 wsgiは"ウィスギィ"と読むのか。 検証環境…

Django1.9+Bootstrap3でログイン表示を作る

認証・認可は、Djangoに限らず、Webフレームワークを使い出してまず外せない機能。 Djangoの公式マニュアルを見てみると、機能としてデフォルトで持っていて、それを用途に応じて拡張していく方針とのこと。 Users, Groupモデル、パスワードをハッシュ化して…

Djangoのフロー

DjangoはフルスタックなWebフレームワークで、Ruby on RailsのようなDBマイグレーションができたり、管理GUIを簡単に作る機能があるなど、使えたら便利そう。 1) プロジェクトを作成する $ django-admin startproject (プロジェクト名) 2) アプリケーション…

JacksonでLombokを使ったBeanにマッピングできない

同じ轍を踏まないようにメモ。 事象 JSONファイルから設定を読み込むことをしたく、Jacksonを使い、アクセッサーメソッドの記述を省力化しようとLombokを使った。そのとき下記のように記載するとアクセッサーメソッドがスネークケースになって(実際スネーク…

初段になりました

初めて審査なるものを受けました。 あいにくの雨。そして傘を忘れた... 審査は、術科試験と学科試験の2種。 ウェイトは不明だが、まれに学科で落ちることがあるとのことなので、術科にウェイトがあるような印象。 術科試験 一手座射が内容です。体配(執弓の…

初心者弓道教室に参加して

初心者教室について 流山に越してから腰を据えて弓道を始めようと思い、まずは地域の弓道協会が主催する初心者教室に参加してみた。 計8回(5/30, 5/31, 6/6, 6/13, 6/14, 6/20, 6/21, 6/27)で先週がちょうど最終回だった。 対象者は? 初心者でなくとも段を…

APIで取得したjsonが文字化けする

備忘録としてメモ。 やりたいことは、REST API提供されているデータを取得して、保存することです。 また使用しているpythonの環境は、以下。 python --version Python 3.4.3 :: Anaconda 2.2.0 (x86_64) 使用するデータは、e-StatのAPIから取得します。 API…

LeafletとCrossletを組み合わせたCrossLetで日本の人口統計データを表示する

CrossletというLeafletの地図表示上と、Crossfilterを連動させたJavascriptライブラリを用いて、各都道府県の国籍別に人口データを表示してみました。 ライブラリはLeafletがCloudMadeのAPIを使う仕様のままになっており、 今のLeafletのようにOpen Street M…

TOEICのスコアに一喜一憂する

TOEICを1,000円で受けられる機会が社内で年数回あります。 まぁ受けて損はないかと惰性で受けてますが、Readingあがらんね。 TOEICで英語の能力は測りきれないとは思うものの、取れないとそれはそれで悔しい。 受験日 Listening Reading 2015.02 445 320 201…

北小金-流山-利根運河

流山に移り住んで4ヶ月くらいになります。 流山といってもほぼ松戸市に接するようなところに住んでいるのですが、ここから野田市との境までポタリングしてきました。 利根運河 流山に転入してきたとき、利根運河の写真が載っていた冊子などを頂きましたが、 …

IPythonで最初からimportさせておく設定

IPythonを使っていると最初からimportしていてほしいなと思うときがしばしば。 前回行ったIPythonプロファイルで設定できるようなので、以下やってみる。 ~/.ipython/profile_default/配下にあるプロファイルを編集しても良いのですが、 後で見直したいとき…

「Pythonによるデータ分析入門」を読む準備をする

今までJava、Perlをその場しのぎとして業務をしてきましたが、昨今の流れもあってPythonを使い始めました。 Amazonやアキバのヨドバシを眺めてみましたが、Pythonってあまり書籍がでていない...。その一方、RubyなんかはWebシステムの構築で使われる頻度が増…

iPhone 4sからiPhone 6に変えてみた

iPhone 5が出てからもがんとしてiPhone 4s(これだけで3代目)を手放しませんでした。 個人的な信条からなのですが、画面の大きさにこだわるAppleなんて見たくなかったし、OSが更新されていくので、機能面で購入する動機がないなーとぼんやり思ってました。 替…

Angularジェネレータでプロジェクトの生成時にエラー

そろそろ腰を据えて、AngularJSを修得せんと。 angular-seedをcloneして使おうかと思ったけど、最近はYeomanということで、 早速AngularJSのプロジェクトを生成しようとしたら、下記のようなエラーが発生。 > node-gyp rebuild gyp ERR! configure error gyp…

iframeを自動的にリサイズ

iframeで他のhtmlを埋め込みたくなったので、iframeのサイズを自動調整するような そういうjquery pluginがないか探していました。 Google先生に聞いてみたところ、下記が良くヒットします(日本語では)。 house9/jquery-iframe-auto-height · GitHub bowerを…

スピリチャル・ワールド

東京写真美術館で5/13から7/13まで開催されている写真展。 文字面だけみると怪しげな、何か新興宗教的な匂いを嗅ぎ取ったけど、日本人の精神世界にフォーカスした写真展でした(日曜美術館のアートシーンで分かった)。 伊勢神宮、富士山のような有名所の写真…

DBからモデルにデータを読み込ませる(後編)

チュートリアルを参考に、DBから読み込んで計算 前回作ったDBからデータを引っ張ってきて、計算させてみる。 ほぼチュートリアル(Transport9.java)が参考になりそう。接続させるところだけ修正して、動かしてみた。 他に参考になりそうなところでは、いった…

DBからモデルにデータを読み込ませる(前編)

以前最適化計算をGAMSで行う - GIGの続き。 モデルと使うデータを外から読み込ませて、計算させたいということで、まずはDBに計算するデータを入れてみる。 今回は使うものはこちら。 MySQL MySQL Workbench ということで、MySQLをインストール(インスト…