はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    Google I/O

『さんちゃのblog』

  • 人気
  • 新着
  • すべて
  • Ruby の zlib gem を pure Ruby で書き直す試み - さんちゃのblog

    3 users

    dawn.hateblo.jp

    RubyKaigi 2024 に参加しました。 dawn.hateblo.jp この記事でも参照していますが、"Breaking the Ruby Performance Barrier" という講演が非常にエキサイティングでした。 僕も YJIT の力を感じたくなり、zlib gem を pure Ruby で書き直してみて、C拡張に比べてどのぐらいパフォーマンスが出るか検証する、というのをちょっとづつ進めています。 zlib とは zlib は、Deflate (ZIP とか gzip とかで使われる圧縮アルゴリズム) を実装するライブラリです。 zlib - Wikipedia Ruby から zlib を利用する gem として zlib が存在します。 この gem は端から端まで C 拡張で記述されており、 ext/zlib/zlib.c にすべてのコードが記述されています(テ

    • テクノロジー
    • 2024/05/27 00:29
    • あとで読む
    • ABC size を可視化し、闇を払う - さんちゃのblog

      5 users

      dawn.hateblo.jp

      これは Ruby Advent Calendar 2022 の7日目の記事です。 TL; DR ABC size を可視化する abc_size_visualizer という gem を作りました。 こんな感じで、メソッドの各行がどれだけ ABC size の増加に貢献しているかを可視化する CLI ツールです。 赤が代入、黄色がメソッド呼び出し、青が条件式の数を表しています。 また、各行の末尾にある # <0, 2, 1> のようなコメントも abc_size_visualizer が付加したもので、それぞれ代入、メソッド呼び出し、条件式の大きさを表しています。 使い方 以下のコマンドでインストールできます。 $ gem install abc_size_visualizer そして、以下のコマンドで ABC size の可視化を実行します $ visualize_abc_size so

      • テクノロジー
      • 2022/12/07 08:40
      • Ruby
      • Minutus という mruby の Rust バインディングを作った - さんちゃのblog

        8 users

        dawn.hateblo.jp

        このところ、夏休みの自由研究として「mruby と Rust をいい感じにつなぎこむ」というのをやっていました。 github.com お盆休みのすべてを費やし、なんとか「実用可能」といえそうなレベル*1まで来たので、この記事で簡単に説明したいと思います。 (↓は Matz にリツイートされてとても嬉しかったツイート) めちゃくちゃいい感じに Rust から mruby の中身に手を突っ込めるようになった...(キモいという説はある) pic.twitter.com/WJzmSh2T8o — 𝘼𝙧𝙧𝙖𝙮-𝙨𝙖𝙣 (@genya0407) 2022年8月9日 Minutus とは Minutus は、Rust と mruby をいい感じに連携するためのライブラリです *2。 Minutus を使うと、Rust の中で mruby のスクリプトを eval できます。以下のよう

        • テクノロジー
        • 2022/08/14 20:38
        • techfeed
        • Ruby の拡張ライブラリを、Rust を使ってお手軽に実装する - さんちゃのblog

          4 users

          dawn.hateblo.jp

          magnus というcrate を利用すると、超簡単に Ruby の拡張ライブラリが実装できます。 具体的には、Rust 側の記述はこんな感じになります。 use magnus::{define_class, function, method, prelude::*, Error}; #[magnus::wrap(class = "Point")] struct Point { x: isize, y: isize, } impl Point { fn new(x: isize, y: isize) -> Self { Self { x, y } } fn x(&self) -> isize { self.x } fn y(&self) -> isize { self.y } fn distance(&self, other: &Point) -> f64 { (((other.x - s

          • テクノロジー
          • 2022/06/12 15:22
          • Rust
          • Ruby
          • スポットインスタンスで個人開発 Web サーバーを運用する技術 - さんちゃのblog

            3 users

            dawn.hateblo.jp

            趣味の Web アプリを廉価にデプロイしたい、という話題が最近盛り上がっています。 個人開発のコストはDB次第 - laiso 個人でWEB開発を15年くらいやってる者ですが 個人開発を黒字にする技術 - k0kubun's blog この記事では、最近の私の個人開発 Web サーバーの運用方法を簡単に説明します。 TL; DR AWS のスポットインスタンスを一台借りて、terminate されたときはいい感じに再起動する データ永続化用の EBS を別途マウントする そこに docker でアプリをたくさんデプロイして相乗りする DB も docker で立てる wildcard 証明書を取って、リバースプロキシに subdomain ベースでルーティング先のコンテナを振り分けさせる 料金は諸々合わせて $13/月 ぐらい 詳解 スポットインスタンス スポットインスタンス は、AWSか

            • テクノロジー
            • 2022/05/07 12:13
            • Rubyで設定を書けるLinux用キーマッパー 「rumap」をRustで作った - さんちゃのblog

              29 users

              dawn.hateblo.jp

              この記事は、 CAMPHOR- アドベントカレンダー 2020の8日目の記事です。 Rubyで設定を書けるLinux用のキーマッパーをRustで実装した話をします。 Rumap Rumap は Ruby DSLで設定を書けるLinux用のキーマッパーです(正確にはX Window System用)。 github.com キーマッパーとは何かというと、karabinarみたいなやつです。 つまり、キーボードの入力をなにか別の入力に変換するアプリケーションです。 例えば、以下のような設定ファイルを書いたとします。 remap 'Control-BackSpace', to: 'Delete' これを rumap に食わせて起動すると、 Control と BackSpace を同時押しすると、代わりにDeleteが入力されるようになります。 また、キー入力を変換するだけでなく、キー入力をトリ

              • テクノロジー
              • 2020/12/08 05:03
              • rust
              • Ruby
              • linux
              • 設定
              • techfeed
              • あとで読む
              • scanコマンドというcliツールを作った - さんちゃのblog

                6 users

                dawn.hateblo.jp

                scanコマンドというcliツールを作った。 GitHub - genya0407/scan scanコマンドは、標準入力の各行に対して正規表現を適用し、ほしい部分を取り出すコマンドだ。使い方は以下の通り。 $ scan --help Usage: scan [options] OUTPUT_FORMAT -p [PATTERN] specify regexp -d [DELIMITER] specify delimiter 使用例を見てもらったほうが早いだろう。 使用例 正規表現を適用する例 例えばこういうファイルがあったとする。 $ cat data.txt hogehoge_nyan hohho_nyan これに対して、アンダースコアの左だけを取り出す正規表現を適用するには、以下のようにする。 $ cat data.txt | scan -p "(.+?)_.+" {1} hogeh

                • テクノロジー
                • 2020/06/17 23:57
                • Ruby
                • 駆け出し建築家にHTMLの書き方を教えた話 - さんちゃのblog

                  6 users

                  dawn.hateblo.jp

                  この記事は CAMPHOR- Advent Calendar 2019 19日目の記事です。 "駆け出し建築家" にWebサイトの作り方を教えた話をします。 背景 僕にはTという友人がいる。高校生の時からの付き合いになる。彼は東京芸大の建築学科で勉強していた人で、今は海外の大学院に留学している。このTという人が、Webサイトの作り方を教えてほしいという話を持ちかけてきた。 Tは建築学科の学生だ。建築学科の学生は授業で「これこれのようなテーマで建築を考えなさい」というような課題をたくさん出されるらしい。そして彼らは、建築の模型やスケッチ、その説明文を制作して提出する。Tは、これらの模型の写真やスケッチ、文章を公開するためのWebサイトを作りたい、またそれとは別に、自分が書いた建築批評文や紀行文も公開したい、と考えていた。そして重要なことに、このWebサイトを作る際には、既存のブログサービスや

                  • テクノロジー
                  • 2019/12/19 00:37
                  • CAMPHOR-についてここらでひとこと言っておくか - さんちゃのblog

                    7 users

                    dawn.hateblo.jp

                    京都のIT系学生コミュニティ「CAMPHOR-(カンファー)」に私が出入りするようになったのは2016年の冬なので,足掛け4年ほどCAMPHOR-に関わっていたことになります. この記事では,CAMPHOR-について説明した後,私がCAMPHOR-に感じた魅力を語ります. ※この記事はポエムです CAMPHOR-とは何か CAMPHOR-とは,京都のIT系学生のコミュニティです.ここで「IT系学生」とは,主にエンジニアやデザイナーのことを指します*1. コミュニティの活動の場として,京大のすぐ近くにある町家を利用して,CAMPHOR- HOUSEという空間を提供しています*2. CAMPHOR- HOUSEは,週に2~3日ぐらい,大体15:00~18:00ぐらいの時間帯に開館しており*3,学生なら誰でも,事前の連絡なく自由に出入りできます. 開館時間には学生がやってきて,自分の作業をしたり

                    • 暮らし
                    • 2019/03/27 22:13
                    • 質問箱クローンをRustで作った話 - さんちゃのblog

                      54 users

                      dawn.hateblo.jp

                      1年ぐらい前に質問箱(peing.net)を真似て匿名質問サービスを作成しました. これに関して技術的な話と技術的でない話をします.技術的な話というのはRustでWebサービスを作る知見で,技術的でない話というのは質問箱を自分で運用するとどういう感じになるかという知見です. 作ったもの 背景 技術的な話 仕様策定 実装 Webフレームワーク "Rocket" に関する所感 ORM "Diesel" に関する所感 画像の生成 デプロイ Heroku さくらのVPS 速度について オマケ:技術的でない話 質問してくるユーザーの数は非常に少ない 自演するやつがいる 追記(2019/03/19) 作ったもの 質問お待ちしてます!!! ソースは公開しており,気持ち程度にREADMEも書いてあるので,あなたも自分のインスタンスを立てることができます. 背景 当初は "本家質問箱" を使っていたんですが

                      • テクノロジー
                      • 2019/03/13 18:54
                      • rust
                      • reing
                      • peing
                      • rocket
                      • heroku
                      • Web
                      • あとで読む
                      • tutorial
                      • ファストフード検索というサービスを作った - さんちゃのblog

                        49 users

                        dawn.hateblo.jp

                        この記事は CAMPHOR- Advent Calendar 13日目の記事です. 先日ファストフード検索というWebアプリを作ったので,そのことについて書きます. ff.kuminecraft.xyz 経緯 ちょっといいメシ屋を探すとき,僕はFoursquareというアプリを使います.Foursquareのスマホアプリを開くと「昼食」「カフェ」みたいなカテゴリーが表示され,いずれかを選択すると近隣のおすすめのお店のリストが表示されます. 便利に使っているのですが,Foursquareは "ちょっといいご飯" を教えてくれるサービスなので,例えばマクドナルドとか吉野家とは載ってません. しかし,僕はいつでもそういう気合の入った飯が食べたいわけではなく,どこで食っても同じ味がするファストフードを食いたいと思うこともあります.つまり,「ファストフード店に特化したFoursquare」みたいな概

                        • テクノロジー
                        • 2018/12/13 11:21
                        • webサービス
                        • あとで読む
                        • 高校の文化祭の食販の注文フローを電子化した話 - さんちゃのblog

                          38 users

                          dawn.hateblo.jp

                          この記事は CAMPHOR- Advent Calendar 2018 3日目の記事です. 高校の文化祭の食販の注文フローを電子するべくWebアプリケーションを作り,当時*1はWeb素人だったためクソ実装になったが,役には立ったという話をします. 背景 僕の母校の高校には,三年生が文化祭で食販をやるという慣習があり,僕のクラスはケバブを販売することになりました. 母校の家庭科の教員は衛生管理に大変厳しい人で,食販を行う場合は以下の条件を満たさないと許可が降りませんでした*2. 調理は調理室のみで行う(教室で調理してはいけない) 作り置きは禁止*3 これらの制約を満たすため,多くのクラスは以下のような流れで食販を行っていました. 教室で注文を受け,注文を何件か溜める 注文を持って調理室に向かう 注文を伝え,調理が完了するのを待つ 料理を運ぶ このフローには問題があります. まず,2に「調理室

                          • テクノロジー
                          • 2018/12/03 12:25
                          • システム
                          • あとで読む
                          • テクノロジー
                          • Python
                          • 文化
                          • アプリ
                          • 職人じゃないけどAAがしたい! - さんちゃのblog

                            11 users

                            dawn.hateblo.jp

                            作ったもの*1: https://image2aa.genya0407.net/ AA(アスキーアート)とは AA(アスキーアート)というのは、上の画像のように文字で書かれた絵のことです。一般には「AA職人」が職人芸で作ります。 元々は画像が貼れない2chで絵を表現するための手段だったと思われますが、近年はフォントの違いによって絵が崩れるのを防ぐためにAAの画像を貼るまとめブログなどもあるようです。 アスキーアートを自動で生成したい! AA作成には特殊な技術が必要なので、一般人はAAを作れません。 僕だって好きなキャラクターのAAを作りたいのに... AAを画像から生成できればいいのに... それRustでできるよ 画像からAAを自動生成するWebアプリ デモ 画像からAAを自動生成するWebアプリ *2 このWebアプリはRust言語で作成されています💪 GitHub - genya0

                            • テクノロジー
                            • 2018/02/03 20:06
                            • 「熊野寮生だけど質問ある?」 - さんちゃのblog

                              8 users

                              dawn.hateblo.jp

                              CAMPHOR- Advent Calendar 2017 の 7日目 の記事です。 CAMPHOR-運営メンバーの @genya0407 です。 熊野寮ネタばかりで恐縮ですが、「熊野寮生だけど質問ある?」というWebサービスを作った話をします。 「熊野寮生だけど質問ある?」とは? 「熊野寮生だけど質問ある?」は、熊野寮生に匿名で質問ができるWebサービスです。 質問を投げると熊野寮生から回答がつきます。 熊野寮祭の企画の一つとして作りました。 なんでこの企画をやろうと思ったの? Twitterでエゴサかける度に、みんな熊野寮のこと誤解してるんだなぁと感じます。 特にガサ入れ直後とかはひどくて、目を覆いたくなるようなツイートもたくさんあります。 これは、テレビで流れるのはガサの報道か「変人の巣窟」という観点のバラエティ番組ばかりで、そういう情報しか目に触れることがないことが大きな要因だと思

                              • テクノロジー
                              • 2017/12/07 12:44
                              • 熊野寮でコードを書いて感謝された話 - さんちゃのblog

                                31 users

                                dawn.hateblo.jp

                                CAMPHOR- Advent Calendar 2017 の 2日目 の記事です。 CAMPHOR-運営メンバーの @genya0407 です。 熊野寮でコードを書いて感謝された話をします。 熊野寮 僕は京都大学の自治寮である熊野寮に住んでいます。 ガサが来たり過激派が住んでたりしますが、基本的には自由で楽しいところです。 カーシェアリング 熊野寮にはカーシェアリングというサービスがあります*1。 これは、自動車を共有して安く利用しようというサービスです。会員登録をし、年会費を払い、乗った分だけ追加で料金を払います。 廉価に車を使えるので僕も利用しているのですが、割と昔からあるサービスということもあって理不尽な手作業を強いられることが多く辟易していました。 理不尽な手作業 理不尽な手作業とは何かというと、それは乗車の手続きのことです。 車に乗る時の手続きをまとめると、 乗ろうとしている車

                                • テクノロジー
                                • 2017/12/02 00:14
                                • いい話
                                • iter()とinto_iter()の違いを整理した - さんちゃのblog

                                  10 users

                                  dawn.hateblo.jp

                                  VectorをIteratorに変換する時にいつも混乱していたので整理した。 混乱 あるVectorの要素すべてを3倍するコードを考える。 fn main() { let vec1 = vec![1,2,3,4,5]; let vec2 = vec1.iter() .map(|i| i * 3) .collect::<Vec<i32>>(); println!("{:?}", vec1); println!("{:?}", vec2); } このコードはコンパイルできるが、以下のような疑問がある。 5行目で vec1はなぜ使えるのか? 3行目の vec1.iter()で使われているじゃないか! map(|i| i * 3)の iは参照なのか値なのか? これらの疑問に関する答えは、 iter()はVectorをmoveしない。into_iter()はVectorをmoveする。 iter()

                                  • テクノロジー
                                  • 2017/10/21 19:40
                                  • Rust
                                  • programming
                                  • 機能追加と同時にリファクタリングをしてもいいか - さんちゃのblog

                                    3 users

                                    dawn.hateblo.jp

                                    「機能追加と同時にリファクタリングをしてもいい」という記事がはてブに上がっていたので、思うところを述べる。 scrapbox.io 結論 機能追加とリファクタリングを同時にするのは 👍 機能追加とリファクタリングを混ぜてPRを出すのは 👎 問題意識 機能追加をするときにリファクタは避けられない。既存の処理を共通化して再利用して機能を追加した方が効率的だからである。 しかし、機能追加とリファクタが混ざったPRを出すのはダメだ。なぜなら、リファクタによって機能が失われていないかどうか確認するのが面倒になるからだ。 解決策 では、どうすればよいのか? 開発中はリファクタと機能追加を平行して行い、リファクタと機能追加のPull Requestを別々に出せば良いのである。 手順 この解決策を実行するには以下のようにする: 開発中はリファクタと機能追加を同時並行で行い、適宜コミットする。 PRを作

                                    • テクノロジー
                                    • 2017/10/09 00:47

                                    このページはまだ
                                    ブックマークされていません

                                    このページを最初にブックマークしてみませんか?

                                    『さんちゃのblog』の新着エントリーを見る

                                    キーボードショートカット一覧

                                    j次のブックマーク

                                    k前のブックマーク

                                    lあとで読む

                                    eコメント一覧を開く

                                    oページを開く

                                    はてなブックマーク

                                    • 総合
                                    • 一般
                                    • 世の中
                                    • 政治と経済
                                    • 暮らし
                                    • 学び
                                    • テクノロジー
                                    • エンタメ
                                    • アニメとゲーム
                                    • おもしろ
                                    • アプリ・拡張機能
                                    • 開発ブログ
                                    • ヘルプ
                                    • お問い合わせ
                                    • ガイドライン
                                    • 利用規約
                                    • プライバシーポリシー
                                    • 利用者情報の外部送信について
                                    • ガイドライン
                                    • 利用規約
                                    • プライバシーポリシー
                                    • 利用者情報の外部送信について

                                    公式Twitter

                                    • 公式アカウント
                                    • ホットエントリー

                                    はてなのサービス

                                    • はてなブログ
                                    • はてなブログPro
                                    • 人力検索はてな
                                    • はてなブログ タグ
                                    • はてなニュース
                                    • ソレドコ
                                    • App Storeからダウンロード
                                    • Google Playで手に入れよう
                                    Copyright © 2005-2026 Hatena. All Rights Reserved.
                                    設定を変更しましたx