2019年アドベントカレンダー、14日目の記事です。この記事は、Go言語でGo(のとても小さいサブセット)のインタプリタを作ってみようというものです。リバースプロキシリバースプロキシで少し凝ったことをする際、Nginx+Luaで頑張るなど、いくつか手法があります。(個人の意見ですが)どれも使い勝手がいいとは言えません。そこで、「使い勝手のよく、少し凝ったことのできるリバースプロキシサーバー」を作ってみま...少し凝ったことを(簡単に)できるリバースプロキシサーバーをGoで書いてみた2019-08-29tcコマンドとDockerコンテナを用いて遅いネットワークをシミュレートするdocker「手元で、できるだけ実際の環境に近い環境でプログラムの挙動を確認したい」ということがあるかと思います。そこで今回は、遅い(レイテンシの高い)ネットワークをDockerコンテナを用いてシミュレートする具体的な方法を紹介します。prolog言語仕様の一部しか実装していませんが、一応動くものができたので公開してみます。(v10以降の)Node.jsが必要です。論理型プログラミング言語の一つです。以下のような構成のディレクトリがあったとします。コンテナにおいてイメージサイズの小ささは正義です。そのため、UbuntuのDockerイメージはいろいろなものを削り落としています。その削り落とされているものの一つとして、manページが挙げられます。Dailyというポッドキャストのエピソードで耳にしたのを機に、gVisorについて調べてみました。日本語の情報もあまり多くなかったので軽く記事にしました。(Node.js)node.jsログイン機能のあるアプリケーションを開発する場合、(大体の場合は)ユーザーにパスワードを設定してもらうことになります。64bit向けにC言語のプログラムをコンパイルする方法を紹介します。俗に言うクロスコンパイルっていうやつです。以下のように、必要なものをaptで入れます。binutilsにはアセンブラやローダが入っています。sud...Cのプログラムをx86-64のマシン上でPowerPC向けにコンパイルする2019-04-11URLから画像のサイズを取得する(Node.js)node.jsサーバーサイドアプリケーションを書いていると、「あるURLでアクセスできる画像の(縦横の)サイズを知りたい」という場面がまれにあると思います。Nodejsにおいて、そういった場合にどうしたらよいかを紹介します。リバースプロキシDockerコンテナ内でnginxを動かし、リバースプロキシサーバーを作る簡単な例を紹介します。プロダクションで利用する際はnginxの設定をもっとしっかりしないといけませんが、この記事ではそのあたりは端折ります。mysqlサーバーサイドアプリケーションの開発環境などにおいて、「初期化された(データベースやテーブルが作成された)MySQLのDockerコンテナを用意したい」といった場面があると思います。いった際にどうすればよいか、簡単な例を通して説明します。Nginxのリバースプロキシでは、プロキシ先として(IPアドレスの他に)ホスト名を指定することができます。その際、設定ファイルのlocationコンテキストは以下のようになると思います。すると何が嬉しいのか、というのを説明します。#02でLTをさせていただいたので、その時の内容をここにもまとめておきます。スライドはこちらです。以下のようにwinstonのloggerを用意したとします。express.jsexpressにおけるリクエストのロギングはmorganを使うのが鉄板ですが、winstonなどの他の高機能なロガーで、まとめてログを扱いたいことが多いと思います。この記事では、どのようにしてそれを実現するのかを簡単な例で説明します。SDKのDynamoDB.DocumentClientのscanメソッドを用いるのですが、そのままではテーブルのサイズが大きい場合に一部のデータしか取得できません。バッチ処理などで、テーブル内の全項目を取得したいシーンもあると思います。express.jspassport.jsを用いると、expressでbasic認証が簡単にできます。以下のファイルをindex.jsとして保存します。passport.jsで1分でbasic認証を実装する2019-03-03ウェブ開発でNode.jsを採用するメリット・デメリットnode.jsウェブ開発においてある程度の地位を築いた感のあるNode.jsですが、自分も2年ほど使っています。この記事では、Node.jsの良い点・悪い点をまとめてみます。Dockerを利用してDockerコンテナでGPUを使ってみました。18.04を利用しました。機械学習関連のプロジェクトではPythonを使う人が多いと思うのですが、Pythonでの処理って遅いですよね。typescript最近、バックエンド開発でNode.jsを用いています。JavaScriptは仕様がどんどん良くなってきているし、コールバックを用いた非同期処理も個人的には好きです。コードベースが大きくなると「型があればなあ...」と思うこともしばしば。特徴まとめawsAWSを使っている人全員が触ったことがあるであろうS3。ついてのメモaws使う機会がったので。ついてのメモaws使う機会があったので。読み進めていった際のメモです。V8はGoogleが開発しているオープンソースのJavaScript実行エンジン(JavaScriptのコードを解析し、機械語まで落とし込んで実行してくれるもの)です。Node.jsで「イベントループをブロックするコードを書いてはだめで、ノンブロッキングなコードを書かないといけない」とかよく言われます。読み進めていったときのメモです。JavaScriptエンジンを組み込むためのガイド。(1)リンクホームページfeedレビューのまとめスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。