Fire Engine

消防士→ITエンジニア→研究者

Golang

遺伝的アルゴリズムの並列化とgoroutineによる実装

先日、「遺伝的アルゴリズムをGoで実装してみた」という記事を書きました。 この内容で2019年7月13日(土)に開催されるGo Conference'19 in Fukuokaに登壇させていただくことになったので、開発中のeagoというパッケージをもっと作り込んで行きたいと思いま…

遺伝的アルゴリズムをGoで実装してみた

こんにちは!つるべーです! 最近は、進化計算と呼ばれるバイオミメティックな計算技法に興味を持っており、実装しながら勉強しています。 前回の記事では粒子群最適化(Particle Swarm Optimization: PSO)を実装しました。 今回は、遺伝的アルゴリズムとい…

粒子群最適化(Particle Swarm Optimization: PSO)をGoで実装してみた

粒子群最適化とは、群知能による最適化手法の一種です。この手のバイオミメティクス(生物模倣)によるアプローチは、私の学生時代の専門である材料工学でも非常に盛んに研究されていましたが、データサイエンスでも応用されているのを知って興味を持ったの…

Dynamic Time Warping(動的時間伸縮法)で時系列データをクラスタリングする

最近時系列データのクラスタリングに興味を持ち始めて、いくつか論文読んだり、アルゴリズムについて調べていたら、実装してみたくなったので勉強のために作ってみました。 実装の言語にはGolangを用いていて、クラスタリングのアルゴリズムは、Dynamic Time…

デブサミ2018福岡でSSHの話をしました

2018年9月6日開催のDevelopers Summit 2018 FUKUOKA(デブサミ2018福岡)に登壇しました。 発表内容としては、先日書いた下のブログの内容です。 blog.tsurubee.tech スライドはこちらです。 speakerdeck.com 今回の登壇はLTセッションで、発表時間が7分と短…

ユーザが接続先を意識しないSSHプロキシサーバを作った

今回は、ユーザが接続先を意識しないSSHプロキシサーバを作った話です。 SSHのユーザ名から動的に接続先ホストを決定し、SSH接続をプロキシします。 github.com 作った背景 比較的規模の大きなサーバ群を管理しており、そこに対して接続してくるユーザに特定…

「A Tour of Go」でGoに再入門した

もうかれこれ4ヶ月くらいGoを書いているんだけど、最初に文法を体系的に学ばずにいきなり書き始めたので、「A Tour of Go」で復習がてら文法を学びました。 実際にやってみると、理解が曖昧だったり、知らなかったことも出てきたので、そういったものだけピ…

Golangで軽量なSSHサーバを実装する

今回は、Golangのgolang.org/x/crypto/sshパッケージを使って、SSHサーバを構築してみました。 かなりミニマムな実装ですが、リモートからSSH接続して、対話的にコマンドが実行できるところまで実装しました。 コード github.com package main import ( "gol…

ユーザ名から特定したホストにコマンドを実行するSSHプロキシを書いてみる

今回は、勉強のために簡単なSSHプロキシサーバを実装してみました。 動作としては、ユーザがプロキシサーバに対してSSH接続した際に、ユーザ名からプロキシ先ホストを動的に決定し、SSH接続します。そして、接続したホストに対してhostnameコマンドを実行し…