いものやま。

雑多な知識の寄せ集め

技術

Pythonの四捨五入で四苦八苦した話。(その3)

前回のあらすじ:Rubyの四捨五入すごい。PyPIにあったパッケージどれもダメ。 Rubyでの四捨五入のアルゴリズム さて、そんなわけで、Pythonがどうしようもなかったので、なぜか誤差なく四捨五入できてたRubyでの実装を調べてみた。 Rubyでの四捨五入は、nume…

Pythonの四捨五入で四苦八苦した話。(その2)

前回のあらすじ: Pythonのビルトインのround()は普通の四捨五入とは違う偶数丸めというものだったので、floor()を使って普通の四捨五入を実装したよ。 誤差との戦い と、まぁ普通はここまでなんだけど、いろいろ試すと「あれ?」ってなるケースが出てくる。…

Pythonの四捨五入で四苦八苦した話。(その1)

Pythonの四捨五入は、実は普通の四捨五入になってない。 なので、普通の四捨五入をするにはちょっとコードを書く必要があったりする。 ただ、その過程でかなり苦労があったので、同じような苦労をする人がいないようにパッケージにまとめてPyPIに上げておい…

『withのススメ』というLTをしてみた。

5/25(水)に、株式会社ラクスさんの主催する勉強会「Python Tips LT会 - vol.3」でLT登壇してみた。 話したのは『withのススメ』というLT。 まぁ、Pythonの話をしつつ、ホントにしたいのはRubyはいいぞっていう話だったりするけどw ちなみにwith文はもっと使…

オブジェクト指向と関数型の話。

「たまにはLTやろうぜ」というイベントがあったので参加してLTしてきた。 スライドはこちら: なお、前回の記事(『オブジェクト脳への一歩』というLTをしてみた。 - いものやま。)で、「そもそも関数型と対比されるべきは手続き型で、オブジェクト指向では…

『オブジェクト脳への一歩』というLTをしてみた。

株式会社ラクスさんの主催する勉強会で「リーダブルコード LT会 - vol.3」というのがあったので、LT登壇してみた。 話したのは『オブジェクト脳への一歩』というLT。 オブジェクト指向の本はいろいろあるけど、一番の入り口である「処理から考え始めるんじゃ…

簡単な組版ツールを作ってみた。

技術同人誌を書こうとすると必要となるのが組版。 これまではを使ってきたけど、いろいろとツラいので、もっと使いやすい組版システムが欲しいなと。 そんな想いを書いたのが技書博5で出した『TeXグッバイしたい本 vol.0』というコピー本。 この本自身、は使…

薄い本はいいぞ。

この記事は技術同人誌・商業執筆 Advent Calendar 2021 - Adventarの4日目です。 昨日はさっぴー川原さんの2021年の技術同人活動を振り返る #技書博 #技術書典 - 人生100年!生涯エンジニア人生!でした。 明日はあおやぎさんの2021年の BLACK FTZ | トドの日…

未踏ジュニア2021年度最終成果報告会を見てみた。

未踏ジュニアの最終成果報告会が11/3(祝)にあったので、今年も見てみた。 動画は以下から: 去年、一昨年の記事は以下から: 感想 毎年同じこと言っていてなんだけど、やっぱり今年も面白かった。 レベルの高さに毎年驚かされるよね。 そんな中でも特に言及…

私のコード履歴書。(その3)

前回の続き。 個人開発 そんなわけで組込み向けのIDEの開発をやってたんだけど、いろいろあって辞めて、個人開発をやったりもした。 その様子はこのブログの過去記事でも書いたりしてる。 この期間にまずやったのは、Rubyをもっと本格的に学ぶということ。 R…

私のコード履歴書。(その2)

前回の続き。 大学(後半)〜大学院 そんなわけでPerlでいろいろ遊んでたんだけど、世間はオブジェクト指向だってことでJavaも勉強したりした。 時期的にはジェネリクスや拡張for文が導入されたり、AWT&AppletからSwing&Java Web Startへ移行したりという時…

私のコード履歴書。(その1)

技術書典で買った『失敗プログラマー 第2版』を最近読んだ。 その中で「私のコード履歴書」というのがあり、著者がプログラミングを始めてからどんなものを書いてきたかを列挙してるんだけど、これが面白かった。 そこで、自分もコード履歴書を書いてみよう…

もうPythonで迷わないために。(まとめ)

