programmingに関するtick2tackのブックマーク (18)

  • 静的型付け関数型プログラミング言語を使わない10の理由

    関数型プログラミングの誇大宣伝にうんざりしていませんか?私もです!今回は、私たちのような分別のある人間が関数型プログラミングに手を出さない方が良い理由として、いくつか不満を述べてみたいと思います。 はっきりさせておきたいのですが、ここで言う「静的に型付けされた関数型プログラミング言語」とは、型推論、デフォルトでの不変性なども含んだ言語のことです。実際には、HaskellやMLファミリー(OCamlやF#を含む)がこれに当たります。 ほとんどのプログラマーと同じように、私は生まれつき保守的で、新しいことを学ぶのは好きではありません。だから私はIT業界で働く道を選びました。 私は、「クールな人たち」がやっているからといって、最新の流行に飛びつくことはありません。私は、物事が成熟し、ある程度の展望が得られるまで待ちます。 私にとって、関数型プログラミングは、まだ定着していると言えるほど長い間存在

    静的型付け関数型プログラミング言語を使わない10の理由
    tick2tack
    tick2tack 2025/10/05
    なんかこういう揶揄するようなもの書いて、なにがしたいんだろうね. "静的型付け関数型プログラミング言語を使わない10の理由"
  • あなたの「公開鍵暗号」はPKE? それともPKC? - Cybozu Inside Out | サイボウズエンジニアのブログ

    初めに サイボウズ・ラボの光成です。 いきなりですがクイズです。次のうち正しい説明はどれでしょう。 SSHやFIDO2などの公開鍵認証はチャレンジを秘密鍵で暗号化し、公開鍵で復号して認証する。 ビットコインでは相手の公開鍵を用いてハッシュ値を暗号化して相手に送る。 TLS1.3ではサーバ公開鍵を用いてAESの秘密鍵を暗号化する。 答えはどれも間違いです。 公開鍵認証は、(デジタル)署名を使って相手先の正しさを検証するものであり、暗号化は行われません。 同様にビットコインもデータや相手の正当性を確認するために署名が用いられ、暗号化は行われません。 TLS 1.3ではRSA暗号の公開鍵を用いて暗号化する方式(static RSA)は廃止され、ECDH鍵共有された値を元に秘密鍵を生成し、AES-GCMなどの認証つき暗号で暗号化します。 公開鍵暗号とは いわゆる公開鍵暗号には大きく2種類の意味があ

    あなたの「公開鍵暗号」はPKE? それともPKC? - Cybozu Inside Out | サイボウズエンジニアのブログ
    tick2tack
    tick2tack 2025/09/10
    PKE(Public Key Encryption): 秘匿性のための公開鍵を用いた暗号方式 PKC(Public Key Cryptography): PKE, DH鍵共有、署名など公開鍵を扱う暗号技術全般
  • https://x.com/t_wada/status/1915304094962753704/photo/1

    tick2tack
    tick2tack 2025/04/25
    "変更はソフトウェア開発において支配的なコストであり、コードの理解は変更の支配的なコストである。よって、動作するコードの構造と意図を伝えることは、鍛えられるなかでもいちばん価値のあるスキルの1つだ"
  • Learn Modern C++

    This site contains an original, self-contained guide to learning the fundamentals of Modern C++, intended to be the basis of a self-study course. Some Chapters depend upon material presented in earlier ones, so studying them linearly is recommended. There are also regular posts (accessible from the front page) which cover topics or areas of C++ not covered in the course. If you have any queries or

    Learn Modern C++
    tick2tack
    tick2tack 2023/12/27
    Learn Modern C++
  • インタフェースと型クラス、どちらでもできること・どちらかでしかできないこと - Qiita

    最近にわかに 型クラス が盛り上がっているようです。しかし、型クラスはインタフェースに似たものだという意見もあればまったく別のものだという意見もあり、混乱する人が多いのではないかと思います。 そのような混乱を招く理由は、 インタフェースと型クラスはどちらも抽象化を実現するためのもの であり、 インタフェースでも型クラスでもできること インタフェースでしかできないこと 型クラスでしかできないこと があるからです。 1 に着目した人は似ていると語り、 2 や 3 に着目した人はまったく違うものだと言います。 投稿では、 Java / Kotlin のインタフェース、 Haskell の型クラス、 Swift のプロトコルを比較し、上記の 3 点を整理します。 Swift のプロトコルを加えるのは、 Swift のプロトコルがインタフェースと型クラスの両方の性質を備えたものなので、比較対象とし

    インタフェースと型クラス、どちらでもできること・どちらかでしかできないこと - Qiita
    tick2tack
    tick2tack 2023/12/18
    インターフェース/型クラスの本質的な話なのか、単に言語の機能の有無なだけの話なのか。Higher Kindを扱えるかとか。
  • Uniform Function Call Syntax - Wikipedia

    Uniform Function Call Syntax(UFCS)またはUniform Calling Syntax(UCS)、Universal Function Call Syntaxは、オブジェクト指向プログラミング言語にみられるメソッド呼び出し構文を利用して、任意の関数を呼び出すことができる機能である。関数の第一引数をレシーバーとして使用し、残りの引数をメソッドの引数として使用する[1]。D言語[2]、Nim[3]、Koka[4]、Effekt[5]などのプログラミング言語でUFCSが採用されている。同様の手法が、AviSynthスクリプト言語において「OOP notation(OOP記述法)」という名前で用いられている[6]。 UFCSは、関数呼び出しがチェインされている場合に特に有用である[2](パイプ、または一連の式を介して値を渡すために関数型言語で使用できるさまざまな専用

    tick2tack
    tick2tack 2023/12/17
    UFCS(Uniform Function Call Syntax) DやNimにある、関数の第一引数をレシーバとしたメソッド呼び出しのように書ける言語機能
  • あのゲームの作り方Web版 | How to make games on Unity

    みなさんは自分のプログラムに自信がありますか?ここではプログラマの質が、所属する職場や企業に大きな影響を受けるという話をしたいと思います。 【ヒンメルならこう書く】 もしフリーレンがプログラマになったとき、そのプログラムのコードはきっとヒ...

    あのゲームの作り方Web版 | How to make games on Unity
  • Ignore gravity is not working for matter physics · Issue #6473 · phaserjs/phaser

    tick2tack
    tick2tack 2023/10/17
    PhaserのMatterでignoreGravity プロパティが効かないバグ。パッチプラグインを作って対処する方法が回答されている。プラグインの使い方の参考として
  • JavaScriptで大量のオブジェクトの当たり判定を効率的にとる - Subterranean Flower Blog

    ゲームなどのコンテンツにおいて、「当たり判定」から逃れることはできません。オブジェクトとオブジェクトが衝突したかどうかという判定は、インタラクティブコンテンツにおいて最も重要な部分になるからです。 当たり判定の実装自体は難しくありません。ですが、素朴な実装ですと、対象となるオブジェクトが大量である場合に、十分なパフォーマンスが出ません。これはオブジェクトの多い、現代的なゲームでしたり、弾幕シューティングなどを作るときに大きな障害となります。 この記事では、大量のオブジェクトの当たり判定を処理する、効率的な方法について紹介します。 まずは素朴に実装してみる 当たり判定の処理を語るには、ある程度ゲームの骨組みのようなものが必要になってきます。もちろんクラスなどを使わないベタ書きでもよいのですが、大変読みにくくなってしまいます。ですので、今回は、まず簡易的なゲームエンジンのようなものを作って、そ

    JavaScriptで大量のオブジェクトの当たり判定を効率的にとる - Subterranean Flower Blog
    tick2tack
    tick2tack 2023/10/01
    4分木を使った衝突判定。モートン順序
  • Godot Docs – 4.5 branch

    注釈 このドキュメントは Weblate のコミュニティー・メンバーによって、英語の原文から翻訳されました。 翻訳の進行度合いによっては、段落やページ全体がまだ英語のままになっている場合があるかもしれません。Weblateにて新しく翻訳をしたり、既存の文を査読することで、あなたもコミュニティーの助けになれます。 当分の間、翻訳版は安定版にしかありませんが、他バージョンの英語版ドキュメントはサイドパネルの下の"Read the Docs"(ドキュメントを読む)から参照できます。 Godot Engine の公式ドキュメントへようこそ。フリーかつオープンソースで、コミュニティが運営する 2D/3D ゲームエンジンです!このドキュメントが初めての方は、 概要である『はじめに』のページを読まれることをおすすめします。 サイドバーにある目次から、関心のあるトピックにすぐアクセスすることができます。ま

    tick2tack
    tick2tack 2023/03/22
    こんなエンジンがあるのね
  • 関数型プログラミングが『銀の弾丸』であるという非常識な常識2022

    2025年に書は全面改定され、新しい書籍として公開されています。ご移動ください。 最高のコーディング体験 for AI a岡部 健Ken Okabekentutorialbook@gmail.com 関数型プログラミングが『銀の弾丸』である という非常識な常識 2022Functional Programming as the Silver bullet, that is the Insane common sense 2022

  • Fast CSV processing with SIMD

    This article was discussed on Hacker News. I recently learned of csvquote, a tool that encodes troublesome CSV characters such that unix tools can correctly process them. It reverses the encoding at the end of the pipeline, recovering the original input. The original implementation handles CSV quotes using the straightforward, naive method. However, there’s a better approach that is not only simpl

  • Next2D | Rendering Engine, Animation Tool, Underlying Framework.

    2D entertainment development made easy! Fast! Comfortable!

    Next2D | Rendering Engine, Animation Tool, Underlying Framework.
    tick2tack
    tick2tack 2021/11/27
    2Dのフレームワーク、ノーコードツール、プレイヤー。swfも扱える
  • 2のべき乗サイズの配列は危ないという話 via 行列積 - elkurin’s blog

    こんにちは。労働者です。とあるプログラムで学生さんの課題を添削していたら面白い話に出会いました。 僕は今、主に学部生向けのインターン研修的なプログラムでメンターなるものをやっています。メンターとしての仕事は、学生さんの課題へフィードバックを返し、Office Hourというセッションを毎週設けて質問受けやCSに関するトークを行うといった内容になっています。今回話題に取り上げるのはその中の課題の1つ、「行列積のプログラムを書いて時間を計測せよ」という何気ない話で、続く課題たちのいわば前座のようなものです。こういったところに沼は隠されているものですね。 担当している学生さんたちが細かい実験を行ってくれて以下のような疑問が提示されました。 「行列積の計算が N = 1024のときだけ N = 1023, 1025のときに比べて3倍遅いのはなぜ?」 配列のサイズが2のべき乗になるのは避けるべきとい

    2のべき乗サイズの配列は危ないという話 via 行列積 - elkurin’s blog
  • GitHub - observablehq/plot: A concise API for exploratory data visualization implementing a layered grammar of graphics

    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 - observablehq/plot: A concise API for exploratory data visualization implementing a layered grammar of graphics
    tick2tack
    tick2tack 2021/05/07
    データビジュアライゼーション用JavaScriptライブラリ
  • 文字列を反転させたい|nona

    こんにちは。徒然なるままにTweetを眺めていたら、Tanakaさんがこのようなことを呟いていました。 そういやRustのStringにreverseメソッドないなと思ったけど、まあよく考えたらUTF-8で文字逆転させるとか地獄のような話になるしそもそも長さが変わるケースとかあったりしそうで怖いわな・・・(´・_・`) — Hideyuki Tanaka (@tanakh) May 1, 2021 背景等はよくわからないですが、文字列の反転というのは確かに難しい問題ですし、どう難しいのかというのを、ちょっと真面目に考えて解説してみました。というノートです。 文での表記についてこれから文字とそのバイト表現の話をしていきます。文字のエンコードの方式で同じ数値でも色々意味が分かれてしまいますので、文では以下のように表記することにします。 Unicodeコードポイント(以下、単にコードポイント

    文字列を反転させたい|nona
    tick2tack
    tick2tack 2021/05/03
    文字コード系。ほんとめんどくさいんだな。特に合字。グラフィムクラスターという単位で考えていくのか。
  • Windows 7 徹底解剖 - タスクバー API について

    シリーズ全体の内容は次のとおりです。 第 1 部: ライブラリの紹介 第 2 部: タスクバー API について 第 3 部: Windows 7 のマルチタッチ機能 この記事は、Windows 7 のプレリリース版を基にしています。ここに記載されている情報は変更される可能性があります。 目次 タスク バー ボタン オーバーレイ アイコンと進行状況バー 縮小表示ツール バー ジャンプ リスト その他の機能 まとめ Windows 7 のタスク バーは、Windows 1.0 から進化を続けている、一連のタスク バー設計の最新版です。Windows 7 のタスク バーは、ユーザー エクスペリエンスに関するデザインとアーキテクチャの変更を象徴しており、ユーザーの生産性を大きく向上します。図 1 は Windows 1.0 のタスク バーを示しています (Windows 1.0 のタスク バーは

    Windows 7 徹底解剖 - タスクバー API について
    tick2tack
    tick2tack 2021/03/05
    Windows1.0にはタスクバーあったの!?Windows3.1にはなかったんですけど。
  • Effective TypeScript › The Golden Rule of Generics

    The New TypeScript Handbook has some real gems in it. Here's what it has to say about generics: Writing generic functions is fun, and it can be easy to get carried away with type parameters. Having too many type parameters or using constraints where they aren't needed can make inference less successful, frustrating callers of your function. It goes on to offer a few specific pieces of advice about

    Effective TypeScript › The Golden Rule of Generics
    tick2tack
    tick2tack 2020/08/15
    型引数は複数の型を関連付けるためのものであり、シグネチャで型引数が一箇所にしかないものはその役割を果たしてない。その事例がいろいろ挙げられてる。
  • 1