chevron_left

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

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

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

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

2023/01/11

arrow_drop_down
  • RubyでGUIが触れるglimmer-dsl-libuiの紹介と内部実装について

    先日、SubscribeしているRuby Weeklyからメールが届きました。 何やらRubyでGUIが触れる「glimmer-dsl-libui」たる、とても面白そうなgemが紹介されていました。 このgemは福岡Ruby2022でスペシャルアワードを受賞しており、とても注目されているgemのようです。 github.com GUIを触ろうと思うと、低レイヤーが扱える言語が対象に上がるイメージがありますが、何とRubyでGUIが作れてしまう...というのが驚きです。 どんなgemなのか気になったので少し触ってみました。 gemのインストールのみでGUIが作れる 何よりも驚いたのがglimme…

  • 知ってるようで知らない$PATHについて調べてみた

    プログラミングを始めたばかりの頃、Python3をインストールするべく環境構築に取り組んでいました。 その際によく見かけたのは「パス($PATH)を通す」という言葉です。当時の自分には何のことだか全く分からず「なんでプログラミングのインストールにバスケじゃあるまいし、パスが必要なんだろう...」と思ったものです。 今になっては、なぜパスを通す必要があるのか理解しているつもりです。 しかし、実際にどのように環境変数$PATHが使われているのかまでは知りません。 何かしらのコマンドをインストールする際にどうしても流れ作業的に$PATHを通しているので、あまり深く考えたことがありませんでした。 今回…

  • RubyでgRPCをサクッと試してみた

    最近はマイクロサービスを検討することが多いです。 マイクロサービスにおいて、よく問題となるのはサービス同士のやりとりをどのように行うかです。オーソドックスな選択肢としてはAPIを作成してHTTP通信で呼び出すという方法が候補に上がりますが、リクエスト数・量が増えてくれば、通信のオーバーヘッド、データ効率といった点で苦しくなってきます。 次に選択肢に上がるのはRPC、近年だとHTTP2を使用するgRPCでしょうか。 HTTP通信と比べると通信のオーバーヘッドも少なく、データ効率が良いため頻繁にやりとりが必要となるマイクロサービスとの相性が良いとされています。ただ、RubyでgRPCを使う...と…

  • 今更ながら「オブジェクト指向でなぜ作るのか」を読んだ

    今年は昨年度と比べるとあまり技術書を読んでいませんでした。 というのも今年はとにかくコードを書くこと、実装をすることに重きを置いていたからです。ただ、最近、活字が頭にスッ...と入ってこないのを自覚しており、読書リハビリしないとダメだなと思っていました。 そんな中、いつものように書店を徘徊していると名著「オブジェクト指向でなぜ作るのか」と目が合いました。 オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識作者:平澤 章日経BPAmazon 何か運命的なものを感じたので、即購入しました。 しばらく積読していたのですが、先日から読み始めた所、内容が面白く…

  • MarkdownパーサーをWeb Assemblyにして公開しました

    先日、以下の記事を公開しました。 タイトルの通り、Golangを使ってMarkdownをHtmlに変換するパーサーを作ってみたよ〜という記事です。 www.okb-shelf.work ただモノを作ったのに公開しないのはもったいないな...と思ったのでGolangのコードをWeb Assemblyに変換して、github pagesにデプロイしました。今回は、デプロイしたモノの紹介とWeb Assemblyを選択した理由について書きたいと思います。 公開したもの 作りは非常にシンプルで画面上部にMarkdownを記述するテキストエリアがあります。 ここへMarkdown形式のテキストを記入して…

  • Markdownをhtmlに変換するパーサーを作った

    最近はパーサーの実装にハマっており、直近だとRubyでJSONパーサー(json形式のテキストをRubyのハッシュに変換)を作りました。 www.okb-shelf.work 少し間が空いてしまいましたが、今回はMarkdown形式のテキストをhtmlに変換するパーサーを作ってみました。 本当はもっと早く記事にできる予定だったのですが、実装にかなり手間取っていました。3日もあれば完成するだろう...と思っていたものの、結果的に2週間もかかってしまいました。 今までRubyを使って実装してきましたが、今回は気分転換のためにGolangを選択しました。 久しぶりにGolangをゴリゴリと書けたので…

  • Rails7.10にて提案した内容がリリースされた

    少し前にはなりますが、RailsのDiscussionに問題提起を行いました。 その後、Discussionで「Issueを作成して良いよ〜」とお許しを頂いたのでIssueを作成した所、修正PRが作成されてマージされるという...とんでもない出来事がありました。 www.okb-shelf.work とはいえマージされたものの、リリースはされていませんでした。 いつリリースされるのかな...と思い最新のRails7.10のリリースノートを見ていたら、なんと対応がリリースされていました! 変更について リリースノートを見ながらコードの差分を確認してみました。 Rails7.0.8の時点では、該当…

  • PNGファイルの中身(バイナリー)を覗いてみる

    みなさんはバイナリデータの中身を覗いたことがありますか。 僕は普段、WEBアプリケーションの開発に携わっているのですが、どうしてもこういった領域とは接点がありません。一度、WireSharkというアプリケーションを使って自身のPCから外部に送信されているパケット(バイナリデータ)の中身を覗いたことがあるぐらいです。 先日、システムコールを使ってTCPサーバーを実装したように、最近は触れたことのない領域にトライしています。 今回はPNGファイルを読み込んで、中身を覗いてみたいと思います。 具体的にはPNGファイルを指定バイトずつ読み込んで、どんな値が指定されているのかを確認していきます。 PNG…

  • 無印良品の白桃グリーンティーが廃盤になっていた

    無印良品から発売されている「白桃グリーンティー」が好きでよく飲んでいました。 ところが先日、白桃グリーンティーのストックがなくなってしまったので、無印に買いに行くと...なんと白桃グリーンティーがどこにもありません。 無印は突然、商品を廃盤・パッケージチェンジすることがあります。 もしかしたら白桃グリーンティーが廃盤になってしまったのかもしれません...。

  • TCP経由で音声(mp3)を配信してクライアントで再生させてみた

    以前、システムコールを利用して簡単なTCPサーバーを実装しました。 www.okb-shelf.work hello worldという文字列が返るだけのジンプルな実装になっていましたが、他にも音声や動画といったデータをTCPを通じて送れるのか気になりました(...送れると思います)。 現代ではYouTubeやSpotifyといった音声・動画を配信するサービスが多くなりましたが、同じようなことが自分の実装で可能なのでしょうか。 今回は実装したTCPサーバーを拡張して音声ファイルを配信してみようと思います。 できたもの コード量が増えてきたのでGithubにて公開しました。 前回と同じようにサーバ…

arrow_drop_down

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

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

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

商用