これまでの各記事は、以下から。 どのPythonを使うべきか もうPythonで迷わないために。(その1) - いものやま。 仮想環境はどうすべきか もうPythonで迷わないために。(その2) - いものやま。 開発環境はどうすべきか もうPythonで迷わないために。(そ…

もうPythonで迷わないために。(その4)

前回は開発環境としてJupyterLabを使う話を書いた。 今回はプロジェクトの構成について。 プロジェクト構成 RubyであればBundlerで標準化されているのでプロジェクト構成をどうしようとか迷う必要はないんだけど、Pythonはそうではないので迷う。 ちょっと調…

もうPythonで迷わないために。(その3)

前回はPythonの仮想環境について書いた。 今回は開発環境について。 JupyterLab 実際のところ、開発環境は好みもあるので、「絶対にこれを使うべきだ」というのはない。 vimなどのエディタがあれば十分という人もいるだろうし、一般的に人気のあるVSCodeや、…

もうPythonで迷わないために。(その2)

前回はどのPythonを使うべきか書いた。 今日はPythonの仮想環境について。 Pythonの仮想環境について 単に「仮想環境」といった場合、たとえば古くはVMWareやVirtualBox、あるいはQEMU、最近だとDockerのように、ホストOSの上にゲストOSを載せ、まるで独立し…

もうPythonで迷わないために。(その1)

データ分析しようと思ったらデファクトスタンダードになっているのがPython。 実際、データ分析に使えるライブラリも充実しているし、Jupyterという使い勝手のいい環境もある。 言語自体も(洗練されてはいないけど)シンプルで、流行っているので本やWeb上…

Googleスライド左下見えない問題に対処してみた。

Googleスライドはブラウザさえあれば使えるので、愛用してる人も多いはず。 自分も仕事でとてもお世話になっている。 ただ、一つ困ったことが。 そう、『Googleスライド左下見えない問題』。 プレゼンテーションをやっているとき、左下の方にカーソルを持っ…

天体ショーを整数計画問題で解いてみた。

ペンシルパズルの「天体ショー」を整数計画問題として定式化してソルバーを使って解いてみた。 これは数理最適化 Advent Calendar 2020の19日目の記事です。 天体ショー ペンシルパズルだとピクロスや数独が有名だけど、天体ショーもその一つ。 いろいろなペ…

未踏ジュニア2020年度最終成果報告会を見てみた。

去年の未踏ジュニアが面白かったので、今年も見てみた。 去年の記事は以下: 感想 去年に引き続き、今年の発表もとても面白かった。 オンラインということでいろいろ大変だったと思うけど、YouTubeやTwitterのコメント、質問もちゃんと拾われていて、とても…

『Rubyで作る奇妙なプログラミング言語 ヘンな言語のつくりかた』を読んでみた。

先週、『自作プログラミング言語の集い』という勉強会に参加してみた。 そこで紹介されてた『Rubyで作る奇妙なプログラミング言語 ヘンな言語のつくりかた』という本が面白そうだったので、買って読んでみた。 Rubyで作る奇妙なプログラミング言語 ~ヘンな…

プログラミングは名が命。

「プログラミングをするとき、何に気をつけるべきか?」という質問に対して、自分が思っているのは「命名を大切にする」こと。 プログラミングというのは、モヤモヤしている概念(操作なども含む)を抽出して明確にし、そこに名前をつけていくことだと思って…

GCPのText-to-Speechでストレッチ音声を作ってみた。

きっかけ 一日中パソコンに向かってることが多いので、とにかく首と肩のコリが酷い。 おそらくそれが原因で頭痛がすることも。 さらに最近は外出も自粛してるので、腰や脚の方にもけっこうコリが出ていた。 一応、整体には通っているものの、対処療法という…

なぜ仕様変更は納期直前にやってくるのか。

ITちびまる子ちゃん Twitterで「#ITちびまる子ちゃん」というタグが流行ってて、これがなかなか面白い。 「まるちゃん、今はサーバよりクラウドなのよ」 #ITちびまる子ちゃん pic.twitter.com/yJ6GdgWntk— Lucifer-Alpha (@LuciferAlpha) 2020年6月11日 こん…

『Python実践データ分析100本ノック』を読んでみた。

『Python実践データ分析100本ノック』がいい本だったので、紹介したい。 Python実践データ分析100本ノック作者:下山 輝昌,松田 雄馬,三木 孝行発売日: 2019/09/27メディア: 単行本 概要 この本は、実務で実際にありそうなシーンを対象として、どういったこと…

ABC166を復習してみた。

ABC164、ABC165の復習がまだできてないんだけどABC166は簡単めだったので先に復習した。 A. A?C 場合分けして出力するだけ。 s = gets.chomp puts (s == 'ABC') ? 'ARC' : 'ABC' B. Trick or Treat もらったお菓子の数を保持しておいて、最終的に0だった子の…

ABC163を復習してみた。

最近、AtCoderに参戦してる。 これはアルゴリズム実技検定(PAST)を受けてみようと思ったのがキッカケ。 PASTの結果は63点でギリギリ中級だったんだけど、やはり経験値が足りてないなぁという感じ。 なので、ほぼ毎週開かれてるAtCoder Beginner Contest (…

自動生成パスワードで暗号化ZIPを作るツールを作ってみた。

技術書のPDFを頒布するときによく使われるのが、以下の方法: PDFを暗号化されたZIPファイルにする 暗号化されたZIPファイルをBOOTHなどに置く ダウンロードカードなどでダウンロードURLと解凍するためのパスワードを伝える このとき便利な、パスワードを自…

スロー空手ストレッチの紹介。

2020年にやっていきたいこと。 - いものやま。でちょっと書いたスロー空手ストレッチの紹介。 スロー空手ストレッチとは スロー空手ストレッチとは、空手家の高橋優子さんが考案した肩こり解消のためのストレッチ方法。 肩こりすっきり スロー空手ストレッチ…

jlreqでの箇条書きのインデント調整に関して。

でちょっと困るのが箇条書き(itemize環境、enumerate環境)でのインデントの調整。 いろいろ設定項目があって、よく分からなくなることが多い。 ここではjlreqドキュメントクラスを使ったときのインデントの調整方法を残しておく。 これはTeX & LaTeX Adve…