タグ

プログラミングと本に関するamagasa99のブックマーク (32)

  • 『Binary Hacks Rebooted―低レイヤの世界を探検するテクニック89選』に込めた思い - a_kawashiroのブログ

    はじめに 2024年8月28日に『Binary Hacks Rebooted―低レイヤの世界を探検するテクニック89選』というの販売が開始されました。 著者の一人として、このの紹介をします。 お持ちでない方は、Amazon や、楽天、お近くの書店などで購入が可能です。 購入していただけると大変嬉しいです。 どうぞよろしくおねがいします。 どのようなか 『Binary Hacks Rebooted』は2006年に発売された『Binary Hacks』の再構築版です。 再構築版と聞くと『Binary Hacks』とどれくらい異なるのが気になると思いますが、ほぼすべてが異なります。 詳細な目次はこちら で確認できますが、『Binary Hacks』からそのまま引き継いだ Hack は一つもなく、全てが新しい Hack です。 『Binary Hacks Rebooted』は低レイヤプログラ

    『Binary Hacks Rebooted―低レイヤの世界を探検するテクニック89選』に込めた思い - a_kawashiroのブログ
  • 2023年版データ分析の100冊 - Qiita

    わ、去年2023-08-26にこの記事書いたんだね。まる1年だね。2024年版機械学習データ分析の必須10冊+ガチ90冊+Next5冊=105冊書きましたよ。 【データ分析の必読10冊+差をつける10冊+100冊超】データサイエンス、データ分析機械学習関連のがご好評いただいてましたが古くなりごちゃごちゃしているので新たに作り直しました 記事のめあて IT系の技術者の方がデータ分析関連の仕事をするために役立つを紹介する(私が学び始めた時にあれば欣喜雀躍したであろう)記事として書いております。 記事作者の青木はバイオインフォマティクス(ゲノムデータのDB化中心・PerlMySQL)からRで時系列分析→Pythonデータ分析一般と業務をしてまいりました。 ですので研究者目的のはありません。また、データ分析の基礎は主にRで学んだのですが、昨今の流行に合わせてPythonを中心に

    2023年版データ分析の100冊 - Qiita
  • プログラミング文体練習

    レーモン・クノーの『文体練習』から着想を得て執筆された書は、1つの課題を異なるプログラミングスタイルで実装し、さまざまなスタイルの特性やスタイルが生まれた歴史的経緯などを解説します。家の『文体練習』は、「バスの中で起きた諍いと、その張人を後で目撃した」という内容を、公的文書風、宣伝風、業界用語風など、99の異なる文体で表現したものですが、書は、「単語の出現頻度をカウントして多いものから出力する」という課題を、40のスタイルで実装しています。リソース制約が大きかった時代の方法から、オブジェクト指向、純粋関数型、リフレクション、並行処理、ニューラルネットワークまで幅広いスタイルを扱い、マルチパラダイム言語Pythonの威力と魅力を感じられる構成となっています。 訳者まえがき 第2版 まえがき 第1版 まえがき 序章 第Ⅰ部 歴史的スタイル 1章 古き良き時代:アセンブリ言語 2章 Fo

    プログラミング文体練習
  • 計算理論の基礎 [原著第3版] 1.オートマトンと言語 - 共立出版

    Michael Sipser教授による “Theory of Computation” の講義はMIT屈指の名講義で、教室には活気と笑いが絶えることはない。書はその講義ノートをもとにまとめられた、この分野の標準的教科書である。 定理を述べたあと直ちに証明に取りかからず、証明のアイデアを与える工夫、証明の失敗例に言及して理解を深めさせるなど、随所に講義の雰囲気が感じられる、教育的配慮の行き届いた教科書になっている。 第3版では、「決定性文脈自由言語」に関する節が新たに加えられたほか、問題や解答が追加されるとともに、いくつかの話題に関して、第2版刊行後の研究の進展について説明を加えた。 第0章 序論 0.1 オートマトン,計算可能性,複雑さ 0.2 数学的概念や用語 0.3 定義,定理,証明 0.4 証明のタイプ 第1章 正規言語 1.1 有限オートマトン 1.2 非決定性 1.3 正規表現

    計算理論の基礎 [原著第3版] 1.オートマトンと言語 - 共立出版
  • プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena

    JJUG CCC 2022 Fallで「Javaの入門が終わったら何の勉強をすればいいの?」という内容で発表を行いました。 基的なものが作れるようになったけども、イマイチプログラムが組めないというときに、何を勉強すればいいかをまとめました。 入門が終わって作りたいものがあれば作っていきましょう、業務で言われたものが作って行こう、でもなんだかちゃんとしたものが作れないな、もっとちゃんとしたものを作りたい、次のステップに進みたいというときに勉強していく感じです。 資料はこちらです とりあげたについてまとめておきます。 開発作業について 概要 プログラミング言語 アーキテクチャ ミドルウェア ネットワーク デプロイ 理論 開発手法 開発プロセス まとめ フレームワークは入門でやってる前提です。Java入門書「プロになるJava」ではJavaの基から簡単なDB操作、Spring Bootまで

    プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena
  • DDD本を読むためには前提知識が非常に多いよ - Qiita

    初めに きっかけ 新人研修中にDDDとか、PoEAAとかの話が少しだけ出ました。 ただ、イマイチわからないとの声が多数。 理由 なぜなら予備知識がたくさん必要だからです。(ほんとに多い) これはわからなくて当然。 そこで 独断と偏見で、予備知識となる用語を解説します。 偏見多いので、より正確な情報は、書籍やWebで調べてね。 この辺を説明します UML クラス図/シーケンス図 デザインパータン GoF/PoEAA 階層化アーキテクチャ DDDのサマリ 知らなきゃいけない知識が多くて面倒だね。 説明しないけど、オブジェクト指向やデータベースとかの知識も必要だよ。 説明前にDDDのページを見てみよう!!! DDDの最初のページ 「エリック・エヴァンスのドメイン駆動設計」より ??? よくわからないね さっきの図って何? 灰色の中心部分はソフトウェア設計のモデリングを表しています。 モデリ

    DDD本を読むためには前提知識が非常に多いよ - Qiita
  • 『ソフトウェアアーキテクチャ・ハードパーツ』 - Don't Repeat Yourself

    『ソフトウェアアーキテクチャ・ハードパーツ』を訳者の方からご恵贈いただきました。ありがとうございます。献については基的にすべて書評を書こうと思っているため、今回も記事にします。発売は10/27のようです。 ソフトウェアアーキテクチャ・ハードパーツ ―分散アーキテクチャのためのトレードオフ分析 作者:Neal Ford,Mark Richards,Pramod Sadalage,Zhamak DehghaniオライリージャパンAmazon おことわり まず指示語についてです。記事中で「書」「この」と書く場合は『ソフトウェアアーキテクチャ・ハードパーツ』を指します。また、「著者」は書を執筆した人を指すものとします。「筆者」といった場合、それは私のことです。 いわゆるスキミングをした状態で一旦書評をするため、書の細かい議論の見落としや用語の誤認識が含まれる可能性があります。この書評

    『ソフトウェアアーキテクチャ・ハードパーツ』 - Don't Repeat Yourself
  • 名著「UNIXという考え方 - UNIX哲学」は本当に名著なのか? 〜 著者のガンカーズは何者なのかとことん調べてみた - Qiita

    補足 1975: トンプソンはベル研を一時休職し、母校のカリフォルニア大学バークレー校に Version 6 Unix をインストールする作業を手伝う。これは後に BSD Unix として配布される。 1984-1998: ガンカーズが DEC でプリンシパル・ソフトウェア・エンジニアを務めた時期 ガンカーズは DEC の Unix Engineering Group (UEG) に所属 いつから DEC に勤めていたのかは不明 P63 より「小さな会社で Version 7 Unix を使っていた」ので 1979 年よりも後 V7M の開発には関わってなさそう おそらく 1980-1984 の間に DEC に入社したと思われる ガンカーズが「UNIX の考え方」についてのはないだろうか?と考えたのは 1991 年 1988: POSIX.1 標準化(POSIX.2 は 1992 年)

    名著「UNIXという考え方 - UNIX哲学」は本当に名著なのか? 〜 著者のガンカーズは何者なのかとことん調べてみた - Qiita
  • 名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita

    はじめに そりゃまあ 30 年も経てば古くなりますよ。「入門UNIXシェルプログラミング」は今もシェルスクリプトに関するオススメのとして名前が挙がる名著です。しかしこのは古いです。POSIX でシェルが標準化される以前ので、内容から判断するとおそらく 1990 年ぐらいの常識に基づいて書かれています。 古いから参考にならないと言うつもりはありません。しかしどれだけ優れたでも時間の流れには勝てません。良書であると思っているからこそ、古くなってしまった内容は訂正する必要があると考えています。なおシェルスクリプトに関する古いはこれだけではありません。オライリーから出版されているも古いばかりです。いつ頃に(原書が)書かれたなのかを確認した方が良いでしょう。 ということでレビューというていで、古くなってしまった内容の訂正を行いたいと思います。新しく「入門UNIXシェルプログラミング

    名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita
  • プログラマが入門書の次に読めばよさげな書籍 - 覚書

    はじめに 記事は2010年10月に某所で書いた記事を2016/2/2に編集したものです。 プログラムの入門書を読んだ上でプログラムを書いた経験があるけれども、そこからステップアップするために何をしていいのかわからないという人向けのをいくつか紹介したいと思います。なるべく平易な文書で書いてあるものを選びました。ただし、筆者の趣味の問題で、Linux/UNIX関連のが多いです。 「これらを読むだけで凄腕エンジニアになれます」などという無責任なことは言わないですが、飛躍するための1ステップとしては十分役立つのではないかと思います。 珠玉のプログラミング コンピュータシステムを使って物事を解決しようとするとき、どんな状況でどのようなデータ構造、アルゴリズムを使うことによって、結果がどうなったかという面白いエッセイを掲載しています。データ構造やアルゴリズムを扱ったは数式がたくさん出てきて一目

    プログラマが入門書の次に読めばよさげな書籍 - 覚書
  • 無料で読める、東大/京大の「Python教科書」電子書籍

    稿は、2021年5月26日に公開した記事を、2023年11月13日の最新情報に合わせて改訂したものです。東大と京大のどちらも2023年版が公開されています。 プログラミング言語Pythonを習得したい場合、まずは教科書型のコンテンツなどで一通りの基礎知識を学ぶ必要があるだろう。そういった目的に合うコンテンツは、書籍を含めてさまざまなものがある。稿ではその中でも、東京大学もしくは京都大学の授業で使われており信頼性が高い電子書籍、しかも無料で入手可能なものを紹介する。 東大/京大の「Python教科書」電子書籍 東京大学『Pythonプログラミング入門』

    無料で読める、東大/京大の「Python教科書」電子書籍
  • 達人プログラマー(第2版) 熟達に向けたあなたの旅 | Ohmsha

    序文 目次 まえがき-第2版に向けて 第1版のまえがきより 第1章 達人の哲学 1 あなたの人生 2 がソースコードをべちゃった 3 ソフトウェアのエントロピー 4 石のスープとゆでガエル 5 十分によいソフトウェア 6 あなたの知識ポートフォリオ 7 伝達しよう! 第2章 達人のアプローチ 8 よい設計の質 9 DRY 原則? 二重化の過ち 10 直交性 11 可逆性 12 曳光弾 13 プロトタイプとポストイット 14 専用の言語 15 見積もり 第3章 基的なツール 16 プレインテキストの威力 17 貝殻(シェル)遊び 18 パワーエディット 19 バージョン管理 20 デバッグ 21 テキスト操作言語 22 エンジニアリング日誌 第4章 妄想の達人 23 契約による設計(DbC) 24 死んだプログラムは嘘をつかない 25 表明を用いたプログラミング 26 リソースのバラ

    達人プログラマー(第2版) 熟達に向けたあなたの旅 | Ohmsha
  • パケットキャプチャツールをつくる - Qiita

    はじめに ネットワークと C 言語の勉強を兼ねて、簡易的なパケットキャプチャツールをつくってみました。参考にしたのは「ルーター自作でわかるパケットの流れ」という書籍です。 表紙に書かれている「ネットワークはどのようにつながるのかパケットの気持ちになって考えてみたことはありますか?」というコメントにが若干引いておりましたが、こういったディープな内容のは中々ないので有り難かったです。なお、このはタイトルのとおりルータを自作することがゴールになっていて、パケットキャプチャツールの作成はそのための練習という位置付けです。 また、特別講座 ネットワークプログラミング ( FWをつくろう )というサイトも非常に参考になりました。図入りで説明されていてとても分かりやすかったです。 ちなみに、C 言語は大学の時に少しかじったものの、ほぼ初心者に近い状態だったので Udemy の「イメージでわかる!基

    パケットキャプチャツールをつくる - Qiita
  • 「実用的でないPythonプログラミング」がよかった - Stimulator

    はじめに 2020/8/12に発売されたImpractical Python Projects: Playful Programming Activities to Make You Smarterの日語訳書である、「実用的でないPythonプログラミング」をひょんな事から献していただく事になった。(訳者が同僚である) 実用的でないPythonプログラミング: 楽しくコードを書いて賢くなろう! 作者:ヴォーン,リー発売日: 2020/08/12メディア: 単行 ありがちなプログラミング初学者向けのから1段上がった中級者向けの良いだと感じたので、当ブログでたまにやっている筆者、訳者に媚びを売るシリーズの一貫として、感想を記す。 書籍の概要 「実用的でないPythonプログラミング」は、想定する中級レベルのアルゴリズムの問題を例に取り、Pythonでの美しいコードの書き方や、コンピュ

    「実用的でないPythonプログラミング」がよかった - Stimulator
  • 実用的でないPythonプログラミング - 共立出版

    書ではPythonを使い、火星や木星や銀河の最果てを、詩人の魂を、高度な金融の世界を、選挙の不正を、ゲーム・ショーのトリックを、探っていく。マルコフ連鎖解析のような技術を使って俳句を詠み、モンテカルロ・シミュレーションで金融市場をモデル化し、イメージ・スタッキングで天体写真を改善し、遺伝的アルゴリズムで巨大なネズミを育てる。それとともにpygame、Pylint、pydocstyle、tkinter、python-docx、matplotlib、pillowといったモジュールの経験を楽しく積むことができる。 このは2冊目のPythonとみなすことができる。完全な初心者向けのや入門クラスの後に続く、あるいは補完するとなることを狙っている。「impractical」(実用的でない)というタイトルに反して、書の内容はかなり実用的で、文字列やコレクションの操作といった基的なことか

    実用的でないPythonプログラミング - 共立出版
  • C#大統一理論 - Qiita

    C#大統一理論とは CySharpのneueccさんが提唱している理論で、ザックリ言えば サーバーサイドもクライアントサイドもC#で完結できるとよくね? という理論です。 そして現状サーバーサイドとクライアントサイドの両方で使える言語はC#を除くとJavaScriptくらいだと思います(なんかあったら教えてください) C#でクライアントサイドを作るにはXamarinゲームエンジンのUnityが筆頭になります。 C#のよさ いろいろありますが、個人的に上げるなら 比較的言語が若く(C++と比較して)、LINQなどモダンな文法仕様が遂次追加されている(というかLINQは単独で良い)。 単純に.NET Coreがクラスプラットフォームで安定して動作する。マイクロソフトが気を出してるからサーバーサイド、クライアントサイドから機械学習まで使える範囲がめちゃくちゃ広い。 decimalみたいな型ま

    C#大統一理論 - Qiita
  • 江添亮のC++入門が出版された

    江添亮のC++入門が出版された。もうすでに一部書店では店頭に並べているところもあるようだ。 9/18新刊『江添亮のC++入門』KADOKAWA(978-4-04-893071-0)江添亮 著◆「C++」棚にて展開中!次の規格として標準化が進められているC++20を意識しながら、現行の規格に準拠したC++プログラムの書き方を徹底的に解説。C++による格的なプログラム開発に必須の知識を網羅した格的な入門書。 pic.twitter.com/fZEu6Sm1xa — 書泉ブックタワーコンピュータ書売り場 (@shosen_bt_pc) September 18, 2019 このはタイトル通り入門書だ。C++のソースコードのコンパイル方法から初めて、GNU Makeによるビルドシステムを少し触り、基的な文法を解説し、一部のライブラリの仕組みまで解説する。 このの執筆にあたっては、知識のブ

  • アルゴリズムの勉強のしかた - きしだのHatena

    この記事で、アルゴリズムの勉強はアルゴリズムカタログを覚えることじゃないよということを書きました。 プログラムの理論とはなにか アルゴリズムの勉強というのは、スポーツで言えば腕立て伏せや走り込みみたいな基礎体力を養うようなもので、「ソートなんか実際に自分で書くことないだろう」とかいうのは「サッカーは腕つかわないのに腕立ていらないだろう」とか「野球で1kmも走ることなんかないのに長距離の走り込みいらないだろう」とか言うようなものです。 Twitterでアルゴリズムの勉強とはなにかと尋ねられて、「アルゴリズムの基的なパターンを知って、それらの性質の分析のしかたをしって、いろいろなアルゴリズムでどのように応用されているか知って、自分が組むアルゴリズムの性質を判断できるようになることだと思います。 」と答えたのですが、じゃあ実際どういうで勉強すればいいか、ぼくの知ってるからまとめてみました。

    アルゴリズムの勉強のしかた - きしだのHatena
  • プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな

    プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自

    プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな
  • PythonによるTCP/IPソケットプログラミング | Ohmsha

    書は、Pythonによる実装を前提として、ソケットプログラミングに必要な知識をわかりやすく解説する入門書です。TCP/IPやソケットの原理を説明したのち、Pythonでソケットを実装する基礎的方法を示していきます。さらに、Python固有の機能を用いたプログラミング例(モジュールを利用したサーバ実装など)を紹介します。 ダウンロードできるサンプルプログラムが多数掲載されているので、実際に試しながら読み進めて、知識と技術を身につけてください。 【書の基環境】 書は、Windows・Annaconda・Python3の使用を基としています。 しかし、使用しているモジュールはごく標準的であるため、それ以外の環境でも、書で使用しているプログラムは問題なく動作すると考えられます。 【書内で使用するPythonモジュール】 socket sys datetime threading os

    PythonによるTCP/IPソケットプログラミング | Ohmsha