Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
[B! programming] mas-higaのブックマーク
[go: Go Back, main page]

タグ

programmingに関するmas-higaのブックマーク (297)

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

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

    静的型付け関数型プログラミング言語を使わない10の理由
    mas-higa
    mas-higa 2025/09/29
    波かっこはダメ。かっこは () でないと。S式最高。
  • MTGの多い暮らしをしているとAIがコードを書いてくれるのはありがたい - hitode909の日記

    最近はコードを書くときには、なんでもClaude Codeに書いてもらってるのだけど、何が便利かというと、MTGの開始時にお願いして、MTG中ほったらかしにして、終わった頃に見たら進捗が出ている。多少変でも、そこから手直ししたら使えるものになるので、大満足。 人によって印象がちがうけど、期待通りに書いてもらえない、と不満を言っている人はフルタイムで開発している人で、そういった人は自分で1の進捗を出せていたものが0.5になっていて不満で、一方、満足している人は、もともと自分でコードを書く時間がなくて何も作れていなかったのが、ちょっとは作れるようになる、という、0が0.5になっているので満足している、ということかもしれない。 また、フルタイムで開発する人は要件が曖昧なビジネスロジックの実装をしていて、前提知識が多いので、ちょっとしたプロンプトくらいではうまく作れない。 コードを書くのがメインじ

    MTGの多い暮らしをしているとAIがコードを書いてくれるのはありがたい - hitode909の日記
  • プログラミング用途の生成AI関連ツールの評価 2025/04/14

    現時点で個人の感想です。流動的なので、明日にでも意見は変わってると思います。 モデル Claude-3.7-sonnet コーディング性能が圧倒的に良い。迷ったらとりあえずこれを使っておけばよい だいたい1ファイル1000行ぐらいが管理できる限界 Gemini 2.5 今なら無料で使える。今のうちに使い込んでクセを把握するといい。 巨大コンテキスト理解ができるので、「大量にコードを読んでちょっとだけコードを書く」つまり一般的な業務プログラミングに向いてる。 リリースから一週間は負荷が高くて不安定だったが、最近安定してきた さすがに単純なコーディング性能は Claude-3.7-sonnet に劣る deepseek-chat Cline で使うには遅すぎて役に立たない AIツール作るときの壁打ちに使っている。雑に巨大データ送りつけても安くて安心 コーディングエージェント/拡張 Cline

    プログラミング用途の生成AI関連ツールの評価 2025/04/14
  • 【C#】何故 C# を好むのか。~他の言語と比較しながら~ - ねののお庭。

    世の中には多くの C# に関する誤解が蔓延っています。 偏見にも満ちています。 そして技術的に正しい批判ではなく、根的に技術的に誤った批判ばかりで正直悲しい。 技術的に正しい形の批判なら「お、そうだな。そしてそれの解決策はですねぇ...(ニヤニヤ)」となるのですが...。 そして C# 界隈から一歩出ると、「え、C# で作ってるの!?なんで??」とか言われる事が非常に多い始末。 C# 大好きマンとしては非常に嘆かわしい。 嘆かわしい限りなので、ここでなぜ C# を私が好むか、そして何故ソフトウェアの開発に向いているかを語りたいと思います。そして誤解が解けたら嬉しい。ついでに C# を書きたいと思ってくれたら嬉しい。 想定読者 前書きという名の予防線 事前知識: C# と .NET C# はパフォーマンスの高い言語 C# はビルドも高速 C# はオープンソースかつクロスプラットフォーム 言

    【C#】何故 C# を好むのか。~他の言語と比較しながら~ - ねののお庭。
    mas-higa
    mas-higa 2025/04/15
    途中までしか読んでないけど C# はかなり良い言語だと思う。CLR が足枷のようにも思えるけど。いろんな泥臭いことを綺麗な言語で覆い隠してくれてる。mono は .Net 並に速いのかな?
  • TypeScriptは型安全じゃないからすばらしい - まめめも

    TypeScriptではじめる型システム」という記事をn月刊ラムダノートに寄稿しました。 新刊を発売しました "『n月刊ラムダノート』Vol.4 No.3(2024)発行のお知らせ https://t.co/PGppk1aRRA— lambdanote (@lambdanote) 2024年10月4日 どんな内容? TypeScriptの極小サブセットに対する型検査器を書き、それを通して型システムを体感してみよう、という内容です。 詳しく言うと、boolean型とnumber型と関数型しかないTypeScriptサブセット言語がターゲットです。 型検査器の実装言語にもTypeScript(処理系はDeno)を使います。 TypeScriptづくしの一品です。 わかる人向けに言うと、「型システム入門」という(通称TAPL)の単純型付きラムダ計算に相当する内容をTypeScriptで説明し

    TypeScriptは型安全じゃないからすばらしい - まめめも
  • なるほどTCPソケット ― Rubyで学ぶソケットプログラミングの基礎 | snoozer05.org

    ダウンロードPDF(2MB)書について『Working with TCP Sockets』の翻訳版を、原著者であるJesse Storimerの許可を得て島田浩二が公開するものです。 翻訳版の書名は、同シリーズの先行書『なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 - 達人出版会』に揃えて『なるほどTCPソケット ― Rubyで学ぶソケットプログラミングの基礎』としました。 翻訳版も原書と同様、無料でお読みいただけます。 翻訳版の原稿は、10年ほど前に刊行を目指して翻訳したものとなっています。もし現在のRubyで動かない箇所や注釈が必要な箇所があれば、snoozer.05@gmail.com まで連絡ください。 公式ハッシュタグ:#naruhotcp 改訂履歴2024-12-30: 訳の修正、誤植の修正、一部コードの修正2024-12-01: 誤植の修正、一部コードの修正、

    mas-higa
    mas-higa 2024/09/24
    [あとで読む]
  • プログラミング言語AWKのここがLOVE

    プログラミング言語AWKが好きなので、この言語のどこが好きかを語ります。主にAWKを知らない、知ってるけど使ったことが無いかた向けの記事ですが、使ったことがあるかたも「こういう思いで使ってる人がいるのか」と遠巻きに眺めてもらえればと考えます。また、後半で最近出たAWKの書籍についても紹介しているので、そちらも役立つかもしれません。 AWKとは AWKは1977年にAT&Tベル研究所で生まれたプログラミング言語です。AT&Tベル研究所といえばUNIXが生まれたところです。著者もUNIXに縁が深い、この世界のレジェンドばかりです。たとえばKernighan先生はプログラミング言語Cをはじめ、たくさんの書籍の著者として有名です。なんだか強そうな言語ではないかという気がしてきました。 AWKは汎用プログラミング言語ですが、「1行1レコードになっているテキストファイルを最小の手間で処理するワンライナ

    プログラミング言語AWKのここがLOVE
    mas-higa
    mas-higa 2024/08/26
    amd 数えるだけなら grep の方が楽。awk '{print $2, $1}' みたいなのは awk が楽。
  • どちらも「C」が付くのに中身は別物、Javaに似たC#と高難易度のC++

    日経クロステックが実施した「プログラミング言語利用実態調査2023」で「今後、スキルアップしたいと思う言語はどれですか」と複数回答可で尋ねたところ、トップ10の言語が分かった。それぞれの言語の特徴を解説する。 6位 C# Unityも採用する、Javaに似た言語 C#は、2000年にマイクロソフトが発表したプログラミング言語です。当初は“Java対抗のWindows専用言語”といった感がありましたが、近年はゲームエンジン「Unity」で使われるなど、様々なプラットフォーム向けのプログラム開発で利用できる言語になっています。また、フレームワーク「.NET MAUI」を使うと、C#でWindowsmacOSデスクトップアプリ、およびAndroidとiOSのスマートフォンアプリを作成できます。 C#は、名前から推測できる通り、C++を発展させた言語です。ただし、C++よりも様々な点でJava

    どちらも「C」が付くのに中身は別物、Javaに似たC#と高難易度のC++
    mas-higa
    mas-higa 2024/07/25
    Java がむりやり今風の notation を取り入れたから見た目だけ C# っぽくなっただけじゃないの? クラスの設計思想なんかは全然違う。Java だと polymorphic に書けない。C++ は今風の機能を独自の notation で実装してる感じ。
  • 『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream

    Rustで作るプログラミング言語という書籍が先日発売されました。簡単なプログラミング言語を作ってバイトコードに変換して実行したりネイティブコードに変換して実行してみよう、というで、大変面白く読みました。最終的にまあまあ格的な言語になるので、これを元にするとわりとちゃんとした言語を作れそうです。 この書籍で最終的に作られる言語はこちら: GitHub - msakuta/ruscal: Programming language implementation learning project ちょうど私も、以前から構想していた言語があったので、ちょっと作ってみました。というのも、TypeScriptを設定記述言語としてさまざまなプログラミング言語から使えると便利ではないかとずっと思っていたのです。 この設定言語で複雑なことができる必要はなく、最終的にはJSONに準ずるデータ構造になればよい

    『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream
    mas-higa
    mas-higa 2024/07/10
    "ほとんどのプログラマーの共通言語であるJavaScript" !!! /[関係ないけど]"tabSize: 4" コードのインデント幅と TAB の表示幅は概念が違う。最近のエディタなら独立して設定できるはず。
  • 競プロ出身者・機械学習出身者の問題コード

    https://anond.hatelabo.jp/20240625191650 競プロ出身者だけじゃなく、機械学習出身者も問題コードが多い 印象の問題ではなく実際に下記のようなコードが多い 念のため言っておくと底辺大や文系出身プログラマーも同様の傾向にある 正常系しか意識していない一番多いのはコレで異常系の動作を全く意識していない 入力値に想定外のものが入ることを考えていなかったりI/Oに関わるエラーについても配慮がない 「エラーが出たらとにかくtry-catchしてログ吐いて終わり」 ならまだマシな方で、「握りつぶして処理続行」みたいなことも平気でやる 「ここの処理でエラーログが出てるから対処よろしく」 「対処しました!(握りつぶし)」 とか滅茶苦茶多い セキュリティに関する意識が低い異常系の話と被るけど基的に性善説でコード書くのでセキュリティの不備がめちゃくちゃ多い API作らせて

    競プロ出身者・機械学習出身者の問題コード
    mas-higa
    mas-higa 2024/06/27
    「正常系しか意識していない」は指示する方が正常系しか意識していないからでしょ。その他もレビューで弾けばいい。
  • C言語をマスターしたい人はGCCのバージョン14を使いましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -

    C言語(C++を含む)を習得したい人,ポインタを勉強したい人はgcc-14を使いましょう.難しいところは gcc-14 が丁寧に解説してくれます C言語の難しいところ 例を示します.C言語で記述された,たった6行のソースコードです int main() { int buf[10]; buf[10] = 0; return 0; } このソースコードには問題があります.初見でわかるでしょうか? : : : 問題があるのは buf[10]=0 の部分です.C言語でやりがちなミスですが,これがバグやセキュリティホールの原因になります. C言語が難しい理由は二つあります.この手の問題を見逃しやすい点と,この手の問題を理解することが難しい点の二つです gcc 14 に解説してもらいましょう 上記の6行のソースコードをgcc14を使ってコンパイルしてみます ソースコードのファイル名は test.c と

    C言語をマスターしたい人はGCCのバージョン14を使いましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -
    mas-higa
    mas-higa 2024/06/12
    カラー表示はなぁ...肝心なところが見えなくてコピペしてエディタで見たりしてる。
  • 単純すぎて流行らなかった「FORTH」、複雑すぎてうまくいかなかった「PL/I」 まつもとゆきひろ氏が過去から学んだ、プログラミング言語のあるべき姿 | ログミーBusiness

    プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。2回目は、「単純さはいつも最高ではない」と「大きいことはいつもいいことではない」について。前回はこちら。 単純さはいつも最高ではない まつもとゆきひろ氏:「最も単純なプログラミング言語は何ですか?」という質問をするとですね……文法的にという意味なんですけども。 初期の言語として、Lisp、FORTH、APLなど、みんな1960年代ぐらいに作られた言語ですが、こういうものが挙げられ

    単純すぎて流行らなかった「FORTH」、複雑すぎてうまくいかなかった「PL/I」 まつもとゆきひろ氏が過去から学んだ、プログラミング言語のあるべき姿 | ログミーBusiness
    mas-higa
    mas-higa 2024/01/12
    Sun はモニタに落とすと Forth が動いてなかったっけ? mac addr 書き込むコード書いた記憶
  • 法律のデータ構造と検索

    デジタル庁は、法令標準 XML スキーマに準拠した、現行の法令データをe-Gov法令検索というサイト上で公開しています[1]。今回、この法令XMLをパースするPythonライブラリ ja-law-parser をつくり、法令データの全文検索をしてみました。 この記事では、日の法令とそのデータ構造、法令XMLパーサについて解説し、最後に、それらを使った法令データの全文検索システムを実装する方法をご紹介します。法令検索の実装についても、GitHubリポジトリで公開しています。 この記事は、情報検索・検索技術 Advent Calendar 2023の16日目の記事です。 法律と法令 法律とは 法律の制定と公布 法律と法令の違い 法律の改正 法令のデータ構造 e-Govの法令データ 法令標準XMLスキーマ 法令番号と法令ID 題名 則と附則 条・項・号 編・章・節・款・目 法令XMLパーサ:

    法律のデータ構造と検索
  • Enumとてもつらい、でも負けない - エムスリーテックブログ

    列挙型、JavaでいうならEnum型、使っていますか。使わないわけにいきませんよね。 でも、Enumを使っていたせいで辛い目にあったことありませんか。ないですか。それならきっともうすぐに辛い目にあうと思います。 Enumはすべてのプログラマに等しく辛みを与えてくれるからです。そんな辛みについて、ちょっと一緒に直視してみましょう。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar 2023の6日目です。 アプリケーションプログラミング上の辛み 1. 既存のif文が偶発的に意図しない方に倒れる 2. switch文に至っては「どちらでもない」で処理不発に アプリケーションプログラミング上の対策 1. 分岐条件をEnumに持たせる 2. swi

    Enumとてもつらい、でも負けない - エムスリーテックブログ
  • 「//このコメントを消したら動かない」は大体Shift_JISの2バイト目が原因で発生する - Qiita

    TL;DR Shift_JISにしただけでコンパイラが通らなくなる恐ろしい事件とその回避法について。 \ (¥)のASCIIコードは0x5c 表、能は良くない UTF-8は神 2023/12/06追記 誤りがあったので訂正します。こんな読まれると思ってなかったので正直ちょっとびっくりしていますが、いろいろコメントありがとうございました。(ツイート等全て拝見しました。) Shift_JISが悪いわけではない(デフォルトのエンコーディング設定の問題)→追記しました UTF-8にはUTF-FSSという仕様でこの問題が回避されている→マジでタメになる知識ありがとうございます OSによってデフォルトのエンコーディング設定が異なるせいで、デフォルト環境での動作がOSにより異なる→なるほど?(調査中) CRLFとLF問題では→なるほど?(調査中) そんな問題何を今更→UTF-8が出てから生まれたからです

    「//このコメントを消したら動かない」は大体Shift_JISの2バイト目が原因で発生する - Qiita
    mas-higa
    mas-higa 2023/12/06
    なんか根本的に \ の意味を理解していないような印象
  • 「それは、本当に安全なんですか?」 セキュリティ専門家が「GitHub Copilot」の全社一斉導入時に考えたあれこれ | ログミーBusiness

    freee株式会社 PSIRT マネージャーのただただし氏ただただし氏:freee株式会社のただただしと申します。 今日は、「GitHub Copilot 導入時に考えたセキュリティのあれこれ」ということで、Copilotのセキュリティリスクについて語るわけですが、考えてみたら、GitHubの中の人を前にこんなことをしゃべるのは相当大胆な話だと思います。最後にいいことで締めるのでちょっと我慢してください。 自己紹介をいたします。ただただしと申します。PSIRTという組織でマネージャーをやっています。PSIRTというのは、プロダクト専門のセキュリティチームです。 そこでプロダクトの安全を守る仕事をしているわけですが、いろいろなことをやりつつ、この1、2年ちょいちょい話題に上がっていますが、freeeの大規模な全社障害訓練の仕掛け人なんかをしたり。 あとは、freeeは先日OSSポリシーを公開

    「それは、本当に安全なんですか?」 セキュリティ専門家が「GitHub Copilot」の全社一斉導入時に考えたあれこれ | ログミーBusiness
    mas-higa
    mas-higa 2023/10/20
    "コードを無条件で受け入れるリスク" これはただの IDE の頃からあって、適当な変数に . を付けて出てきたコードを選ぶだけでコード書くみたいなの。
  • 経理からプログラマへ、Lramaの今後、なぜBisonを倒したのか。深掘りRubyKaigi 2023 with spikeolaf & makenowjust 文字起こしレポート vol.2 - STORES Product Blog

    2023年6月15日に『深掘りRubyKaigi 2023 with spikeolaf & makenowjust』を開催しました。イベントの内容をほぼ全文文字起こし形式でお届けします。この記事は第2部です。 hey.connpass.com 登場人物 ゲスト makenowjust/藤浪 大弥さん spikeolaf/金子 雄一郎さん STORES fujimura/藤村 大介 shyouhei/卜部 昌平 hogelog/小室 直 パーサとの出会い fujimura:金子さんのパートにいきます。簡単にどんな話をRubyKaigi 2023でしたか紹介していただけますでしょうか? spikeolaf:ここ2年ぐらい、主にAnd the WorldっていうRubyKaigiの名物コンテンツを見ていると、パーサへの関心というのは高まってきていて、ここ何年かで何が問題かはだいぶ整理されてきて

    経理からプログラマへ、Lramaの今後、なぜBisonを倒したのか。深掘りRubyKaigi 2023 with spikeolaf & makenowjust 文字起こしレポート vol.2 - STORES Product Blog
    mas-higa
    mas-higa 2023/07/26
    手書きパーサになって文法が変になった言語ってどれだろう?
  • 「配列のすべての要素が条件を満たすなら True を返す」関数を定義するとき、空の配列を渡したら True を返すべき数学的説明

    発端 @fumieval 様のツイート。 空の配列を渡したら True を返すべき この関数に空の配列を渡したら True を返すべきである。仕様によるとか状況によるとか相談すべきとか例外を返すべきかもといった意見もあるようだが、議論の余地がないレベルで True を返すしかない。最大の理由は 「True を返さないと、空集合があらゆる集合の部分集合になるというルールに矛盾するから」 である。これは数学における集合論の定理のひとつであり、「これを認めないとそれに連なる集合論のすべてが瓦解する」というルールのひとつであって、認めない相応の理由があるとすれば「数学のもっとも基礎的なルールのひとつを覆してでも実現しなければならないことがある」という次元での話になる。 少なくとも私は 10 年以上プログラミングをしていてそんな状況に遭遇したことはない。 【2023/06/01 追記】 数式がわから

    「配列のすべての要素が条件を満たすなら True を返す」関数を定義するとき、空の配列を渡したら True を返すべき数学的説明
  • 「マトリョーシカ人形」の先にあるもの、あるいは、処理の流れを追うということ - Qiita

    これは、2022年の Ruby アドベントカレンダー1 の9日目の記事です。 昨日は @universatoさんによる8日目の記事「【Ruby】# frozen_string_literal: trueマジックコメントは必要?【RuboCop】」でした。 明日は石谷 太一さんによる10日目の記事「YAML上の位置を取得する」です。 はじめに タイトルの「マトリョーシカ人形」ですが、伊藤淳一さんのブログに掲載された「マトリョーシカ人形のようなメソッド設計を避ける」という記事にて、コードの構造の話として出てくるものです。 上記の記事(元記事と呼びます)を読んで思うところがあったので、記事を書くことにしました。 ふたつのコード 詳しくは、元記事をご覧いただくとして、そこでは以下の2種類のコードを比較しています。 マトリョーシカ人形なコード 記事では(A)と呼びます: def main パンを

    「マトリョーシカ人形」の先にあるもの、あるいは、処理の流れを追うということ - Qiita
  • Go を2年くらい書いた感想: 意図をエンコードしきれない感じは消えず - blog.8-p.info

    ここ2年くらい、仕事では大体 Go を書いている。jmuk さんが Go言語は、なんというか「ちょうどいい」言語だな、と思っている。異論は認める。 と書いていたけれど、私はやっぱり ScalaKotlin あたりが好きで、これは変わらなそう。 例えばコレクションを map しているのをみると、私は「なるほど、ここではコレクションの要素数は変わらないんですね」と思う。filter だったら「コレクションの要素数は変わるけど、個々の要素は変わらないのか」ということを、あるいは Result を map していたら「ここではエラーのほうは触らないのね」ということを読みとっている。 こういう意図が、素朴な for ループと、if err != nil だと読みきれなくて、いや真面目に字面を追っていけばわかるんだけど、私が「map するか」と思いながら for ループを書いて、その for ル

    mas-higa
    mas-higa 2021/10/25
    for ループから意図を読みとるのはいやだなぁ