タグ

Programmingに関するendo_5501のブックマーク (537)

  • Node.jsを過去の物にする最速の肉まん - Qiita

    その名はBun デデン BunはNode.jsやDenoのようなJavascriptランタイムです。(2022/7/8現在ベータ版) ちなみにロゴが当に肉まんなのかはわかりません。(赤ちゃんの頭にも見えるけど名前がBun/パンだしなぁ...) この記事ではNode.jsやDenoと比較をしつつ、bunの解説させていただきます。 割となんでもできる Bunはただのランタイムではありません。下のように、開発に必須の多くな機能を最初から有しています。 TypescriptからJavascriptへのトランスパイル jsxからJavascriptへのトランスパイル npmのようなパッケージのインストール&管理 webpackのようなプロジェクトのバンドル化 もちろんランタイムなのでNode.jsのようにサーバーでJavascriptを実行することも可能です。 これらに加えてBunには様々な機

    Node.jsを過去の物にする最速の肉まん - Qiita
  • 括弧で34087重に囲んだ関数を食わせるとg++が死ぬ

    TL;DR ((((printf("Hello World\n")))))みたいに関数をたくさんの括弧で囲むとコンパイラが死ぬので気をつけましょう。 はじめに 以前、printfに4285個アスタリスクをつけるとclang++が死ぬという記事や、GCCに27958段ネストした関数をわせると死ぬという記事を書きました。 特に、printfにアスタリスクをたくさんつける記事では、clang++がわりとすぐ死んだのに対して、g++は5万個とかつけても大丈夫でした。一般に、コンパイラが死ぬ系のコンパイラいじめは、再帰でスタックを使い切るタイプのものが多く、LLVMよりもGCCの方が頑健という印象です。 さて、C++では、括弧を無駄につけることができます。例えば、

    括弧で34087重に囲んだ関数を食わせるとg++が死ぬ
    endo_5501
    endo_5501 2022/07/08
    “不意に「あー、関数を括弧で死ぬほど囲みたい。最低でも1万くらいは囲みたい」とおもったら、g++を使うと良い”
  • FDのコピープロテクト : プログラミング指南 - Code Knowledge

    プログラミング指南 - Code Knowledge ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 レトロPCは最初は安価なカセットテープを記憶媒体として使っていました。その後に登場したのがフロッピーディスク(以下FDと略す)です。カセットテープが何分もロードに必要なところを数秒から数十秒で完了し、かつ、ランダムアクセスが可能なFDは、当時は高価な周辺機器だったにもかかわらず、あっという間に一般に浸透していきました。また、ドライブの価格も一気に値下がりしていったのを覚えています。 ところが、この便利なFDは便利であるが故の問題を抱えていました。それが不正コピーです。ゲームソフトハウスが発売した製品も、簡単に複製でき

    FDのコピープロテクト : プログラミング指南 - Code Knowledge
  • 文芸的diffでソースコードを解説する - ABAの日誌

    プログラムの解説文章をソースコードに混在して表記し、そこから解説記事を生成する、文芸的プログラミングという手法がある。 文芸的プログラミングはソースコードに強く結びついた形でドキュメントを管理することができ、ソースコードの解説を記述するためには良い手法である。ただし、生成される解説記事はあくまでソースコードの記述順に沿ったものであり、プログラマの開発手順、実装順序に沿ったものでは無い。 ソースコードの解説は、そのコードが作られた順番に行われたほうが、プログラマの思考に沿って説明がされるので分かりやすい。そのような発想に基づいて提案された手法が、文芸的コミットだ。 コミットメッセージに、そのコミット内容を説明する文章を記述していくことで、コミットのヒストリーが解説記事になる手法だ。この方式だと、コミットというコードが改変されていく順番で解説ができるので、より分かりやすい内容にできる。 この方

    文芸的diffでソースコードを解説する - ABAの日誌
  • 競プロで役立つC++20新機能 - Qiita

    はじめに 競プロのコーディングが快適になるC++20新機能をまとめました!! C++20の豊富な新機能から競プロで便利な機能を合計で16個紹介します. ※(2023/8/7追記) AtCoderでは2023年の言語アップデートにより、ほとんどの機能が使用可能となりました。新バージョンのgcc12.2では、紹介されている機能のうち <format> を除くすべての機能が使用可能です。 参考文献 https://cpprefjp.github.io/lang/cpp20.html https://en.cppreference.com/w/cpp/20 を参考にしました. cpprefjp以外をあまり見ていないので,間違っているところがあるかもしれません. 誤りに気づいたら指摘していただけると幸いです. 標準ライブラリの新機能 1. コンテナのメンバ関数の追加 1-1. 連想配列に conta

    競プロで役立つC++20新機能 - Qiita
  • Windowsのレジストリなどに見られるGUIDとは? (1/2)

    Windowsのレジストリなどを見ると、波カッコ「{}」に囲まれた16進数の羅列を見ることがある。これをGUID(Globally Unique Identifier)という。GUIDは、Windowsでユニークな識別子として使われる128bit(16バイト)の数値である。GUIDは、WindowsAPIで作成することができ、他のマシンで作られたGUIDであっても、衝突することが極めてまれで、事実上起こらないと考えてもよいレベルのものだ。 Windows Terminalではプロファイルの識別にGUIDを利用している。GUIDは多くの場合、波カッコに囲まれた5つの16進数として表示される Windowsでは、オブジェクトやクラスの定義などに使われる。数値なので比較が容易で検索処理などを高速化できる。 このGUIDは、UUIDと呼ばれる識別子の一種だ。Windowsでは、UUIDの一部をG

    Windowsのレジストリなどに見られるGUIDとは? (1/2)
  • 最近 Fitbit つけて散歩してるので CircleCI + Pixela で見えるようにしてみた - Mitsuyuki.Shiiba

    歩数で草を生やしてみたのだー。これで散歩の楽しみが増えたなー やってること やってることはシンプルで、こう↓ FitbitAPI で歩数を取得 Pixela に記録 というスクリプトをつくって CircleCI で定期的に実行 Fitbit? 最近 Fitbit Sense というスマートウォッチをつけて散歩してる www.fitbit.com 会社の福利厚生で健康のための補助があるので、それを利用して手に入れたのだ。散歩やジョギングをしたら勝手に記録されてるので便利。睡眠のログも取られてるので面白い Pixela? Pixela は日々の活動を記録して見えるようにしてくれる API サービス。いちばん最初に貼った画像みたいに GitHub の草を生やすやつみたいにしてくれる。操作が全部 API 経由なのも楽しい pixe.la せっかく散歩してるから せっかく散歩してるから Fit

  • そのコードレビュー、使い捨てになっていませんか?

    こんにちは。株式会社プラハCEOの松原です。 どんな人にこの記事を読んで欲しいか コードレビューの効率化に悩んでいる コードレビューのやり方に自信が持てず、何か参考になる事例を知りたい 使い捨てコードレビューに翻弄される日々 1~2年ほど前に自社サービスを開発していた頃、弊社では全てのプルリクエスト(以降PR)に対してランダムに割り当てられたレビュワー2名、もしくはテックリード1名にapproveされない限りマージしない運用で開発していました。開発者が5名ぐらいだったと記憶しているので、規模の割にはリッチなレビュー体制だったのではないでしょうか。 修正点があれば指摘して、直して、再確認して、merge。 来る日も来る日も、確認、指摘、修正、再確認、merge。 次第に「僕ら業務時間の大半をコードレビューに使ってね?」と、レビューに費やす時間が気になるようになってきたあたりで、一度自分たちの

    そのコードレビュー、使い捨てになっていませんか?
  • IT怖い話『「誰も知らない機能」を発見してしまったエンジニア』→「あるある」「実行したらバグるやつ」

    ビタワン☃️ @vitaone_ ■プログラマ兼漫画家(原作担当)です👨‍💻 ■カドコミで『コミュ力ゼロの神絵師と幼なじみの底辺作家』連載中です ■漫画を毎週水曜と日曜に投稿します✒️ ■呟きはITネタ、アニメ、VTuber関連が多いです ■ホロライブ推し ■おっぱいが好きです ■ネガティブな話題はツイートもRTもしません🤐 vitaone.fanbox.cc

    IT怖い話『「誰も知らない機能」を発見してしまったエンジニア』→「あるある」「実行したらバグるやつ」
    endo_5501
    endo_5501 2021/11/24
    最近似たようなことあったなあ。説明書や仕様書には一切載ってないけど使えた機能
  • 保守性の高いソフトウェア開発のTips集

    保守性の高いソフトウェアの開発に役立つ様々なTipsを書いた。 特定の言語にとらわれずあらゆる場面で役立つことを集めた。

    保守性の高いソフトウェア開発のTips集
  • 書評:並行プログラミング入門 - Software Transactional Memo

    TL;DR 並行処理を実装する人のこれからのスタンダードになる一冊。買い。 並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ 作者:高野 祐輝 オライリージャパン Amazon 買ったら思いの外早く届いたのでパラパラと読み始めたら一気に読み終えてしまった。 総評 敢えて雑な喩え方をするなら The Art of Multiprocessor Programming (通称TAoMP) の内容を薄めてRustやアセンブラや計算モデルを足したようなだった。 日語の書籍としてはかなり珍しくWait-Free, Lock-Free, Obstruction-Freeの違いなどを適切に論じており、TTAS Lock, MCS Lock, TL2といった日語では希少な情報が書かれているレアなである。これらに付いて論じている日語のは知る限り (TAoMPと昔僕

    書評:並行プログラミング入門 - Software Transactional Memo
    endo_5501
    endo_5501 2021/08/22
    “並行処理を実装する人のこれからのスタンダードになる一冊”
  • プログラマの三大美徳とは?提唱者のラリー・ウォールについても解説!

    ではマイナスなイメージを与えるこれらの言葉ですが、これらの言葉はプログラマに必要な効率や再利用制の重視、処理速度の追求、品質にかける自尊心を意味します。 怠惰 (Laziness) 怠惰(Laziness)の辞書的な意味は「なまけておりだらしないさまを指す言葉」です。 怠惰という言葉を聞いて、プラスなイメージを持つ方は少ないかもしれません。しかし怠惰はプログラマによっては重要な美徳です。 怠惰の反対度は「勤勉」です。勤勉は「仕事や勉強などに、一生懸命に励むこと」を意味します。 しかしプログラマーにとって必ずしも勤勉であることがプラスに作用するとは言えません。 例えば勤勉なプログラマと怠惰なプログラマが繰り返しの作業を行うとします。勤勉なプログラマは作業の繰り返しを行うことを、勤勉であるがゆえに苦に感じることなく、繰り返すでしょう。 一方で怠惰なプログラマは、怠惰であるがゆえに作業の繰り

    プログラマの三大美徳とは?提唱者のラリー・ウォールについても解説!
  • 無限ストレージ

    以下イベントの発表資料です https://kernelvm.connpass.com/event/209105/

    無限ストレージ
  • Stack Overflowからコピペする頻度は?

    endo_5501
    endo_5501 2021/04/22
    “Stack Overflowの質問にアクセスしたユーザーの4人に1人は、そのページにアクセスしてから5分以内に何かをコピーしています”
  • コードリーディングのコツは極力コードを読まないこと|牛尾 剛

    私はクラウドのプロダクトチームで働いているが、何を隠そう一番苦手で克服できていないことが、コードリーディングだ。ものすごーく時間かかるし、時間かかったうえに読み間違えたりするし、しかもめっちゃ頭使うのに他の人はずっと速いので敗北感しか残らない。先日もマネージャの Pragna に相談したら、最初は2時間かかるけど、3か月もしたら5分で終わるわよ。って言われたけど、いや、そもそも俺4時間は最低かかるねんけどな、、、って感じ。 技術イケメンの皆さんのアドバイス よくよく私のキャリアを考えると、OSSにコントリビュートとかしていることはあったが、めっちゃくちゃ巨大でややこしいコードベースを読んで理解する必要が無いことが多かった。1からコードを書くのは得意だが、他の人のを読んでがっつり理解してとか、どうやったら出来るのかわからない。 当然自分の周りの技術イケメンの皆さんにコツを聞いていたのだが、ど

    コードリーディングのコツは極力コードを読まないこと|牛尾 剛
    endo_5501
    endo_5501 2021/04/16
    “実装ではなくインターフェイスと役割を理解する”
  • 「正直9年経ったいまでもfor文ググってる」 - Qiita

    「正直9年経ったいまでもfor文ググってる」 という議論記事があった。正直なところ私もググる方の人だ。私の感想: ポンとテキストエディタだけ渡された時に書けるか自信ないぞ...IDEがあればまあ大丈夫かなあ。 JavaScriptだけじゃない。言語色々扱うしという言い訳。正規表現とか毎度調べる。 だから世の中にチートシートというものがあるのだ。お気に入りチートシート多数。 実戦でどうしているか?結局周りのソースを見て馴染む書き方にしていますよ多分。 暗記するかしないかは受験勉強みたいなもので、コーディング面接に受かるなら必要。暗記そのものには意味はないとは思う。 競技プログラミングが使えないとかいう論もあったな。 ググり力も大事。 でも「最低限」もできないのはやはり恥ずかしい気持ちはある。 なんかこれ英語できるできないと似てるな。英語なんてGoogle翻訳、DeepL翻訳あればいいけど、実

    「正直9年経ったいまでもfor文ググってる」 - Qiita
    endo_5501
    endo_5501 2021/03/24
    わりとやる
  • https://qiita.com/dairappa/items/5e954b27b81c646435f3

    伏線回収です。 批判されてるのは書き方もそうだけど、一部「ダサい」「時代遅れ」のみで非難しているようなルールがあるからでしょ。なんで駄目なのかを考えないで伝えたら文句言われるのは当たり前。私も総論は賛成だし皆もそう思ってるだからこそ200LGTM行ってるわけで https://t.co/dCw5Q9ffLY — dairappa🧲 (@dairappa) February 21, 2021 TL;DR 当該記事は総論賛成だけれど、「古い」「ダサい」で物事は変えられない 最近の環境の変化、コードを書いた人が持っている暗黙の前提なども考えないといけない 単純にコードを変えるだけでなく、それに合わせて環境やプロセスを整える必要がある。そこはみんなそれぞれ頑張れ。 まずは分類 9個の「古い書き方」が挙げられていますが、実はいくつかに分類できるかと思います。私が分けるなら以下のような感じです(いく

    https://qiita.com/dairappa/items/5e954b27b81c646435f3
  • 「こんなん履いててプログラミングできるわけない」天才プログラマー登大遊氏が情熱大陸に登場、名言を連発しザワつくTL

    情熱大陸 @jounetsu 今夜23:00~放送! サイバー技術開発集団 統括 登大遊🔥 プログラミングの天才🖥 コロナ禍にあえぐ自治体を救う‼️ しかし、この場所は一体…🔦 #登大遊 #プログラミング #テレワーク #情熱大陸 pic.twitter.com/ZG2eMDH3of 2021-02-07 20:42:44 Daiyuu Nobori (登 大遊) @dnobori 2/7(日)23:00~の情熱大陸は、全国の自治体テレワークを実現するためのIPA・J-LIS緊急開発「自治体テレワーク for LGWAN」の物の構築記録です。プログラム、サーバー、Raspberry Pi、光ファイバを複雑に組み合わせ何とか間に合わせる、危険な国家的デスマーチの様子を安全なリビングから楽しめます。 pic.twitter.com/mGRURdPLF7 2021-02-06 19:29

    「こんなん履いててプログラミングできるわけない」天才プログラマー登大遊氏が情熱大陸に登場、名言を連発しザワつくTL
  • 日本国憲法を論理プログラミング言語で表記し、Q&A方式で分かりやすく表示してくれる「論理憲法」を使ってみた

    の最高法規である日国憲法の条文を論理プログラミングを用いて表記し、日国憲法の内容をQ&A方式で分かりやすく表示してくれるウェブアプリ「論理憲法」を使ってみました。 論理憲法 http://bitlaw-jp.github.io/logicon-system/index.html 「論理憲法」のトップ画面はこんな感じ。画面中央に質問内容を設定する選択ボックスが配置され、その下に設定した質問内容が表示されています。初期設定では「天皇ってなに?」という質問が表示されていたので、そのまま「質問する」をクリックして回答を見ることにしました。 回答の表示はこんな感じ。左側に「論理憲法」のプログラム実行結果が表示され、右側には「天皇は日国の象徴です。(第1条)」「天皇は日国民統合の象徴です。(第1条)」という回答が表示されています。このように「論理憲法」では日国憲法の内容を簡潔に分かりやす

    日本国憲法を論理プログラミング言語で表記し、Q&A方式で分かりやすく表示してくれる「論理憲法」を使ってみた
  • 2020年、将棋ソフト界隈のまとめ | やねうら王 公式サイト

    年末なので、2020年の将棋ソフト界隈のことを自分目線でまとめておきたい。自分目線なので全然まとめになってないとは思うけども、その点は御容赦願いたい。 今年は、コロナ禍のために毎年5月のゴールデンウィークに開催されていたWCSC(世界コンピュータ将棋選手権)が開催されなかった。 WCSCは、その代わりに「世界コンピュータ将棋オンライン大会」となり、オンラインで開催され、たややんさんの『水匠』が優勝した。 私(やねうら王チーム)は、このオンライン大会には参加しなかった。賞金もでないことだし(この時点でやる気9割ぐらいダウン)、単純に面倒くさかったからである。 将棋ソフトは何のために作っているのか?とよく尋ねられるのだけど、私の場合、それ自体が楽しいからであって、盆栽いじりにも似たものがあると思う。これは、Aperyの平岡さんも全く同じことを言っている。 最近ちょくちょくapery_rust

    endo_5501
    endo_5501 2020/12/31
    “巨人だと思ってその肩に乗ったら、巨人がすっ転んで大怪我をすることも普通に起こりうるのである。開発者の皆さん、巨人の肩に乗るときは、くれぐれも気をつけていただきたい”