genya0407's articles

/さんちゃのブログ/さんちゃのブログ 2nd/genya0407 - Qiita/

スポットインスタンスで個人開発 Web サーバーを運用する技術

趣味の Web アプリを廉価にデプロイしたい、という話題が最近盛り上がっています。 個人開発のコストはDB次第 - laiso 個人でWEB開発を15年くらいやってる者ですが 個人開発を黒字...
Detail

「ハイパフォーマンスブラウザネットワーキング」を読んだ

ISUCON11を振り返る - さんちゃのblog に書いたとおり、ブラウザ・HTTP周りの知識の少なさを感じていた。この問題を解決するために、「ハイパフォーマンスブラウザネットワーキング」を読んだ。 ...
Detail

自宅の最強の加湿器、あるいは私は如何にして心配するのを止めて加湿器を起動するようになったか

最強の加湿器 世の中には「最強の加湿器」を作った人がいる。 最強の加湿器を作った from Arata Sato www.slideshare.net 曰く、「最強の加湿器」は湿度を自動で適切な...
Detail

ブラウザオンラインゲームを Ruby on Rails で作る

この記事は、CAMPHOR- Advent Calendar 2021の21日目の記事です。 Ruby on Rails に hotwire-rails という gem を導入すると、ブラウザ・サーバー...
Detail

ISUCON11を振り返る

@ebiebievidence と @uni745e の2人と一緒に「ここにチーム名を入れる」というチームを組んで、ISUCON11に出場しました。 結果は予選敗退、最高スコアは45180、最終スコア...
Detail

メソッドチェーンとダラー演算子とパイプライン演算子に対する気持ち

tl;dr ダラー演算子,メソッドチェーン,パイプライン演算子は,「関数を次々に適用するとネストが深くなってしまう」という問題を解決する. disclaimer これは個人の気持ち(ポエム)であり...
Detail

職人じゃないけどAAがしたい!

作ったもの*1: https://image2aa.genya0407.net/ AA(アスキーアート)とは AA(アスキーアート)というのは、上の画像のように文字で書かれた絵のことです。一般...
Detail

ホットデプロイを実現する2つの方法

Webアプリケーションのデプロイが始まってからデプロイが終わるまでの数分間、ユーザーはそのWebアプリを使い続けることはできるのでしょうか? この記事では、デプロイ中もユーザーがWebアプリを使い続…...
Detail

「はじめて学ぶソフトウェアのテスト技法」を読んだ

よく考えてみたら「テスト」について勉強したことなかったなと思って、本を読んでみた。 はじめて学ぶソフトウェアのテスト技法作者:リー・コープランド発売日: 2005/11/03メディア: 単行本 本の...
Detail

Rubyで設定を書けるLinux用キーマッパー 「rumap」をRustで作った

この記事は、 CAMPHOR- アドベントカレンダー 2020の8日目の記事です。 Rubyで設定を書けるLinux用のキーマッパーをRustで実装した話をします。 Rumap Rumap は R...
Detail

Rubyの「ブロック」を理解する

Rubyのブロックを雰囲気で使ってる人に向けて、ブロックの使い方を整理する。 ブロックとはなにか ブロックは「処理の集合体」です。無名関数とかラムダ式とかクロージャのようなものです。 例: # ...
Detail

標準入力からヒストグラムを描画するCLIツールを作った

標準入力をいい感じにヒストグラムにするCLIツールを作りました。 GitHub - genya0407/hist インストール Releases · genya0407/hist · GitHub...
Detail

ブログを移転し、ブログを集約するページを作った

ブログを移転した ブログを移転しました。 https://genya0407.github.io/ Atomフィードもあるので、僕のブログを継続的に読みたい人がいたらRSSリーダーに登録してくださ...
Detail

画像入りzipを人物認識してエクセルに変換する「マイクロサービス」を作った

概要 例の建築家の同期が、動画に映る人の位置を1秒ごとに目視で認識するという虚無作業をしていたので、自動化するWebアプリ的なものを作りました。 github.com 使い方 まず、人物認識した...
Detail

scanコマンドというcliツールを作った

scanコマンドというcliツールを作った。 GitHub - genya0407/scan scanコマンドは、標準入力の各行に対して正規表現を適用し、ほしい部分を取り出すコマンドだ。使い方は以下...
Detail

ISUCON10を振り返る

ISUCON10を振り返ります...
Detail

駆け出し建築家にHTMLの書き方を教えた話

この記事は CAMPHOR- Advent Calendar 2019 19日目の記事です。 "駆け出し建築家" にWebサイトの作り方を教えた話をします。 背景 僕にはTという友人がいる。高校生...
Detail

Rubyのキーワード引数にto_hashを実装するオブジェクトを渡すとキーワード引数として展開される

TL;DR Rubyにおいて、キーワード引数を取るメソッドには、to_hashメソッドを実装しているオブジェクトを渡すことができて、キーワード引数として展開して解釈される。 キーワード引数とは d...
Detail

使い捨てMySQL環境の作り方

Webアプリの開発時などに使える「使い捨てMySQL環境」の作り方を解説します。...
Detail

ISUCON9に参加した

ISUCON9に参加したログです...
Detail

builderscon tokyo 2019の感想

builderscon tokyo 2019の感想です...
Detail

