chevron_left

メインカテゴリーを選択しなおす

cancel
やわらかテック https://www.okb-shelf.work/

リモートワークでWEBエンジニアをしています。 自称ミニマリストが配線と戦いつつ、快適なデスク環境を目指し「これは買うしかない」と思ったオススメのガジェットなどを紹介中。 エンジニア教育やプログラミング言語に関する内容も。

ぎょうざ
フォロー
住所
未設定
出身
未設定
ブログ村参加

2023/01/11

arrow_drop_down
  • 【OBSで使用可能】スプラトゥーン3の武器をランダムで表示するサービスを公開しました

    最近、Twitchでスプラトゥーン3のプレイを配信しています。 その中でただプレイするだけだと面白くないので、武器をランダムで選択してバンカラマッチ(対戦)できたら面白いかも...と思ったのですが、配信でいい感じに使える武器をランダムに選択してくれるサービス・ツールを見つけることができませんでした。 どうしようか...と思っていたのですが「無いのなら自分で作れば良いじゃない」と思い立って、スプラトゥーン3の武器をランダムに選択するサービスを作成して公開しました。 okabe-yuya.github.io 使い方 操作はとてもシンプルで、画面下に表示されるスタートを押すのみです。 現時点(202…

  • 【はじめてのシステムコール】ソケットでTCPサーバーを実装する

    みなさんはシステムコールについてご存知でしょうか。 システムコールを一言で説明すると、OSのサービスを利用する際に呼び出しされる機構のことです。 普段、WEBアプリケーションの開発をしている自分にとってシステムコールは、あまり馴染みのあるものではありません。しかし、システムコールを自分で直接、呼び出していないだけで、ファイル操作やディレクトリ変更(cd)を行うと裏側ではシステムコールが発行されています。 なので遠いような...近いような...不思議な存在なわけです。 今まで明示的にシステムコールを呼び出したことがなかったので、今回はシステムコールを使って簡単なTCPサーバーを実装してみたいと思…

  • Pythonでデータ処理・グラフ描画できると業務の幅が広がる

    僕がプログラミングを始めたばかりの頃はPythonを使って、データ処理・分析、機械学習といった内容に取り組んでいました。 当時、業務(アルバイト)ではCSVファイルをpandasで読み込んで、前処理をしてmatplotlibを使ってグラフを描画して...というサイクルをひたすらに繰り返していたものです。 そのおかげもあって「データ処理からのグラフ描画」というフローは、一般的なWEBアプリケーションの開発を担当しているエンジニアの方と比べると、少しばかり自信があります。 現在では、機械学習の領域から離れたということもあって、以前のような業務をすることはなくなりWEBアプリケーションの開発がメイン…

  • Elixirでシンプルなロードバランサーを実装してみた

    先日、Twitterを見ていると面白そうな記事が紹介されていました。 少し古い記事ですが、シンプルなロードバランサーをRustで実装してみたとのこと。凄いですね...。 qiita.com ロードバランサーと聞くと何やら難しそうなイメージがありますが、記事内で実装されているのは2種類のヘルスチェックを行うという非常にシンプルな仕様となっていました。 「これなら自分でも作れるかも...」と恐縮ながら、感じたので作ってみました。 記事ではRustが採用されているのですが、状態管理の排他制御にMutexを使用していますが、排他制御をあまり考えたくないのでElixirを採用しました。 また書き慣れてい…

  • Rubyでパフォーマンス(メモリ使用量・実行速度)を計測する

    先日、Rails製のアプリケーションのパフォーマンス検証をする機会がありました。 計測したいのはメモリ使用量と実行時間の2つです。後者の実行時間に関してはRubyが標準ライブラリとして提供しているbenchmarkを使えば事足りますが、前者のメモリ使用量となるとRubyでは計測する方法が限られてきます。 どうしたものかな...と調べていたところ、以下の記事を発見しました。 nishinatoshiharu.com Rubyでメモリ使用量を計測する2つの方法が紹介されています。 ObjectSpace.memsize_of_all: Rubyオブジェクトが使用するメモリの総量 rss: OSの1…

  • ロジクールのイェティXはとんでもない高性能マイクだった

    一週間前にロジクールのBlue Yeti Xというマイクを購入しました。 今まで通話にはiPhoneに付属してくるイヤホンマイクをずっと愛用しており、音質には全くこだわりがありませんでした。むしろ、iPhone付属のイヤホンマイクで十分だと思っています。 ただリモートワークでの音質向上、今後、ライブ配信なんかもしてみたいなぁ...と思い高音質のマイクを探していたところ、多くの方がオススメしており、レビューの評価も良いロジクールのBlue Yeti Xを選択しました。 元々はBlue Yetiを購入する予定だったのですが、最終的にはBlue Yeti Xを購入することにしました。 ロジクール G…

  • RubyでJSONパーサーを作ってみた

    最近、パーサーを実装したい欲が高まっています。 というのもRui Ueyamaさんの「低レイヤを知りたい人のためのCコンパイラ作成入門」を読み進めて、再帰下降構文解析をはじめとしてパワフルな実装に非常に魅力を感じているからです。 資料に合わせてCコンパイラを作るのは楽しいですが、どうしても写経になってしまうため、何か自分でパーサーを作りたいと思っていました。 先日はbullet.logをパースするgemを作成してリリースしましたが、あっさりと作れてしまったので、もう少し難易度の高いテーマを探していました。 www.okb-shelf.work どういうわけか「JSONファイルがいいんじゃ...…

  • 弊社の技術ブログに「OSSコードリーディング入門」を投稿しました

    先日、弊社の技術ブログに久しぶりに記事を投稿しました。 内容としてはOSSのコードを初めて読む人に向けて、どのような流れでコードを読んでいくのかを実際のOSS(gimei)を用いて紹介していくという記事です。 techlog.n2i.jp 本当は自分のブログに投稿したかった内容です。 とはいえ、チームのメンバーに「OSSのコードを読み始めるきっかけになってほしい」という思いで投稿しました。 ...というのも以前から、以下のような話をチームのメンバーから聞いていたからです。 OSSのコードを読んでみたい 実際に読むとなるとハードルが高くて、何からやればいいのか分からない コード量が多すぎてどこか…

  • JOIN高速化のためにインデックスを作成しても効果はないのか

    業務中に以前、自分が書いた記事を読み返す機会がありました。 www.okb-shelf.work JOINを使っているSQLを高速化できないかと思って新規インデックスの作成を検討をしていました。 ただし、過去の記事にも書いた通り「結合述語にインデックスを作成しても、ハッシュ結合のパフォーマンスは良くならない」という事実があります。 ただ、前回は知識として「そうなんだ」という理解をしたものの、実際にインデックスを作成前後で、JOINのパフォーマンスが変化しないことを確認までしていませんでした。自分の理解をより深めるために実際に計測してみたいと思います。 サンプルデータについて 以下2つのテーブル…

  • sidekiq.ymlファイルの文字列に環境変数を埋め込む

    sidekiq.ymlではERBがサポートされており、環境変数を指定することが可能です。 よく環境変数が使われるのは、並行度(concurrency)の値やタイムアウトの秒数などでしょうか。 :concurrency: <%= ENV.fetch('SIDEKIQ_CONCURRENCY', 10) %> こんな感じでsidekiq.yml内で、環境変数を扱うのは非常に簡単です。 ですが、文字列(値)に環境変数を埋め込むにはどうすれば良いのでしょうか。 今回、自分がやりたかったのはcronの設定値の実行間隔(分)の部分だけを環境変数から指定するというものです。 # 30...の箇所を環境変数か…

arrow_drop_down

ブログリーダー」を活用して、ぎょうざさんをフォローしませんか?

ハンドル名
ぎょうざさん
ブログタイトル
やわらかテック
フォロー
やわらかテック

にほんブログ村 カテゴリー一覧

商用