Haskell で AtCoder に入門しましょう
この記事は、弁護士ドットコム株式会社の Advent Calendar 2023 の 22 日目の記事です。 前日は @et_tei さんの「FireHOL で公開されているブラックリストからの接続 Akamai でブロックする」でした。 こんにちは。税理士ドットコム事業部の @komtaki です。 数年間 TypeScript を業務で使っていたのですが、型パズルの Type Challenges をやってようやく TypeScript の本質を理解していないことに気づきました。 この記事では Type Challenges を通して、私のような型パズルが難しいと感じる人のために型パズルを理解するための言語機能と使い方を 8 つのポイントでまとめます。 この 8 つのポイントを理解すれば、いろんな型パズルが理解できるようになるはずです。 Type Challenges とは TypeS
オープン化で裾野広がるμT-Kernel 3.0、プログラミングコンテストを起爆剤に:2023 TRON Symposium(1/2 ページ) 「2023 TRON Symposium」では、TRONプロジェクトのRTOS「μT-Kernel 3.0」をテーマに大手マイコンメーカー4社が協賛する「TRONプログラミングコンテスト」が発表された。本稿では、このμT-Kernel 3.0関連を中心に2023 TRON Symposiumの展示を紹介する。 1984年に誕生した「TRONプロジェクト」は、2024年に40周年の節目を迎える。10年前の2014年に30周年を迎えてからの10年間は、組み込み機器で広く利用されてきたμITRONの実績をベースにIoT(モノのインターネット)への取り組みを強化してきた10年間でもあった。TRONプロジェクト リーダーの坂村健氏も、2017年3月末に東京大
この記事はScala Advent Calendar 2023の11日目です. 最近, 趣味でScala 3のコードをだいぶ書いていて, マクロの使い心地のよさに感心しました. 理論的な背景も含めて, 産業界で多く使われているプログラミング言語の中では筆者の知る限りぶっちぎりに優れたマクロを備えています. 他の言語にも見習ってほしいですね. たぶん見習おうとすると処理系を作り直す羽目になりますが. この記事ではScala 3のマクロのすごいところを例を使って紹介します. マクロの実践的な例 準備 実践的な例: NamedArray – 名前でアクセスできる配列 NamedArrayのマクロ実装 記述が明瞭 メタレベルのプログラムの扱い クォートとスプライスがある パターンマッチもある 生成コードに型がつく 多段階計算に基づいている クォートとスプライスの本当の意味 ネストしたスプライス ネ
こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 この記事は NewsPicks アドベントカレンダー 2023 の3日目の記事です。 昨日は@J_Nakagawa(隼佑 中川)さんによる『LambdaレスポンスストリーミングとAWS-SDKを使ってSlackに進捗バーを表示させる』でした! 世の中には再現が難しく一見してバグがありそうに思えないコードもありますが、一方でプロダクションコードの中にはひと目見てバグが有りそうなコードもまた多いものです。いくつかの特定のパターンをとる文字列(環境名など)やenum(以下どちらもenumと表現します)に関する条件分岐もその一つです。プルリクを見てこのようなパターンがあれば、バグの疑いが強くなります。周囲を見渡すと、大抵すでにバグっているか潜在バグを含むコードが見つかります。すべてバグというのは言い過ぎにせよ、わかりやすさと変
おはようございます. 遅ればせながら,11/14/2023 の .NET 8 のリリースの内容を確認し,コードジェネレータの新しい最適化機構(PGO)のデフォルト有効化や AI/LLM のアプリケーションへの統合,各フレームワークのアップデートや,C# の方ではコレクション記法の統合など様々なトピックがある中で,付随してリリースされた F# 8 についても新機能をチェックしてみました. ヤバすぎました. 私は涙しました.これまであらゆる F#er が望んでも得られなかったものがそこにはありました.F# という言語がこれまでの不満点を一気に払拭し,至高の領域に到達しようというヤバみを感じるリリースだったので,今回は以下のブログポストに記載されている新機能から個人的に凄いと思ったものを抜粋して解説します. 11/24/2023 一部サンプルコードのミスを修正しました. F# および F# 8
関連キーワード アプリケーション開発 | プログラマー | プログラミング プログラミングは20世紀の半ばから半世紀以上を経る中で、さまざまな変化を遂げた。1950年代からどのように変わってきたのか。2023年のいま注目したい変化も含めて振り返ってみよう。 半世紀で見えたプログラミングの“劇的変化”とは? 併せて読みたいお薦め記事 連載:プログラミングのこれまでとこれから 第1回:不況でも稼げるプログラマーが知っている「プログラミング」の基本はこれだ プログラミングの関連記事 働く母とプログラミングをつなぐ――IT業界に貢献する女性たち 「JavaScript」はいつ、なぜ生まれた? “大人気言語”の知られざる歴史 プログラミングにとって最大の変化は、活用場面がさまざまな分野に広がったことだ。いまや携帯電話や時計、自動車、家電製品までもがアプリケーションを搭載している。黒い背景に緑色の文字
TIOBE Softwareが発表したプログラミング言語の人気ランキング「TIOBEインデックス」の2023月10月版では、JavaとC#のレーティングが1.2ポイントのわずかな差に縮まっている。 ソフトウェア品質の評価と追跡を手掛けるTIOBE Softwareは、2023年10月版の「TIOBEプログラミングコミュニティーインデックス」(通称「TIOBEインデックス」)を発表した。 TIOBEインデックスはプログラミング言語の人気度を示すランキングで、同社が毎月更新している。2023年10月のランキングでは「Python」が14.82%で首位を維持した。2位~5位は「C」(12.08%)、「C++」(10.67%)、「Java」(8.92%)、「C#」(7.71%)だった。 Python、C、C#は、それぞれ長期にわたって首位、2位、5位を占めている。C++は6月にJavaを抜いて3位
私がパソコンを初めて触ったのは小学3年生でした。 当時は親の仕事用のPCに勝手にフリーソフトを入れて遊んでいましたが、自分のPCが欲しくなりジャンクを漁るようになりました。 最初に自分のPCを買ったのは小学4年生だったと記憶しています。 ありがたいことに今は非常に高性能なPCを使えているのですが、このPCを手に入れるまでお小遣いも少なくお年玉も1万円ほどしかありませんでした。 今後の後輩のために、お金のない学生がプログラミングに入門するまでの内容を記録しておこうと思います。 この記事のきっかけになったツイートです。 この記事の目的 この記事は以下のような高校生以下の読者を想定した記事です。 プログラミングとかやりたいけどScratchやMinecraftでやるのは違う気がする 親にパソコンを買ってもらえない 独学で勉強したい・誰かに質問できる環境ではない 私の当時の環境 お年玉は5000~
机のまわりを整理していたら、偶然、大昔の雑誌が出てきた。共立出版の月刊誌「bit」の1985年4月号だった。 雑誌というのは何号かに一度、良い記事の集まった当たり号が出るものらしい。この号も、当たりの1つだったようで、面白い記事が集まっている。そのために、なんとなく捨てられずにとっておいたようだ。巻頭記事は、宮本勲氏の紹介による「本物のプログラマはPascalを使わない」だ。次が、ジェラルド・ワインバーグの短いエッセイ「ロージーの返事」。翻訳は、東京工業大学教授・木村泉氏。それから、御大ドナルド・クヌースの論文「文芸的プログラミング」が載っている。翻訳は黒川利明氏である。さらに、湯浅太一氏と萩谷昌巳氏の「Common Lisp入門」の連載第一回目が始まっている。石田晴久氏の「PC-UX」紹介記事もある、という具合だ。 「本物のプログラマはPascalを使わない」は、注釈が必要だろう。これは
つい3年ほど前まで、ネット上で伝説の投稿「本物のプログラマはPascalを使わない」を読むことが出来たのだが、今はマニアックに日本語訳を探さないと読めなくなってしまった(原文は今でもネット上で参照可能)。 私の記憶が確かならば、日本語訳が月刊『bit』というコンピュータ雑誌に85年頃?に発表されたと思う。当時の私はまだ少年で、プログラミングの師匠(ソフトハウスの正社員)から「読んでみろ」と読ませてもらった記憶があるが、当然半分も理解出来なかった。 そんな私もSEとしては老人と言われるような中年になり、昔を知らない若いエンジニアや若いエンジニア志望の人が非常に多くなった。温故知新と言うが、当時を知る人や、若い人にも読んでもらえれば幸いだ。 はじめにMarch 24, 1983 Real Programmers Don’t Use PASCAL 本物のプログラマはPASCALを使わない Ed
Note: Sections 2.0 and 3.0 of this article were added in response to comments on Hacker News and Reddit. Since its inception on 2000-05-29, SQLite has been implemented in generic C. C was and continues to be the best language for implementing a software library like SQLite. There are no plans to recode SQLite in any other programming language at this time. The reasons why C is the best language to
Ichigo Lispコンパイラ完全解説 はじめに この記事では私がWebAssemblyで書いた Ichigo Lispという LISP 1.5実装のコンパイラのソースコードをすべて解説する。 というのも、最近とあるコンパイラの本を読んで 「説明が特定の実装に基づいてる割にそのソースが一部しか載ってない」 という不満を感じたのだが、自分で書いたコンパイラの記事 を読み返してみると、コンパイラのソースコードが一切出てこないことに気づいた。 こんな記事を書きながらよく人様の本に不満を持てたものだと 瀬戸内海より深く反省したので、 ここにIchigo Lispのコンパイラのすべてのソースコードを解説する。 想定読者とか Ichigo Lispのコンパイラは(ほとんど)すべてLISP 1.5で書かれている。 LISP 1.5特有のややこしい機能などは使っていないので、 Common Lisp、S
04/13-17 Indie Games Week YouTube 04/13-21 Fab 春のクリエイター セール -04/21 FAB 期間限定無料コンテンツ 切換日 04/25 ぶらり川越GAMEDIGG 2 川越 04/28 【第25回UE5ぷちコン】審査結果発表会! 05/22-24 BitSummit PUNCH 京都みやこめっせ 05/30 Unreal Engine Meetup in Shizuoka Vol.2 静岡 06/16-18 Unreal Fest Chicago 2026 シカゴ 06/29-09/04 MegaGrants 募集期間 07/11 OPEN GAME FEST 2026 京都コンピュータ学院 07/22-24 CEDEC2026 パシフィコ横浜ノース + オンライン 07/25 ゲームパビリオンjp2026夏 京セラドーム大阪 08/15-
...and how to ptrace the entry point and m3ss w1th da stack. In this article, you will learn what happens inside the Linux Kernel when a process calls execve(), how the Kernel prepares the stack and how control is then passed to the userland process for execution. I had to learn this for the development of Zapper - a Linux tool to delete all command line options from any process (without needing r
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く