2025-01-01から1年間の記事一覧

循環参照を発生させる

上部グラフエリア 青いライン: 全体のHeap使用量の推移(時系列) 緑・オレンジエリア: VM Trackerの各種メモリ使用量 下部統計テーブル 列名 意味 見るべきポイント Category オブジェクトの種類 どんなオブジェクトが多いか Persistent 残存メモリ量 メモ…

アプレンティスシップ・パターン 徒弟制度に学ぶ熟練技術者の技と心得 (とりあえず1章まで

前書き 優れたプログラマになる方法を教えるのではなく、 優れたプログラマになるための学び方を教えるのです 本書によせて 私はその思考の道具をパターンと呼んでいます。 確立されたパターンの名前を知るだけでも、大いに役立ちます。パターン名を言うこと…

【SwiftUI】スマホの画面に雪を降らせてみた

暑くなってきましたね。 雪が舞い散るアニメーションをSwiftUIで作ってみました。 考え方 雪の一粒一粒を表現するオブジェクトを作成 それをランダムな座標に散りばめつつ、タイマーで座標を逐次更新する 各雪オブジェクトはランダムな速度とサイズを持ち、…

プロトコルスタックとサーバはどうやって通信を確立するのか(ネットワークはなぜつながるのか 読書記録②)

この記事の続き。 xvi-pea.hatenablog.com プロトコルスタック 階層関係性的には、 アプリケーション > Socketライブラリ > プロトコルスタック 的な感じ。 アプリケーション層 ユーザーが操作するアプリケーション(例: ブラウザ、FTPクライアント)。 Sock…

RDRAを使って警察の証拠品管理業務の要件整理をおこなう~フェーズ1

※ 自分の理解の整理のために書いています(とても読みにくいと思う) RDRAとは 用件定義を4つのフェーズに分けて段階的に進める手法 ドメイン理解用の参考文献 ○北海道警察証拠物件管理規程の運用について(通達) 警察庁 証拠物件の合理的かつ適正な管理等…

AIでプレゼンスライドを作ってみる

モチベ スライド作るのめんどい民なので、白背景に黒文字のスライドを作ってしまいがち。 原稿は真面目に考えたいが、正直スライドを作る(デザインする)モチベが沸いた試しはない。 デザインするとかそっち系の楽しみがわからない民なので、ここを代替して…

一ヶ月の夏休みがはじまりそうなので、この2年を何となく振り返る

7月が終わりますね。 本日現職の最終出社日でした。 8月いっぱいお暇をもらえるみたいです。やった〜〜 ちょうど良い機会なので、これまでのこと・これからのことをなんとなく整理しようかなと思います。 とはいえ2年はちょっと長い + 感傷に浸るのも趣味が…

TechRAMEN 2025 ビブリオバトルで『JavaScriptで数値を漢数字に変換する本』を推してきました!

TechRAMEN 2025 Conferenceのビブリオバトル企画の原稿です。 fortee.jp プログラミングにおいて、任意の処理を実装する方法は数多あります。それは、白が200種類あるのと同じことです。 複数の実装方法の中から、一つを選び取り、我々は日々コードを書いて…

通勤をゆたかにする技術 ~通勤中に耳でSwiftを学んだら5kg痩せて精神が安定した話~

TechRAMEN 2025 Conferenceで行った登壇の記事版です。 fortee.jp さて、今日はみなさんに、私の人生の手札の一つを教えちゃいます。 「不快な現実」と楽しく生産的に向き合う方法、という手札です。 通勤、好きですか? 私は嫌でした。ずっとフルリモートで…

【その2】#techramen25conf #ゆるあさ 今年も大満喫しました!!!!!

前回の続きから: xvi-pea.hatenablog.com 前書き(2回目) ポエムしすぎないように頑張ります。 実践Scribusで本を書く ―或いは自分で書いた本を積むために― fortee.jp Scribusという、本を作りたい人のためのWord的なソフトを実地に使いながら演習するワー…

【その1】#techramen25conf #ゆるあさ 今年も大満喫しました!!!!!

前置き 今回の学びは感覚的な部分が大きく、10000ポエムになってしまいそうで、悔しいです。 ポエムしすぎないように頑張ります。 キーノート fortee.jp 良すぎました。 特に「心が訴えてるなら作ればいい」という言葉が良すぎました。 最初、意義の重力に苦…

貪欲法

とは 局所最適解を繰り返すアルゴリズム https://algo-method.com/descriptions/95 貪欲法は、全ステップの意思決定をとおして見たときに、 必ずしも最適解を導くとは限りませんが、 ある種の問題に対しては有効に機能します。

二分探索

バカ愚直実装 import Foundation func getClassName(classRanks: [Int], studentRanks: [Int]) { var a: [[Int]] = .init() for i in studentRanks { var sdf: [Int] = .init() for a in classRanks { sdf.append(abs(i - a)) } a.append(sdf) } for i in a …

ビット演算の利便性に気付かされた話

アルゴリズム学習の中でビット演算の効率性に気づいたので記録。 問題の概要 atcoder.jp この問題は以下2ステップで解く。 1. 長さNの括弧列を生成する 2. 条件判定を行う この時、1を実施する上でbit演算は有用。 bit全探索を使用して、取りうるすべての文…