タグ

ブックマーク / shugo.net (7)

  • Journal InTime(2023-12-20)

    タグ 250DUKE | Debian | FreeBSD | JavaScript | KLX125 | Linux | Mac | MAZDA3 | Mournmail | Rails | Ruby | tDiary | Textbringer | Viterbi | XPS13 | エクシーガ | キーボード | 会社 | 家 | | 車 最近の記事 2023-03-27 1. ACアダプターの抜き差し時に電源モードを変更する 2023-01-04 1. HiDPI/LowDPIのマルチディスプレイ環境で期待通りのスケーリングが行われない 2023-01-03 1. Ubuntu 22.04でのハイバネーション 2. Ubuntu 22.04のibus-mozc起動時の入力モードをひらがなにする 2022-12-29 1. T14 Gen 3のSSD換装・メモリ増設とUbuntu

    katsyoshi
    katsyoshi 2023/12/20
    ほほー
  • Rubyで理解する統計解析の基礎: 1章〜2章 - Journal InTime(2022-10-28)

    _ Rubyで理解する統計解析の基礎: 1章〜2章 サンプルコードをRubyで書き直しつつPythonで理解する統計解析の基礎を読んでいる。 Python版のサンプルのforkにRuby版のnotebookを追加していく予定だけど、途中でRubyで書き直すのは挫折しそうな気が……。 環境 ruby 3.2.0dev (2022-09-26T05:44:54Z master a8ad22d926) [x86_64-darwin21] iruby-0.7.4 numo-narray-0.9.2.1 numo-gsl-0.1.2 daru-0.3 charty-0.2.12 1章(notebook) numpyの代りにnumo、pandasの代りにdaruを使用してだいたい問題なかった。 ただ、index_col相当の機能がDaru::DataFrame.from_csvにない(多分)せいで、

    katsyoshi
    katsyoshi 2022/10/29
    オッやっとるな
  • Rubyで遅延評価 - delay, force, lazy - Journal InTime(2012-04-11)

    _ Rubyで遅延評価 - delay, force, lazy 正格評価の言語で明示的に遅延評価を行う方法として、Schemeのdelay/forceがある。 Rubyで実装するとこんな感じ。 class Promise NULL = Object.new def initialize(&block) @value = NULL @block = block end def self.delay(&block) new(&block) end def force if @value == NULL @value = @block.call else @value end end end count = 0 x = Promise.delay { count += 1; 1 + 2 } p x.force #=> 3 p x.force #=> 3 p count #=> 1 メモ化してく

    katsyoshi
    katsyoshi 2022/10/04
  • RubyKaigi 2022に参加してきた - Journal InTime(2022-09-10)

    _ RubyKaigi 2022に参加してきた 3年ぶりにTakeoutではない開催となったRubyKaigiに参加してきた。 島根↔三重は交通が不便なので、羽角さんと一緒に車で行くことにした。 行きはスムーズに到着して津駅西口の大観亭支店でRubyKaigiがはじまった。 あっさりした味付けで皮がぱりっとしていておいしかった。支店の方がうまいという噂を聞いて支店に行ったけど結局店には行けなかったので真偽はわからない。 発表で印象に残ったのはささださんのMaNy threads。 M:NスレッドのOSサポートは廃れたという話があったけど、SolarisもFreeBSDもとっくに1:1になってたんだなあ。 dedicated宣言をアプリケーション側でやるのは難しそうなので、ライブラリ側でやることになるのかな。 Fiber schedulerとの棲み分けも気になるけど、いずれにせよコールバッ

    katsyoshi
    katsyoshi 2022/09/28
  • Viterbiビルドログ(前編) - Journal InTime(2018-01-17)

    _ Viterbiビルドログ(前編) 原君が企画した自作キーボードパーツ共同購入に乗っかって、Viterbiというキーボードを作成しているので、組み立ての手順を記録しておく。 左側の組み立て PCBは左右共通で、上側にする面を左側(マスター)と右側(スレーブ)で反対にするようになっている。 左側はTRRSジャックが右寄りになるが、Pro MicroやTRRSジャック、リセット用スイッチなどは裏面に付けることになる。 ダイオードをはんだ付けする。おそらく表面に付けても問題なさそうだが、裏面に付けた。ダイオードの向きは黒い方を四角の部分に向けないといけないので注意。 TRRSジャック、リセット用スイッチ、I2C用の抵抗をはんだ付けする。I2C用の抵抗は左右どちらのPCBに付けてもよいようだが、左側にしておいた。I2Cジャンパーもはんだ付けしたが、こちらは片側だけでよいのか不明なので、とりあえず

    katsyoshi
    katsyoshi 2018/08/27
    ケース自作なの…
  • RedisのPub/Subの遅いsubscriber問題 - Journal InTime(2014-06-29)

    _ RedisのPub/Subの遅いsubscriber問題 RedisのPub/Subを試していて、subscriber側の受信が遅いとredis-server上のキューが伸び続けて、メモリ使用量が増大し続けてしまう問題にはまった。 以下のようにひたすらpublisher側でひたすらデータを送るようにしておいて、 require "redis" require "json" redis = Redis.new(timeout: 0) redis.subscribe("foo") do |on| on.message do |channel, msg| i = msg.slice(/(\d+):/, 1) p i sleep(1.0) end end subscriber側で以下のようにsleepすると、どんどんredis-serverが太っていく。 require "redis" req

    katsyoshi
    katsyoshi 2014/06/29
  • Rubyコーディング規約

    はじめに 文書は、Rubyによりコーディングを行う際の規約について述べる。 実際のプロジェクトに適用する際には、このコーディング規約をカスタ マイズして用いることを推奨する。 ソースコードの整形 インデント プログラムを読みやすくするため、インデントを適宜行う。インデント 幅は2とする。また、インデントにはスペースのみを使用し、タブは使用 しない。(環境によりタブ幅が異なるため。) 例: if x > 0 if y > 0 puts "x > 0 && y > 0" end end 一行の桁数 一行の桁数は最大80桁までとする。 空行 複数のクラスの区切には空行を挿入する。 例: class Foo ... end class Bar ... end 誤った例: class Foo ... end class Bar ... end また、クラス内の各構成要素の区切にも空行を挿入する。

    katsyoshi
    katsyoshi 2013/12/05
    意外と新しい
  • 1