『Linux-DBシステム 構築/運用入門』 読了

『Linux-DBシステム 構築/運用入門』を読了したので、その感想や関連した諸々について書きます。...
Detail

使い捨てPostgreSQL環境の作り方

Webアプリの開発時などに使える「使い捨てPostgreSQL環境」の作り方を解説します。...
Detail

Rubyのしくみ 読了

「Rubyのしくみ」を読みました。この記事では、「Rubyのしくみ」がどのような本なのかという紹介と、僕がこの本を読んで得た感想について書きます。...
Detail

差をつけるRuby

Rubyを楽しむために Rubyは、奥が深い言語です。覚えゲーともいいます。 Rubyは、いろんな機能を覚えるとキレイに書けて気持ちがいいです。 キレイに書けるとRubyが楽しくなります。 Rub…...
Detail

Effective Ruby 読了

Effective Rubyを読みました。この記事では、Effective Rubyがどのような本なのかという紹介と、僕がこの本を読んで得た感想について書きます。...
Detail

SinatraでaタグからPUTリクエストを投げる

Ruby on Railsで記述したWebアプリケーションでは,ERBファイルになどと記述することにより,aタグがクリックされたときにPUTリクエストを投げることができます.POST,DELETEに関し...
Detail

トップレベルスタイルSinatraの起動プロセス

Sinatraのトップレベルスタイルで書かれたWebサーバーが,どのように起動するのかを解説します. トップレベルスタイル とは、以下のような書き方のことを指します: require 'sinatr...
Detail

「熊野寮で電子化した話」というタイトルでLTした

bit-valley.jp 先日BIT VALLEY 2018というイベントがあり、そのAFTER PARTY(懇親会)で「熊野寮で電子化した話」というタイトルでLTをした。 これがその時のスライド。...
Detail

質問箱クローンをRustで作った話

1年ぐらい前に質問箱(peing.net)を真似て匿名質問サービスを作成しました. これに関して技術的な話と技術的でない話をします.技術的な話というのはRustでWebサービスを作る知見で,技術的でない...
Detail

高校の文化祭の食販の注文フローを電子化した話

この記事は CAMPHOR- Advent Calendar 2018 3日目の記事です. 高校の文化祭の食販の注文フローを電子するべくWebアプリケーションを作り,当時*1はWeb素人だったためクソ...
Detail

PNGの規格を簡単に説明する

PNGの規格を勉強する機会があったので、その内容を簡単に説明します*1。 PNGはいくつかの"チャンク"が集まって構成されています。例えば、IHDRチャンクやIDATチャンク、PLTEチャンクなどがあ...
Detail

CAMPHOR-についてここらでひとこと言っておくか

京都のIT系学生コミュニティ「CAMPHOR-(カンファー)」に私が出入りするようになったのは2016年の冬なので,足掛け4年ほどCAMPHOR-に関わっていたことになります. この記事では,CAMP...
Detail

機能追加と同時にリファクタリングをしてもいいか

「機能追加と同時にリファクタリングをしてもいい」という記事がはてブに上がっていたので、思うところを述べる。 scrapbox.io 結論 機能追加とリファクタリングを同時にするのは 👍 機能追加...
Detail

寮外の人でも楽しめる熊野寮祭の企画

熊野寮祭において、寮生でなくても楽しめる企画を列挙し、概要を説明します。 熊野寮祭とは 熊野寮祭とは、京都大学の学生自治寮である熊野寮が毎年開催している祭りです。例年11月末〜12月初頭まで開催され...
Detail

「熊野寮生だけど質問ある?」

CAMPHOR- Advent Calendar 2017 の 7日目 の記事です。 CAMPHOR-運営メンバーの @genya0407 です。 熊野寮ネタばかりで恐縮ですが、「熊野寮生だけど質問...
Detail

ファストフード検索というサービスを作った

この記事は CAMPHOR- Advent Calendar 13日目の記事です. 先日ファストフード検索というWebアプリを作ったので,そのことについて書きます. ff.kuminecraft.x...
Detail

Pythonのコレクション操作をメソッドチェーンでやる

以前このような記事を書いた. dawn.hateblo.jp 詳しくはそちらを読んでいただくとして,Pythonのコレクション操作がイケてないという気持ちが僕にはある*1. しかし,Pythonには...
Detail

iter()とinto_iter()の違いを整理した

VectorをIteratorに変換する時にいつも混乱していたので整理した。 混乱 あるVectorの要素すべてを3倍するコードを考える。 fn main() { let vec1 = v...
Detail

PNGを端末に表示するプログラムをRustで書いた

PNGを端末に表示するプログラムを作りました。 github.com 使い方 cargo run /Path/to/Windows_logo.png とすると、👇のように端末に画像が表示されま...
Detail

熊野寮でコードを書いて感謝された話

CAMPHOR- Advent Calendar 2017 の 2日目 の記事です。 CAMPHOR-運営メンバーの @genya0407 です。 熊野寮でコードを書いて感謝された話をします。 熊...
Detail

MySQLの中身を時系列プロットするワンライナー

MySQLに入ってるデータの傾向をグラフで見たい、しかしgrafanaとかkibanaとかは導入したくないし、グラフを描画するプログラムを書くなんて論外という事があると思います。 そういうときにおすす...
Detail