Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
この記事でお題にするのはCPUレジスタ上の整数除算です。以下、単に除算とも書きます。 除算は非常に高コストな演算なため、コンパイラは最適化によって、できるだけ整数除算を別の計算に置き換えようとします。 最適化ができる場合の一つとして、割る数が定数である場合があります。頭のいいコンパイラは、除算を乗算とビットシフト等を駆使した演算に置き換えます。この記事では、そういった最適化の背景にある理屈を部分的に解説します。 計算機環境としてはモダンなx86 CPUを仮定します。したがってレジスタは32/64ビットであり、負数は2の補数表現になっています。ある程度は他の命令セットでも通用する話になっているかもしれません。 そもそも整数の除算とは プログラミングにおける整数の除算の定義について確認します。整数$n$を整数$d$で割るとき $$ n = q \times d + r $$ が成り立つように除
FOLIO Advent Calendar 2020の24日目の記事です。 背景 日本の証券会社は日本での取引を業務としていますので、基本的に「JPX開場日」を前提として業務が構築されています。 一方で米国上場の株式を取り扱うようなサービスを展開している場合は「米国開場日」も考慮しなければなりません。 金融業界(もしかしたら別の業界でも?)では業務で何かのイベントの日時 T を起点として、N営業日後に別のイベントが発火する場合、後続のイベントの日付を T+N という表記が用いられています。 この表現は営業日が一つだけであれば自明で分かりやすいのですが、FOLIOのように営業日が2つ以上存在する場合に、どの営業日もしくは単にカレンダー通りにN日進めれば良いのかが表現できていませんでした。 また人手で業務を行なっていた時代は営業日のみを考慮すれば良かったのですが、システム化が進んだ現代では営業
オーディオプログラミング言語について、メジャーどころや面白そうなものを実際に触ってみて紹介する企画です。 共通のテーマは、(1)440Hzのサイン波生成+ゲイン調整、(2)wavファイルに400msecのディレイをかけてフィードバックとウェットレベルを調整の上で再生、としました。それぞれの言語でこの二つのプログラムを実装します。 オシレーター、ファイル読み込み、バッファ格納、フィードバック処理といった頻出処理の実装方法(もしくはライブラリ利用方法)がひととおり確認できて、言語間の比較もしやすいのではないかと思います。 githubの方も公開しました。こちらはすべての実行確認済みソースコードをダウンロード可能です。 https://github.com/aike/audiolang
Don't repeat yourself Struggling with configuration drift? Create a single source of truth you can reference everywhere. "Configuration drift occurs when a standardized group of IT resources, be they virtual servers, standard router configurations in VNF deployments, or any other deployment group that is built from a standard template, diverge in configuration over time. … The Infrastructure as Co
Filter fonts0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
日付を扱う処理についていろいろまとめたついでに、わりと簡単なことだけど知らないと落とし穴にハマる系のネタを。 日頃いろいろな処理を書いていて、現時刻を扱うこともは少なくないはずです。ですが、これを適当にやっていると困ることが多々あります。 実行中に「現時刻」を元にした処理が食い違う 例えばこんなコード。ログ集計とかやってるイメージです。 class Analyzer(object): def analyze(self): logfile = datetime.datetime.now().strftime('my_log_file.%H') self.save(self.analyze_logfile(logfile)) def save(self, result): now = datetime.datetime.now() self.result[now.hour] = result
The History of Programming Languages conference series produces accurate historical records and descriptions of programming language design, development, and philosophy. It is infrequently held: the first three were in 1978, 1993, and 2007. 2020 is the time for HOPL-IV, and I’m very excited and honored to have a paper on Clojure be accepted. I want to thank Guy Steele and Richard Gabriel, co-chair
真っ暗なトンネルに迷い込み、懐中電灯をいくら照らしても一向に明るくならない。もう逃げ出したい――。プログラミング学習を始めてから1カ月後、記者である私が置かれた状況はまさにそんな感じだった。 『週刊東洋経済』は1月14日発売号で「今年こそ始めるプログラミング」を特集。今やあらゆる業種で求められている「プログラミング」の基礎知識を徹底解説している。記者はその発売に先んじて、2019年11月からプログラミングを学習中だ。 通っているのはデジタルハリウッドが運営する「ジーズアカデミー」というスクール。平日と週末のコースがあり、私が通うのは週末コースだが、毎週15時間以上かかると言われる課題を出され、未提出が続くと「退学になる」との噂が飛び交うハードなスクールである。その経緯の詳細は『週刊東洋経済』に書いたが、本稿では同記事では触れられなかった、初心者が最初に挫折しやすい壁と、その構造的な背景、壁
2019年11月15日に開催されたRed Hat Forum Tokyo 2019でのブレークアウトセッション動画。レッドハット松田による、『ブラックボックス化した業務システムを”ルールエンジンで”華麗にホワイト化する方法』の動画です。 セッション概要: ブラックボックス化した既存資産に悩まされていませんか? ベンダー丸投げ開発により、システムの詳細も全貌も不明、モダナイズしたくてもどこから手をつけてよいかわからず、塩漬け状態。 DXの推進を阻むこれらのシステムを解きほぐすには、ルールエンジン開発によるアプローチが非常に効果的です。その具体的な方法をお話します。 https://www.redhat.com/ja/explore/now-on-redhat
なぜ悪い車輪を構築してしまうのか / Decoupled - Why we’re building a worse wheel
=== 何の本?=== プログラマ向けの情報を集めたA5サイズのマニュアル本です。 何回やっても毎回ググってしまう内容や、ググってもなかなか正しい情報が出ないものを中心に、約200ページ書き下しています。 === どこで売っているの? === 技術書典 7 で販売させて頂きました。 ※これは電子版のみです。書籍版は付いていませんのでお気を付けください === どんな内容なの? / 伝えたいことがあるんだけど… === https://www.kcrt.net/ppr をご覧ください。 === 何の本?=== プログラマ向けの情報を集めたA5サイズのマニュアル本です。 何回やっても毎回ググってしまう内容や、ググってもなかなか正しい情報が出ないものを中心に、約200ページ書き下しています。 === どこで売っているの? === 技術書典 7 で販売させて頂きました。 ※これは電子版のみです。書
サブタイトル:ショアのアルゴリズムから巡回セールスマン問題まで プログラマ向けに量子プログラミングの解説をした資料です。できるだけソースコード付きにすることで独習可能な内容になっています。また必要となる数学の知識に関しても解説しています。よろしければご活用ください!Read less
The purpose of the Language Server Index Format (LSIF) is it to define a standard format for language servers or other programming tools to dump their knowledge about a workspace. This dump can later be used to answer language server LSP requests for the same workspace without running the language server itself. Since much of the information would be invalidated by a change to the workspace, the d
Python Browse all Python answers Django Flask Pandas NumPy PyTorch Javascript Browse all JavaScript answers Typescript jQuery React React Native
When your data doesn’t fit in memory: the basic techniques by Itamar Turner-Trauring Last updated 06 Jan 2023, originally created 08 Nov 2019 You’re writing software that processes data, and it works fine when you test it on a small sample file. But when you load the real data, your program crashes. The problem is that you don’t have enough memory—if you have 16GB of RAM, you can’t load a 100GB fi
Have you heard about algebraic effects? My first attempts to figure out what they are or why I should care about them were unsuccessful. I found a few pdfs but they only confused me more. (There’s something about academic pdfs that makes me sleepy.) But my colleague Sebastian kept referring to them as a mental model for some things we do inside of React. (Sebastian works on the React team and came
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く