タグ

関連タグで絞り込む (186)

タグの絞り込みを解除

programに関するefclのブックマーク (673)

  • 関数型プログラミングの復活 - QCon Plusハイライト

    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が最近リリースされ、重要な変...

    関数型プログラミングの復活 - QCon Plusハイライト
    efcl
    efcl 2020/12/29
    ScalaのCase Class、KotlinのData Class、JDKのRecords Type/class
  • 2で割ることと3で割ること - Qiita

    この記事でお題にするのはCPUレジスタ上の整数除算です。以下、単に除算とも書きます。 除算は非常に高コストな演算なため、コンパイラは最適化によって、できるだけ整数除算を別の計算に置き換えようとします。 最適化ができる場合の一つとして、割る数が定数である場合があります。頭のいいコンパイラは、除算を乗算とビットシフト等を駆使した演算に置き換えます。この記事では、そういった最適化の背景にある理屈を部分的に解説します。 計算機環境としてはモダンなx86 CPUを仮定します。したがってレジスタは32/64ビットであり、負数は2の補数表現になっています。ある程度は他の命令セットでも通用する話になっているかもしれません。 そもそも整数の除算とは プログラミングにおける整数の除算の定義について確認します。整数$n$を整数$d$で割るとき $$ n = q \times d + r $$ が成り立つように除

    2で割ることと3で割ること - Qiita
    efcl
    efcl 2020/12/27
    除算命令は遅いため、乗算で表現する話。 2の倍数と3の倍数。
  • 複数の営業日カレンダーを扱う業務のための日付モデルの紹介

    FOLIO Advent Calendar 2020の24日目の記事です。 背景 日の証券会社は日での取引を業務としていますので、基的に「JPX開場日」を前提として業務が構築されています。 一方で米国上場の株式を取り扱うようなサービスを展開している場合は「米国開場日」も考慮しなければなりません。 金融業界(もしかしたら別の業界でも?)では業務で何かのイベントの日時 T を起点として、N営業日後に別のイベントが発火する場合、後続のイベントの日付を T+N という表記が用いられています。 この表現は営業日が一つだけであれば自明で分かりやすいのですが、FOLIOのように営業日が2つ以上存在する場合に、どの営業日もしくは単にカレンダー通りにN日進めれば良いのかが表現できていませんでした。 また人手で業務を行なっていた時代は営業日のみを考慮すれば良かったのですが、システム化が進んだ現代では営業

    複数の営業日カレンダーを扱う業務のための日付モデルの紹介
    efcl
    efcl 2020/12/26
    複数の日付で日付データモデルでの日付計算
  • オーディオプログラミング言語のカレンダー | Advent Calendar 2020 - Qiita

    オーディオプログラミング言語について、メジャーどころや面白そうなものを実際に触ってみて紹介する企画です。 共通のテーマは、(1)440Hzのサイン波生成+ゲイン調整、(2)wavファイルに400msecのディレイをかけてフィードバックとウェットレベルを調整の上で再生、としました。それぞれの言語でこの二つのプログラムを実装します。 オシレーター、ファイル読み込み、バッファ格納、フィードバック処理といった頻出処理の実装方法(もしくはライブラリ利用方法)がひととおり確認できて、言語間の比較もしやすいのではないかと思います。 githubの方も公開しました。こちらはすべての実行確認済みソースコードをダウンロード可能です。 https://github.com/aike/audiolang

    オーディオプログラミング言語のカレンダー | Advent Calendar 2020 - Qiita
    efcl
    efcl 2020/12/15
    Audioプログラミング言語のまとめ
  • The Dhall configuration language

    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

    efcl
    efcl 2020/12/08
    設定ファイル用の言語。 型定義、import、diff
  • Dev Fonts

    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

    efcl
    efcl 2020/11/20
    色々なプログラミング言語向けのフォントを実際のコードで比較できるサービス
  • コード内で「現時刻」を気軽に取得してはいけない | Nekoya press

    日付を扱う処理についていろいろまとめたついでに、わりと簡単なことだけど知らないと落とし穴にハマる系のネタを。 日頃いろいろな処理を書いていて、現時刻を扱うこともは少なくないはずです。ですが、これを適当にやっていると困ることが多々あります。 実行中に「現時刻」を元にした処理がい違う 例えばこんなコード。ログ集計とかやってるイメージです。 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

    efcl
    efcl 2020/09/17
    現在時刻をドメインオブジェクトでは外から受け取るようにするという話
  • Clojure - History

    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

    efcl
    efcl 2020/06/11
    ClojureのHOPL-IV paper。 Clojureの歴史
  • 素人がプログラミングに挑んでみて見えた境地

    真っ暗なトンネルに迷い込み、懐中電灯をいくら照らしても一向に明るくならない。もう逃げ出したい――。プログラミング学習を始めてから1カ月後、記者である私が置かれた状況はまさにそんな感じだった。 『週刊東洋経済』は1月14日発売号で「今年こそ始めるプログラミング」を特集。今やあらゆる業種で求められている「プログラミング」の基礎知識を徹底解説している。記者はその発売に先んじて、2019年11月からプログラミングを学習中だ。 通っているのはデジタルハリウッドが運営する「ジーズアカデミー」というスクール。平日と週末のコースがあり、私が通うのは週末コースだが、毎週15時間以上かかると言われる課題を出され、未提出が続くと「退学になる」との噂が飛び交うハードなスクールである。その経緯の詳細は『週刊東洋経済』に書いたが、稿では同記事では触れられなかった、初心者が最初に挫折しやすい壁と、その構造的な背景、壁

    素人がプログラミングに挑んでみて見えた境地
    efcl
    efcl 2020/01/19
    プログラミングを学ぶ難しさについて。 初心者は検索することが難しい、方法を学ぶ方法が必要という話。
  • Red Hat Forum Tokyo 2019:ブラックボックス化した業務システムを”ルールエンジンで”華麗にホワイト化する方法

    2019年11月15日に開催されたRed Hat Forum Tokyo 2019でのブレークアウトセッション動画。レッドハット松田による、『ブラックボックス化した業務システムを”ルールエンジンで”華麗にホワイト化する方法』の動画です。 セッション概要: ブラックボックス化した既存資産に悩まされていませんか? ベンダー丸投げ開発により、システムの詳細も全貌も不明、モダナイズしたくてもどこから手をつけてよいかわからず、塩漬け状態。 DXの推進を阻むこれらのシステムを解きほぐすには、ルールエンジン開発によるアプローチが非常に効果的です。その具体的な方法をお話します。 https://www.redhat.com/ja/explore/now-on-redhat

    Red Hat Forum Tokyo 2019:ブラックボックス化した業務システムを”ルールエンジンで”華麗にホワイト化する方法
    efcl
    efcl 2019/12/17
    レガシーコードを修正する際に、コードを分析してロジックを解析しても使われないロジックが半分を占める。 そのため、ドメインマスターと相談し現在の業務ルールの要件を整理して現行コードはは見ずに、条件判断を
  • なぜ悪い車輪を構築してしまうのか / Decoupled - Why we’re building a worse wheel

    なぜ悪い車輪を構築してしまうのか / Decoupled - Why we’re building a worse wheel

    なぜ悪い車輪を構築してしまうのか / Decoupled - Why we’re building a worse wheel
    efcl
    efcl 2019/12/15
    悪い車輪の再発明はなぜ生まれるかについてのスライドの翻訳。 完全な分離からやると問題起きるので、分類する理由を検証できるように既存とものと組み合わせてやる。
  • Programmer's Pocket Reference - Nanoseconds Hunter - BOOTH

    === 何の?=== プログラマ向けの情報を集めたA5サイズのマニュアルです。 何回やっても毎回ググってしまう内容や、ググってもなかなか正しい情報が出ないものを中心に、約200ページ書き下しています。 === どこで売っているの? === 技術書典 7 で販売させて頂きました。 ※これは電子版のみです。書籍版は付いていませんのでお気を付けください === どんな内容なの? / 伝えたいことがあるんだけど… === https://www.kcrt.net/ppr をご覧ください。 === 何の?=== プログラマ向けの情報を集めたA5サイズのマニュアルです。 何回やっても毎回ググってしまう内容や、ググってもなかなか正しい情報が出ないものを中心に、約200ページ書き下しています。 === どこで売っているの? === 技術書典 7 で販売させて頂きました。 ※これは電子版のみです。書

    Programmer's Pocket Reference - Nanoseconds Hunter - BOOTH
    efcl
    efcl 2019/12/02
    プログラマー向けのいろんな言語とか仕様おとかをまとめてポケットリファレンス
  • 古典プログラマ向け量子プログラミング入門 [フル版]

    サブタイトル:ショアのアルゴリズムから巡回セールスマン問題まで プログラマ向けに量子プログラミングの解説をした資料です。できるだけソースコード付きにすることで独習可能な内容になっています。また必要となる数学の知識に関しても解説しています。よろしければご活用ください!Read less

    古典プログラマ向け量子プログラミング入門 [フル版]
    efcl
    efcl 2019/11/29
    量子プログラミングについて
  • GitHub - microsoft/lsif-node: Define an index format for Language Servers

    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

    GitHub - microsoft/lsif-node: Define an index format for Language Servers
    efcl
    efcl 2019/11/22
    現代的なctagsみたいな。 ソースコードのインデックスフォーマット
  • Source Trail : Solving programming and code problems for programmers

    Python Browse all Python answers Django Flask Pandas NumPy PyTorch Javascript Browse all JavaScript answers Typescript jQuery React React Native

    Source Trail : Solving programming and code problems for programmers
    efcl
    efcl 2019/11/22
    ソースコードリーディング向けのアプリ。 C、C++、Java,Pythonに対応してる。
  • When your data doesn’t fit in memory: the basic techniques

    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

    When your data doesn’t fit in memory: the basic techniques
    efcl
    efcl 2019/11/13
    メモリに乗らないデータを扱う方法。 圧縮、chunkに分ける、インデックスの作成
  • プログラミング必須英単語600+ | プログラミング英語検定

    概要 プログラミングをする際には、APIリファレンスやソースコードのコメントなどを英語で読むことが求められます。場合によっては英語で関数名を付けたり、ちょっとしたマニュアルを書いたりする機会もあります。ただしプログラミング時に求められる英単語は、一般的な英語で求められる英単語とは異なります。 必須英単語リストでは、プログラミング時に求められ、特に目にすることが多い英単語を以下のカテゴリーに分けて選定しています(注1)。プログラミング英語の学習や知識確認にご活用ください。

    プログラミング必須英単語600+ | プログラミング英語検定
    efcl
    efcl 2019/09/07
    プログラミング向けの英単語。 ライセンスはCC BY-NC-SA
  • GitHub - be5invis/Iosevka: Versatile typeface for code, from code.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - be5invis/Iosevka: Versatile typeface for code, from code.
    efcl
    efcl 2019/09/02
    プログラミングで使う記号とかをリガチャなどしたフォント https://github.com/be5invis/Sarasa-Gothic
  • GitHub - mame/quine-relay: An uroboros program with 100+ programming languages

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - mame/quine-relay: An uroboros program with 100+ programming languages
    efcl
    efcl 2019/08/28
    100以上のプログラミング言語でのQuine
  • Algebraic Effects for the Rest of Us

    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

    efcl
    efcl 2019/07/22
    JavaScript風味の言語でのAlgebraic Effectsのポイント解説。 try-catch and throw的に上に伝搬するだけじゃなくて、それを`haddle`することができ`resume`して処理を戻すことができることで、メインの処理の分離、割り込みを差し込める点