タグ

プログラミングに関するzia_glassのブックマーク (25)

  • ハイパーバイザの作り方

    「ハイパーバイザの作り方」公開ページ こちらのページはSoftware Design誌の連載記事「ハイパーバイザの作り方」の公開ページです。 「Linuxのしくみを学ぶ - プロセス管理とスケジューリング」も公開中ですので、こちらも是非ご覧ください。 公開中の記事 第1回 x86アーキテクチャにおける仮想化の歴史とIntel VT-x [HTML] [PDF] [ePub] [mobi] [Kindle] 第2回 Intel VT-xの概要とメモリ仮想化 [HTML] [PDF] [ePub] [mobi] [Kindle] 第3回 I/O仮想化「デバイスI/O編」 [HTML] [PDF] [ePub] [mobi] [Kindle] 第4回 I/O仮想化「割り込み編・その1」 [HTML] [PDF] [ePub] [mobi] [Kindle] 付属資料 最近のPCアーキテクチャにお

  • CS 61A Summer 2024

    older newer Announcements: Sunday, June 9 Welcome to CS 61A! Ed contains timely course announcements. CS 61A does not use bCourses/Canvas. Lecture begins Monday 6/17. Discussion section begins Tuesday 6/18. Lab section begins Monday 6/24. This website is under construction and its contents are subject to change.

  • プログラマーのススメ

    人は全員プログラミングを勉強した方が良い。 プログラミングは簡単だし、IT企業なら開業資金も少額で済む。(最初はパソコン、回線、プリンターがあれば十分) 自己資金で数カ月で軌道に載せれるようなネタしかできない。 IT起業の道のりを教えてあげるよ。 下請け:他人が作って欲しいものを作って納品する=資金を増やす自転車操業の段階。 自社開発:自分で作りたいものを作って売る=自転車操業からストックビジネスに移行する。レベニューシェア=下請けと自社開発の中間のビジネスモデル。 増田に投稿できるってことは、パソコンぐらい持ってるんだろ? 屋や図書館に行って、自分に合った分かりやすいプログラミングのを探してみよう。 仕事を取ってくる方法は、ソニックガーデンのやり方を参考にしたら良い。 https://www.sonicgarden.jp/ プログラミング入門最初に1冊だけ推薦するなら「プログラミ

    プログラマーのススメ
  • 入社からの半年間でコードレビューで指摘されたことのまとめ - 30歳からのプログラミング

    実務未経験でプログラマとして入社して半年以上が経った。 コードレビューで指摘されたことを備忘録としてまとめておく。 自分なりにまとめたものなので、レビュアーが言いたかったこととニュアンスや解釈がずれている可能性はある。 初歩的な内容ばかりで我ながらうんざりする。 せっかく優秀な同僚ばかりなのだからもっと高度なことを学びたいが、こういう初歩的なことが出来ないのが俺の現状なのだから、仕方ない。 そもそもPullRequestを送ったこともなかったわけだし。入社初日は、一人でPullRequestの出し方を練習していた。 それを考えればまあ、こんなものだろうか。 当たり前のことをちゃんと当たり前に出来るようになって、早く、次のステージに進みたい。 PullRequest(PR) PRのタイトルは分かりやすいものに。必要に応じてチケットの番号なども入れる。 コミットやPRは出来るだけ粒度を細かくす

    入社からの半年間でコードレビューで指摘されたことのまとめ - 30歳からのプログラミング
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • プログラマが知るべき97のこと

    プログラマが知るべき97のこと大人気の書籍『プログラマが知るべき97のこと』のエッセイを無料で公開中!すべてのプログラマにおすすめのがウェブで読めるようになりました。 エッセイ一覧分別のある行動関数型プログラミングを学ぶことの重要性ユーザが何をするかを観察する(あなたはユーザではない)コーディング規約を自動化する美はシンプルさに宿るリファクタリングの際に注意すべきこと共有は慎重にボーイスカウト・ルール他人よりまず自分を疑うツールの選択は慎重にドメインの言葉を使ったコードコードは設計であるコードレイアウトの重要性コードレビューコードの論理的検証コメントについてのコメントコードに書けないことのみをコメントにする学び続ける姿勢誰にとっての「利便性」かすばやくデプロイ、こまめにデプロイ技術的例外とビジネス例外を明確に区別する1万時間の訓練ドメイン特化言語変更を恐れない見られて恥ず

    プログラマが知るべき97のこと
  • 100万倍速いプログラムを書く - Qiita

    この記事はなんなの プログラミングを始めたばかりで高速化の大枠が全くわからず意味不明なことをしていた在学時、こんな資料があったら良かったのになあ、と思って書いたもの。 書いて、在学時研究室に押し付けた後紛失したと思われていたものが発掘されたもの。 要約 ライブラリがあるならそれを使う。 ライブラリが無ければ、ボトルネック部分を探してそこだけ高速な言語で書きなおすか、可能なら事前コンパイルする。 最初から全てを Low-Level な言語で書くと大変、でも結果のプログラムは速い。 以下の時間の計測ではインポートにかかる時間は除いています。 使用するもの Python(3系) Numba Scipy Line Profiler Fortran(gfortran) QUADPACK QUADPACK以外の導入方法の説明は色んな所にあるので各自でお願いします。上3つに関しては、個人的にはAnaco

    100万倍速いプログラムを書く - Qiita
  • ctags日本語対応版

    exuberant ctags 日語対応版 ctagsって何? Exuberant ctagsの魅力は? 日語マニュアル (Update 2005/06/04) Exuberant Ctags FAQ 日語訳 (上4つの翻訳者は寺田 隆平さんです。ありがとうございます。) 日語ヘルプメッセージ 状況別使用例 exuberant ctags 日語対応版ダウンロード Win32版(バイナリのみ) (ec58j2w32bin.zip  162,098 byte) Win32版(ソース&バイナリ) (ec58j2w32.zip  589,133 byte) UNIX版ソース (ctags-5.8j2.tar.gz  518,112 byte) 変更履歴 ctags5.8J2 (2010/12/25) ・--jcodeオプションで sjis, euc, utf8 が指定された場合は出力する

  • Qiitaコミュニティガイドラインについて - Qiita Blog

    いつもQiitaをご利用いただき、ありがとうございます。Increments CEOの海野弘成です。 プログラマーのための技術情報共有コミュニティサービスとしてQiitaは皆さまにご愛用頂いておりますが、このたび、改めてコミュニティにご参加いただく際のガイドラインを「Qiitaコミュニティガイドライン」としてまとめました。 ガイドラインとともに、創業時の想いや私達が目指す世界について、「Qiitaへの思い」として公開させていただいております。より良いコミュニティを共に作り上げていくために、まずはスタートとゴールを明らかにすることで、皆さまとビジョンを共有したいと思っています。 また、コミュニティのあり方について、「していただきたいこと(Please Do)」や「しないでいただきたいこと(Please Don’t)」についても明らかにしました。これまで、こういった内容は利用規約や「良い記事を

  • 関心の分離 - Wikipedia

    以降、ReactというJavaScriptライブラリ( メタとコミュニティにより開発 )での例を挙げる。このライブラリには、ライフサイクルメソッド という考え方を持っている。ライフサイクルメソッドがもたらした機能的凝集度の低さをhookによって克服し、SoCを実現している。 ライフサイクルメソッドは周期(ライフサイクル)のある時点で自動的に呼び出されるメソッドである。例えばコンストラクタはインスタンス作成時のメソッドであり、onMemberChangedメソッドはメンバ更新時に毎回呼び出されるメソッドである。ライフサイクルメソッドとして時間的に適切な処理を実装すれば、ある時点でおこなわれる処理が一か所に集約され時間的凝集度が高いコードになる(時間的なSoCがおこなわれている)。 例えばタイマー2つによるカウントダウンUIを考える。ライフサイクルメソッドを利用する場合、開始時(constru

  • SIerの下請け開発者ってレベル低すぎない? - UXエンジニアになりたい人のブログ

    ネット上ではSIer批判=技術のことをわかっておらずプログラムも書けずPMも出来ない非効率でダメダメな上流工程と、 人月単位での労働力提供という業界の慣習に縛られ、持ち前の優秀な技術力・知識を生かせず非効率な作業を強いられているかわいそうな下請け開発者、という構図が確立されているように思います。 自分が関わるまでは、まあそうなんだろうなと思っていましたが、しかし実際にそういう立場のひとと関わりをもつにつれて、どうもそうではないのではないかと思うようになりました。このあたりの実情を書いていこうと思います。 なお、先に言っておきますが記事で書くことは、上流工程がどうのとか、業界の多重請け負い構造がどうのとか、給料が安くてとか労働条件が過酷でとか、そういう話とは全く関係がなく、純粋にプログラミングのスキルの話だけです。 対象はおもに詳細設計、実装UTだと思ってもらえれば。外部仕様が決まった状態

    SIerの下請け開発者ってレベル低すぎない? - UXエンジニアになりたい人のブログ
  • ISUCON公式Blog:

    Tweet こんにちは、ISUCONの運営を担当している櫛井です。 ISUCONとはLINEヤフー株式会社が運営窓口となって開催している、お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトルです。過去の実績も所属している会社も全く関係ない、結果が全てのガチンコバトルです。 2023年11月25日(土)にガーデンテラス紀尾井町にあるOpen Collaboration Hub「LODGE」にて、運営と一部の選手が集まりISUCON13を開催しました。会場の様子を含め、レポートをお届けしたいと思います。 関連エントリ ISUCON13開催決定!今年は選のみ開催!&参加チームとメンバーリスト #isucon : ISUCON公式BlogISUCON13 関連エントリまとめ : ISUCON公式Blog ISUCON13まとめ - Togetter

  • 高機能バイナリトレーサqiraはどのように実装されているのか - るくすの日記 ~ Out_Of_Range ~

    1. qiraとは qiraとは世界的なハッカー、George Hotz氏 (ジョージ・ホッツ - Wikipedia) によって開発された高機能バイナリトレーサーであり、qiraという名は(QEMU Interactive Runtime Analyser)の略である。 GitHub - BinaryAnalysisPlatform/qira: QEMU Interactive Runtime Analyser 略語を見れば分かるがuser mode QEMUを使用したバイナリ解析ツールであり、ELFなどの実行形式バイナリを実際に動作させて各命令のレジスタ、メモリへの操作を逐次記録する。 これらの記録はweb UIを通して好きな命令位置にカーソルを移動させるだけで見ることができ、その時のレジスタ、メモリの記録が再現される仕組みになっている。ソフトウェアのデバッグやCTFにおけるバイナリ解

    高機能バイナリトレーサqiraはどのように実装されているのか - るくすの日記 ~ Out_Of_Range ~
  • 論理的思考の放棄 - 登 大遊@筑波大学情報学類の SoftEther VPN 日記

    僕は、1 日に少なくとも 3,000 行程度、多く書くときで 10,000 行以上のプログラムを書くことができる。その結果、多い月で 10 万行 / 月くらいである。なお、言語は書くソフトウェアの性質上、大半が C 言語である。 また、プログラミングにはバグが付き物だが、ここ 2、3 年の間は、発生するバグの数を極めて少なく保つことに成功している。 とても大きく複雑で、かつレイヤ的に OS に近い処理をたくさんやるプログラムを書く場合は、プログラミングをするときでも、事前の設計が極めて重要となる。設計をうまく行わないと、後になって全面的に書き直しをしないといけなくなったり、パフォーマンスが低下したりする原因となり、開発者の苦痛の原因となる。 当然のことながら、これまで書いたいくつかの大きく複雑といえるソフトウェアの大半の設計も、自分で行った。いかなる場合でも、設計は、最初の 1 回目で確定

    論理的思考の放棄 - 登 大遊@筑波大学情報学類の SoftEther VPN 日記
  • バベル案内

    Steve Yegge / 青木靖 訳 2004年9月 これは駆け足の言語案内だ — Amazon Developers Journalのために今月書いていたのだが、どうもこれを見苦しくないようにする方法を見つけられなかった・・・。 ひとつには、私はどうも粗野で口汚くなりがちで、オフィシャルな趣のあるAmazonの出版物に載せるのは不適切に思えた。それでかわりに誰も読まない自分のブログに押し込めてしまうことにした。読んでるのはあなたくらいのものだよ。どうも! もうひとつ言うと、これは当に書きかけのものであり、そこかしこの断片を集めたものでしかない。全然磨き上げられていない。これもブログエントリにする理由になっている。ブログなら別に良質である必要も完全である必要もない。単に私が今日考えたことというだけのものだ。ではお楽しみを! この駆け足の案内では、C、C++、Lisp、JavaPerl

  • Over capacity! - Codeshare

    Sorry for the trouble. Please wait a moment and try again.

  • ひしだまのコンピューター関連技術メモ

    S-JIS[1998-01-11/2024-08-21] 変更履歴 ひしだま's 技術メモページ 自作ソフトを作った時などに気付いた事などをメモにしています。(自分のノート代わり) Access [/2005-03-15] Ant [/2015-12-28] Apache [/2007-09-28] AsakusaFW [/2021-12-21] awk [/2014-05-01] AWS [/2021-07-13] C言語 [/2016-04-09] Cassandra [/2010-10-21] CMake [/2016-04-27] CVS [/2007-10-04] Cygwin [/2016-11-26] DigDag [/2021-10-30] Docker [2023-10-07] DOS [/2016-12-10] Eclipse [/2018-09-22] Embulk

  • Education Ecosystem | The go-to platform for project-based learning

    Education Ecosystem is a Project-based Learning platform that teaches students how to build products using real project examples in topics such as Programming, Blockchain, Cybersecurity, Game Development, Data Science and Artificial Intelligence.

    zia_glass
    zia_glass 2016/06/04
    Emacsやらvimの操作を見たい
  • ウンコード・マニア

    「なんだこの糞コードは!(怒)」「書いた奴出てこい!(怒)」 こんな声を聞いたり、叫んだりしたことはありませんか? ウンコードについて学ぶことによってウンコードを撲滅しましょう! とりあえず、趣のあるウンコード鑑賞から始めて下さい お知らせ 2013-06-27 profile image をTwitter API1.1に対応しました。Thanks for Profile Image API For Twitter 2013-06-16 Twitter API1.1に対応しました。 2012-12-05 職人ランキングを追加しました。 2012-11-21 レコメンド機能を追加しました。 Twitterアカウント @unkode_mania で更新情報をつぶやいてます 障害情報 2012-08-14 障害情報: 19:20 - 21:59 くらいの間、internal server err

  • デザインパターンを読み解く

    ポリモーフィズム(サブクラスによる切り替え、抽象化) ここに分類されるのは、オブジェクト指向の第3原則、ポリモーフィズムを使用したパターンです。ポリモーフィズムを使用すると、動的に使用するクラスを切り替えることができます。<参照> 他に分類されているものでも、ポリモーフィズムが重要な位置を占めているものもありますが、ここではそれしか使われていないものを扱います。 ただデザインパターン全体を通して強調されているのは、インターフェースでプログラミングするということです。実装への依存をなくし、そうすることによって設計の骨組みを明らかにするのです。 Template 次のようなメソッドがあった場合に、処理Bのところを条件によって変えたい場合があるとします。 class Hogehoge { void doit() { ... 処理A ... ... 処理B ... ... 処理C ... } }