並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 549件

新着順 人気順

DEBUGの検索結果1 - 40 件 / 549件

DEBUGに関するエントリは549件あります。 開発プログラミングprogramming などが関連タグです。 人気エントリには 『プログラマの心の健康』などがあります。
  • プログラマの心の健康

    目次 はじめに 情報不安について 人の話を聞くこと 寝てから考えよう わ・ざ・と、ゆ・っ・く・り・、や・っ・て・み・よ・う ロビンソン式悩み解決法 驚き、最小の法則 むしょうに腹が立つあいつのこと あなたは、そのままでいいんです はじめからやり直したい症候群 人から信頼されるためにはどうしたらよいか トラブルがチャンス あなたはひとりではありません あなたのための聖書の言葉 ぜひ、感想をお送りください リンク集 更新履歴 はじめに 私はプログラマです。 プログラムを書いて生活の糧を得ています。 プログラマというのは精神的にも肉体的にも過酷な仕事だと思われています。 夜遅くまでディスプレイに向かい、 キーボードを叩き、ジャンクフードを食べながらバグをとる…そんな職業だと思われています。 確かにそういうところもありますが、プログラマも人間です。 不健康な生活を長いこと続けることはできません。

    • データベースを遅くするための8つの方法

      はじめに Twitterのタイムラインを見ていたらバッチ系のプログラムで逐次コミットをやめて一括コミットにしたら爆速になったというのを見ました。当たり前でしょ、と思ったけど確かに知らなければ分からないよね、と思って主に初心者向けにRDBを扱うときの注意点をまとめてみました。 プログラミングテクニック的なところからテーブル設計くらいの範疇でDBチューニングとかは入ってないです。 自分の経験的にOracleをベースに書いていますが、他のRDBでも特に変わらないレベルの粒度だと思います。 大量の逐次コミットをする バッチアプリケーションでDBにデータをインサートすると言うのはかなり一般的な処理です。しかしデータ量が少ない時はともかく大量のインサートを逐次コミットで処理するとめちゃくちゃ遅くなります。数倍から十数倍遅くなることもあるので、10分程度のバッチが1時間越えに化けることもザラにあるので原

        データベースを遅くするための8つの方法
      • バニラのアイスを買ったときだけ車のエンジンがかからなくなる不思議な現象、その原因は?

        「目に見えて明らかなことが常に解決策であるとは限らず、どれだけ不思議に見えても事実は事実に過ぎない」ということに気づかされたとして、ウォータールー大学でコンピューターサイエンスを研究するスティーブン・マン教授が不思議なエピソードを紹介しています。 Car allergic to vanilla ice cream http://www.cgl.uwaterloo.ca/smann/IceCream/humor.html ある日、自動車メーカー・ゼネラルモーターズ(GM)のポンティアック開発部に以下のような内容の苦情が寄せられました。 「私がGMに苦情を書いたのはこれで2回目です。私にもおかしな話に思えるので、返事がなくても責めるつもりはありません。私たちの家族はいつも夕食後のデザートにアイスクリームを食べています。毎晩、食事後に家族全員がどの種類のアイスクリームを食べるべきかを投票し、私が

          バニラのアイスを買ったときだけ車のエンジンがかからなくなる不思議な現象、その原因は?
        • 「中国人のAさんがお茶を淹れると会社のネットが繋がらなくなる」そんな訳ないと思いながら調べたら…まさかの日常ミステリー

          れい(猫耳の専門家)🍥 @rei_software 最近あったトラブル 証言1「朝ネットが使えないことがある」 俺(WiFi機器のスリープ復帰障害とかかな? 証言2「有線だけダメ。無線はOK」 俺(有線で朝だけっておかしいな?夜も通信してるし 証言3「Aさん(中国人)が来るとネットが使えない」 俺(人依存かよ…どうせ間違いだろ で、調査したら 2020-11-04 08:43:19 れい(猫耳の専門家)🍥 @rei_software 確かにAさんが出勤してしばらくすると20分ほどネットが使えない端末があるっぽい。 で、出勤してからの行動を見ると ・入室 ・席でカバンを置く ・給湯室でお茶をつくる ・お茶をもって席に ・大抵はメールチェック←このあたりでネットが使えない人が出始める という現象が。 2020-11-04 08:46:26 れい(猫耳の専門家)🍥 @rei_softwar

            「中国人のAさんがお茶を淹れると会社のネットが繋がらなくなる」そんな訳ないと思いながら調べたら…まさかの日常ミステリー
          • オライリーの教育的な良書「Think Python」第2版は日本語訳が無料公開されている。初心者がつまずきやすい点を先回りして説明・各章の終盤にデバッグのヒントが書いてある

            QDくん⚡️AI関連の無料教材紹介 @developer_quant 金融技術職/ChatGPT等の生成AI,機械学習,データサイエンス,プログラミングの勉強に役立つ情報を発信/良質な無料教材,スライド,動画,サイトを紹介/金融工学x機械学習ブログ運営700記事 quantcollege.net /C++/Python/Julia/Rust/Amazonアソシエイト参加中 note.com/quantdeveloper QDくん⚡️AI関連の無料教材紹介 @developer_quant オライリーの教育的な良書「Think Python」第2版は日本語訳が無料公開されている。 cauldron.sakura.ne.jp/thinkpython/th… ・初心者がつまずきやすい点を先回りして説明 ・各章の終盤にデバッグのヒントが書いてある pic.twitter.com/RPX57PNyn

              オライリーの教育的な良書「Think Python」第2版は日本語訳が無料公開されている。初心者がつまずきやすい点を先回りして説明・各章の終盤にデバッグのヒントが書いてある
            • 『龍が如く7』は進化を続け、自動バグ発見どころかほぼ全自動のバグ取りシステムを構築。これぞ無職から勇者に成り上がるデバッグだ!【CEDEC 2020】 | ゲーム・エンタメ最新情報のファミ通.com

              本記事では、1日目におこなわれた『龍が如く7 光と闇の行方』(以下、『龍が如く7』)のデバッグに関するセッション“「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム”をリポート。 セッションには、セガのQAエンジニア・阪上直樹氏と、ビルドエンジニアの粉川貴至氏が登壇した。 バグをハグしたくなる自動システム! まずは阪上氏が開発者たちへ向けて、「バグは好きですか?」という質問からセッションがスタート。最初に龍が如くスタジオの各タイトルで、バグを発見した数の推移が公開された。ゲームの規模が大きくなるにつれ、バグも増加傾向にあるという。 そして全自動バグ取りシステムを運用した『龍が如く7』では、なんと25000ものバグが発見されたという。こう見るとネガティブな印象を受けるかもしれないが、バグ発見数が多ければ多いほど、ゲームクオリティがアップするということだ。 バグとい

                『龍が如く7』は進化を続け、自動バグ発見どころかほぼ全自動のバグ取りシステムを構築。これぞ無職から勇者に成り上がるデバッグだ!【CEDEC 2020】 | ゲーム・エンタメ最新情報のファミ通.com
              • 30 分でわかる!アルゴリズムの基本

                このスライドは、2022/4/14 に実施されたイベント『問題解決のための「アルゴリズム × 数学」- Forkwell Library #1』の基調講演を加筆修正したものです。実際の講演(35 分)を見たい方は、以下の URL をご覧ください。 https://www.youtube.com/wat…

                  30 分でわかる!アルゴリズムの基本
                • ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ | blog.jxck.io

                  Intro こういうタイトルを付けるのはあまり好きではないが、あえてこのようにした。 「ブラウザでキャッシュがヒットしない」 以下は、 Web における Caching の FAQ だ。 サーバで Cache-Control を付与したのにキャッシュがヒットしない サーバで ETag を付与したのに If-None-Match が送られない サーバで Last-Modified-Since を付与したのに If-Modified-Since が送られない 先日も、筆者が書いた MDN の Cache セクションで「記述が間違っているのでは?」と同様の質問を受けた。 Issue about the Age response header and the term "Reload" · Issue #29294 · mdn/content https://github.com/mdn/cont

                    ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ | blog.jxck.io
                  • プログラムがメモリをどう使うかを理解する(1)

                    この記事の狙い この記事は、端的に言えば この図が言わんとしていることを理解できるようになるための解説を目指しています。 昨今のプログラミング環境において、メモリの管理方法やその実態は、詳細を知らずとも目的を達成できるようになっています。といっても、実際にはメモリは無尽蔵に使えません。制約が厳しい環境下で動かさねばならないプログラムもありますし、多少潤沢に使える環境であっても、無駄に浪費するよりは、必要最低限のメモリで効率よく動作するプログラムの方が、多くの場面においては良いプログラムと言えるでしょう。 メモリのことなど知らなくてもプログラムを書けるのは一つの理想ではありますが、現実的にはその裏に隠されている(抽象化されている)仕組みを知っておいたほうが有利です。また、昨今のレトロゲームにおけるタイムアタックで駆使されるメモリ書き換えのテクニックなども、何故そういったことが可能なのかを知る

                      プログラムがメモリをどう使うかを理解する(1)
                    • アーケードゲームを支えるデバッグ術 - SEGA TECH Blog

                      ブログ読者のみなさん、はじめまして。 株式会社セガのベテランプログラマー阿部です。 このエントリーではデバッグ手法のあれこれについての体験談と、デバッグをテーマに一昨年に実施されたプログラマー向け新人研修の概要をお伝えしたいと思います。 EXE ファイルのデバッグ イーサネット絡みのデバッグ 周辺機器絡みのデバッグ デバッグスキルブートキャンプ 黒子に徹する、裏方系エンジニア EXE ファイルのデバッグ 同僚が作った EXE ファイルが手元にあり、あなたはこれを Windows で起動しようとしています。 起動してみたところ何も反応がなく、しかもそれは想定外のことでした。 「何コレ、動かないんだけど」とあなたが同僚に文句を伝えると、同僚はあなたに返します。 「こっちでは動いてるよ」 困りましたね。 あなたの手元には EXE のソースコードも無ければ、Visual Studio もありません

                        アーケードゲームを支えるデバッグ術 - SEGA TECH Blog
                      • 祖母が就寝するとDBインサートができなくなる - Qiita

                        世の中には、一見関係なさそうな物理現象がITシステムに不可思議な影響を及ぼすことがあります 例えば,500マイル以上離れた場所にメールが送れないという話だったり 中国人のAさんがお茶を入れると会社のネットが繋がらなくなる という話があります。 私の場合は、祖母が就寝するとDBインサートが失敗する、という状況でした 実家の見守りシステム 問題が起きているのは、離れた実家にいる一人暮らしの祖母の状態を見守るために作成した自作のシステムです。 気温や湿度、CO2濃度、明るさ、部屋のドアの開閉、冷蔵庫の開閉の状況をモニタリングできるようにしています。 Raspberry Piに各種センサが接続され、定期的にInfluxDBに送信し、Grafanaという可視化ツールでいつでも見られるようにしています。 これらの情報を見ることで、祖母の家の部屋の温度が適切か、活動しているか、部屋にいるかなどが分かりま

                          祖母が就寝するとDBインサートができなくなる - Qiita
                        • シニアフロントエンド開発者みたいにChromeデベロッパーツールを使おう - Qiita

                          開発環境にChromeを選ぶなら知っておきたい12のテクニック Photo by Morning Brew on Unsplash さて、何らかの理由で、開発ブラウザとしてChromeを選んだとします。次は、デベロッパーツールを開き、コードのデバッグを開始します。 Consoleパネルを開いてプログラムの出力を確認したり、Elementsパネルを開いてDOM要素のCSSコードを確認したりします。 でも、Chromeデベロッパーツールを本当に理解していますか?実は、パワフルだけど知られていない機能がたくさん用意されていて、開発効率を大幅に改善できるのです。 ここでは、最も便利な機能を紹介します。お役に立てたら嬉しいです。 ChromeのCommandメニューから始めましょう。ChromeのCommandメニューは、LinuxのShellのようなものです。コマンドを入力してChromeを操作で

                            シニアフロントエンド開発者みたいにChromeデベロッパーツールを使おう - Qiita
                          • 開発体験を変える! Chrome DevTools Tips 7選 - Qiita

                            最近Chrome DevToolsについて調べていて発見した便利機能を紹介します。 誰もが使える最高便利な開発マシンChrome DevToolsを使いこなして開発体験を変えましょう! 1. $0で選択中のDOM要素の取得 特定の要素に何かしたいという時には、要素のIDやclassを確認してConsoleでdocument.querySelector("#xxx")で取得するというのが一般的だと思います。実はそれはカーソル選択と$0で代替できます。 Classや、IDがついていない特定のDOMを取得したい時とかにも使えるので地味に便利です。 手順 カーソルで取得したい要素を選ぶ Consoleタブで$0を入力 最近知ったChrome DevToolsの便利機能① $0 での選択中のDOM要素取得 Elementsタブで選択状態のDOM要素は、Console上で $0 を入力することで取得で

                              開発体験を変える! Chrome DevTools Tips 7選 - Qiita
                            • 君はVS Codeのデバッグの知られざる機能について知っているか - Qiita

                              はじめに こんにちは、kenです。 GWに「暇だな~~、こんな日はVS Codeの公式ドキュメントを読むか!w」と思って何気なく読んでたらデバッグに関して知らない機能がいくつかあったので、今回はそれをご紹介したいと思います。 おそらく今から紹介する機能はあまり知られてないと思います。もし全部知ってたらVS Code完全理解者なので誇ってください。(!?) 以下に記載する内容はVS Codeの公式ドキュメントのDebuggingという章を参考にしています。 注意 これから紹介する機能は言語によって使えたり、使えなかったりします。 今から紹介する機能のデモはすべてPythonで行おうかと思ったのですが、上記の理由からPythonではサポートされていない機能についてはJavaScriptやC++で代用しました。 デバッグで使える便利な機能 ログポイント機能 行を指定しログポイントを追加すると、そ

                                君はVS Codeのデバッグの知られざる機能について知っているか - Qiita
                              • iOS 14 正式版のリリース日発表で、iOSアプリ界隈がドタバタしてるわけ。 - 文字っぽいの。

                                将来読み返して「そんなこともありましたねぇ」と思うために書き残しておきます。なお、記事中の日時は日本時間です。 2020年9月16日 2:00に開催されたAppleEventにて、iOS14のリリース日が2020年9月17日だと発表されました。突然の発表に戸惑い、時にはキレるエンジニアたち。どうしてでしょう。 iOS 14のGM版が出てねぇ AppleEventの開始時点ではiOS 14のBeta版は以前から利用可能でしたが、GM版は出ていませんでした。 Beta版でのデバッグも可能ですがやはりBeta版ですので、不具合も発生します。この不具合がBeta版iOSのせいなのか、アプリのせいなのか判断をするのは難しいです。そのため、不具合報告をAppleにフィードバックを送ったりしてGM版の登場を待ちます。そして、GM版が公開されてから、再度がっつりと動作確認・デバッグすることが多いです。 i

                                  iOS 14 正式版のリリース日発表で、iOSアプリ界隈がドタバタしてるわけ。 - 文字っぽいの。
                                • 「IKEAの椅子に座るとPCの画面が真っ暗になる」という怪現象の理由が判明

                                  エンジニアのFelix Häcker氏が「IKEAで購入した椅子に座ったり立ち上がったりすると、PCのモニターが突然真っ暗になる」という不思議な現象を報告しています。 Felix Häcker: "So folks, don't forget to chec…" - Mastodon https://mastodon.social/@haeckerfelix/110272427676278609 Häcker氏は数週間前から、PCの画面が数秒間突然真っ暗になる現象に悩まされていたとのこと。すべてのケーブルを交換したり、モニターのケーブルを別の端子に差し込んだりしましたが、何の変化もなかったこと。ただ1つだけ、IKEAで購入した「MARKUS」というモデルの椅子を使い始めてから不思議な現象が起こるようになったことから、このIKEAの椅子が関連しているのではないかとHäcker氏は考えました。

                                    「IKEAの椅子に座るとPCの画面が真っ暗になる」という怪現象の理由が判明
                                  • カスタマーサポートだけど、開発チームに敬意が持てない

                                    うちの会社のシステム、ほぼ毎日いろんなバグが見つかってお客さんからクレームがきてる。 バグが直った時に、slack上では開発チームに「修正ありがとうございます」って送ってるけど、なんで自分たちが「ありがとうございます」と言っているのかよくわからない。 開発チームが品質の悪いシステムをつくって、 お客さんがバグを見つけて怒って、 カスタマーサポートがお客さんのサンドバッグになって、 開発チームがバグを直して、 カスタマーサポートが開発チームにお礼を言う。 なにかがおかしい。なんだこれ。 自分で引き起こした問題を自分で解消してなぜ感謝される構図になっているんだろうか。ただのマッチポンプじゃないか。 カスタマーサポートはお客さんをサポートするための仕事なんだよ。 不出来な開発チームのための緩衝材じゃないんだよ。 本当はサポートだけじゃなく、サクセスみたいなことも色々やっていきたいと思ってるよ。

                                      カスタマーサポートだけど、開発チームに敬意が持てない
                                    • console.log(); しか使えなかった自分へ。。。 - Qiita

                                      この記事について Webエンジニアになって早1年半。railsのデバッグをする時にはエディターのデバッガーでスマートにできていたが、javascriptになるといつもconsole.log();ばかりを使って原始的なデバッグをしていた。。。 そんな脳筋な過去の自分に教えてやるための記事です。 console.log({変数名}); 「いきなりconsole.log();の紹介かい!!!」って思われるかもしれませんが、この技を知ったときは「なんで知らんかったんや。。。」って思うくらい便利だったので最初に紹介します。 以下のようなHTMLがある場合 <form> <input type="text" value="名無しの権兵衛" id="name"> <input type="text" value="80歳" id="age"> <input type="text" value="バスケ"

                                        console.log(); しか使えなかった自分へ。。。 - Qiita
                                      • 「はじめてゲームプログラミング」の衝撃

                                        エンジニアの間で話題沸騰「はじめてゲームプログラミング」 6月11日に発売され一時トレンドにも載るほど。 「ナビつき!つくってわかる はじめてゲームプログラミング」。 「ノード」をつなげてプログラミングしてゲームを作っていきます。 例えば「Lスティックノード」と「ヒトノード」を繋いでLスティック操作ができるようになります。 チュートリアルでは「おにごっこゲーム」や「マリカ」みたいなものを作れちゃいます。 私ももちろんプレイして実況配信なんてやってみたのですが節々で「プログラミング学習」という点で衝撃を受けました。 今回はその衝撃を紹介していきたいと思います。 約束された「完成したときの達成感」 「ナビつき!」というタイトルの通り、チュートリアルが懇切丁寧です。 失敗につながるようなメニューは無効化されていますし、しばらく迷って画面上で進捗を出せないでいるとアシストしてくれます。 「完成」す

                                          「はじめてゲームプログラミング」の衝撃
                                        • 「ディスプレイの脇のアヒルちゃんに説明することでバグに気づき、品質を高める」#ラバーダックデバッグ という手法があるけど、絵面だけでも草w

                                          なかめのくまちゃん@質問アプリQuerie.me開発者 @wgextra 「ディスプレイの脇に置いたアヒルちゃんに実装した処理を一行ずつ説明する中で実装者自らがバグに気づき、デバグして品質を高める」ラバーダックデバッグっていう手法があるんだけど、絵面だけでも草なのにどうやらマジで効果絶大らしく、もうこんなん大草原不可避だわ。アヒルちゃん買ってこよ。 pic.twitter.com/80zqajvdPV

                                            「ディスプレイの脇のアヒルちゃんに説明することでバグに気づき、品質を高める」#ラバーダックデバッグ という手法があるけど、絵面だけでも草w
                                          • えっ、まだChatGPT使ってんの? Bingは無料でGPT-4使えますよ! - Qiita

                                            追記(2024年6月4日) この記事は、2023年9月時点の情報です。 当時と比較すると、ここ最近はLLMを取り巻く状況が大きく変化しました。 GPT-4oの登場によってより人間に近いチャットが出来るようになったり、Geminiに新しいモデルが追加されてGPT-4に負けず劣らずの精度が出せるようになったり、その陰でClaude3が着実に成長していたり。 LLMの競争は2023年よりも激しくなり、各社モデルの成長スピードも上がっていると感じています。 サブスクリプションプランを契約することによるメリットが、執筆当時よりも大きくなっていますし、選択肢も大幅に増えました。下記の無償版のチャットを試して、AIチャットの感覚がつかめてきたら、サブスクリプションを契約するのもアリだと考えています。 もちろん、無償版のAIチャットでも、Copilot(記事内ではBingと表記しています)であればGPT-

                                              えっ、まだChatGPT使ってんの? Bingは無料でGPT-4使えますよ! - Qiita
                                            • ラバーダッキング法とは?悩みや問題解決に効果的な実践方法をご紹介!

                                              ラバーダッキングとは問題解決手法の1つに、「ラバーダッキング」というものがあります。IT用語的にいうと「ラバーダック・デバッグ」とも呼びます。ラバーダックはゴム製のアヒルの玩具で、幼児がお風呂に浮かべて遊ぶ姿を見たことがあると思いますが、あのアヒルの玩具です。そんなものが問題解決にどう役立つのか信じられない方もいますよね。 ここでは、ラバーダッキング法を活用した問題解決方法について紹介していきます。 やり方は非常にシンプルです。 ・机の上など、目につくところにラバーダックを置きます。(ラバーダックが入手できなければ、小さなマスコットキャラクターでも可) ・現在、頭を悩ませていることをラバーダックに向かって、声を出しながら話します。 ただこれだけのことですが、声に出して悩みを説明する過程で、「何について悩んでいるのか」「その解決策は何か」ということが次第に見えてきます。 IT系のエンジニアな

                                                ラバーダッキング法とは?悩みや問題解決に効果的な実践方法をご紹介!
                                              • コラム | 岐阜大学大学院医学系研究科脳神経内科学分野

                                                先週の回診で「おばけが見える」という患者さんがいらして,私は「はっきり見えますか?」「足はありましたか?」「いつ出ました?寝たときですか?」と質問し,周囲のドクターを驚かせてしまいました.実は日本に伝承されるおばけ話のうち3分の2は神経疾患に伴うもの(121/183話)であるという報告があります(Dreaming 19;232-8, 2009).高知大学脳神経内科の古谷博和教授による論文です(下記リンクの(5)を参照).おばけ話は表のように4タイプに分かれ,①ナルコレプシーに伴う入眠時幻覚,②てんかん,③レム睡眠行動障害,④レビー小体型認知症(DLB)に伴う明瞭な幻覚に分類されています.睡眠との関連の有無(①と③が関連あり),見え方が明瞭かどうか,おばけが話をするかどうか,が決め手です.代表的なおばけとして,お岩さんは足がなくて不明瞭なため②,座敷わらしは④と考えられています(コメント欄に

                                                • デバッグが早い人と遅い人の違い

                                                  会社にデバッグの早い人と遅い人がいる。 二人を観察していると、色々な違いが見れて勉強になる。 いくつかまとめてみる。 ・デバッグが早い人はコードに着手する前に状況を整理する 期待動作はどのようなものか、現状の動作(バグ)はどんなものか、どんな条件でバグが生じるか、生じないかを整理する 他人からアサインされたタスクの場合、手早くこれらを質問して状況を確認する。 デバッグが遅い人は何も考えずにコードを触り始める。 「何をデバッグしているの?」と聞くと言語化出来ない。 場当たり的、五月雨式に質問する。 ・デバッグが早い人は仮説を持っている。 ざっくりと全体像を把握し、当たりをつけてから作業する。 全ての作業が仮説の検証作業。結果が出た時に次に何をすべきかも把握している。 デバッグが遅い人は自分でも何をやっているか分かっていない。 「よくわからないけど一応2回試してみた」とか言う。 「それは今何を

                                                    デバッグが早い人と遅い人の違い
                                                  • はじめに - Writing an OS in 1,000 Lines

                                                    本書では、小さなOSをゼロから少しずつ作っていきます。 OSと聞くと腰が引けるかもしれませんが、OS (特にカーネル) の基本機能は案外単純です。巨大なオープンソースソフトウェアとしてよく挙げられるLinuxでさえ、バージョン0.01はたった8413行でした。様々な要求に応えるために次第に肥大化していっただけで、当初は大変素朴な実装になっていました。 本書では素朴なコンテキストスイッチ、ページング、ユーザーモード、コマンドラインシェル、ディスクデバイスドライバ、ファイルの読み書きをC言語で実装します。これだけ様々な機能が詰め込まれているのに、コードは合計でたった1000行未満です。 「1000行なら1日でできそう」と思うかもしれませんが、初学者には少なくとも3日はかかるでしょう。OS自作のハマりポイントは「デバッグ」です。アプリケーション開発とは違うデバッグ手法・能力を習得する必要がありま

                                                      はじめに - Writing an OS in 1,000 Lines
                                                    • 「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita

                                                      はじめに 先日ツイッターで見かけた呟き pic.twitter.com/33Yk02hu1U — TOMO (@tomozh) October 14, 2020 そういうこともあるのか的な反応もあるようなので具体例を挙げてみることにする。 例1 所謂FizzBuzz問題。 #include <stdio.h> void fizzbuzz(int n) { int next; int i = 1; do { printf(i % 15 ? i % 5 ? i % 3 ? "%d\n" : "Fizz\n" : "Buzz\n" : "FizzBuzz\n", i); if (i++ >= n) next = 0; } while (next); } int main(void) { printf((char[]){""}); // この位置にprintfが無いとなぜか動かない fizzbuz

                                                        「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita
                                                      • 1,000行で作るオペレーティングシステム

                                                        「Writing an OS in 1,000 Lines」 というオンラインブックを書きました。ゼロから1,000行でOSを作るという内容です。 『自作OSで学ぶマイクロカーネルの設計と実装』 とは違い、最初の一歩の部分を重点的に解説しています。シンプルなモノリシックカーネル設計で、実装の解説だけでなくカーネルプログラミング特有の難しい部分、特に「カーネルをどうデバッグすれば良いか」をおさえた、初学者向きの内容になっています。 3日ほどあれば済むボリュームです。夏休みの自由研究がてら、ぜひチャレンジしてみてください。

                                                          1,000行で作るオペレーティングシステム
                                                        • Qiitaの質問に答えまくって気付いた初心者に足りないバグ解決スキル - Qiita

                                                          ここのところちょっと時間に余裕があり、暇を見つけてはQiitaの質問に答えるという取り組みをやっています。以前StackOverflowでも同様の取り組みをちょっとだけしてたことがあります。 9日間で35個の質問に回答してみて、正直に思うのは「質問の質が悪すぎるなー」ということです。ただ、どう質が悪いのか上手く言語化できず悶々としていました。 そんな折、今朝googleのおススメ記事に飛び込んできたQuaraのこちらの回答を読んで、「これこれ!こういうことよ!」という気持ちになったため、これから質問する人に向けてこの内容を少し嚙み砕いてまとめてみます。 ベテランはどうデバッグをしてるのか (自分をベテランと言っていいのかはさておき)日頃からコードを書いていると、デバッグには、その時使っている言語やフレームワークによらず、ある程度の行動パターンがあることに気付いてきます。 デバッグには難しい

                                                            Qiitaの質問に答えまくって気付いた初心者に足りないバグ解決スキル - Qiita
                                                          • ミクシィ、新卒向け研修資料を無償公開 「Git」と「テスト・設計」 今後も随時公開

                                                            MIXI(旧社名ミクシィ)は5月8日、同社の新入社員向け技術研修で使用した資料を無償公開した。分散型バージョン管理システム「Git」とテスト・設計研修の資料をスライド共有サービス「Speaker Deck」で公開中。動画も後ほど公開するという。 Gitの研修資料は約470ページあり、Gitを使ったチーム開発の進め方やGitの内部構造などを記載している。テスト・設計研修の資料は約40ページ構成で、テスト技法やコードレビューのコツなどを紹介。いずれの資料も同社の社員が作成した。 同社は2021年から新入社員向け研修の資料を一般公開しており、22年はUnityでのゲーム開発やAI、セキュリティ研修など全12種類の資料を自社ブログに掲載していた。同社の公式Twitter(@mixi_engineers)は「今後も随時資料や動画を公開していく」としている。 関連記事 ミクシィ、技術カンファレンスを初

                                                              ミクシィ、新卒向け研修資料を無償公開 「Git」と「テスト・設計」 今後も随時公開
                                                            • SQLが重いときに見るお気軽チューニング方法

                                                              SQLのチューニング方法 昔Qiitaで書いたものをzennにうつして、若干の修正、追加をしてみました。 ORACLEでの経験を元に書いていますがコストベースのリレーショナルデータべースなら大体共通の考え方だと思うので他にも使えると思います。 SQLのチューニングといえば比較的容易に済むインデックスをとりあえず作成する。といった対応を取られがちですが、数万レコード程度でのデータ量ではあまり効き目がなく(自分の経験則)、どちらかといえば、結合順が大幅に狂ってたりすることが原因のことが多かったりします。よって本当にインデックスがないことが原因なのか?を熟考する必要があります。(例えばID以外のフラグとかコードに単項目indexを貼ってるのもみたことがあります。怖いけど実話) また、インデックスを作りすぎるとオプティマイザが狂いやすくなって他のSQLにも悪影響を及ぼしたりするので結構熟慮して追加

                                                                SQLが重いときに見るお気軽チューニング方法
                                                              • すぐ消えてしまう要素をDevToolsで確認するTips集

                                                                はじめに こんばんは! 皆さんは以下のようなすぐ消えてしまう要素をDevToolsで確認したいときはどうしますか? 常に表示されるようにわざわざコードを修正してから、DevToolsで要素を確認したりしていませんか?DevToolsをうまく使うことで、わざわざコードの修正をせずとも簡単に要素の確認をできるのでそのちょっとしたTipsのご紹介です! ① CSSイベントでの確認方法 まずはCSSイベントで要素の表示制御を行っているパターンでの確認方法です。以下のようにCSSイベントのhoverで表示制御をしている要素を例にDevToolsで確認する方法を見ていきましょう! import "./style.css"; export const Index = () => { return ( <div> <button className="myButton">Button</button> <

                                                                  すぐ消えてしまう要素をDevToolsで確認するTips集
                                                                • 0から始めるNode.jsパフォーマンスチューニング

                                                                  近年の Node.js は API のサーバとしてはもちろん、Nuxt.js や Next.js といった SSR や BFF などフロントエンドのためのバックエンド言語としての人気が高まっています。 フロントエンドエンジニアがコンテキストスイッチ少なくバックエンドの整備ができることは非常に大きな利点です。 ですが、フロントエンド(ブラウザ側)とバックエンド(サーバ側)ではパフォーマンスチューニングで見るべき点が大きく違います。 しかし Node.js アプリケーションのパフォーマンスイシューの見つけ方などがまとまっている資料は少ないです。 そこで、本記事ではフロントエンドエンジニアが Node.js でパフォーマンスイシューを見つけ、改善するため自分が普段パフォーマンスチューニングを依頼されているときにみている基礎的なポイトをまとめていきます。 1. 計測ステップlink Node.js

                                                                    0から始めるNode.jsパフォーマンスチューニング
                                                                  • [速報]AWS、クラウド障害をわざと起こす「AWS Fault Injection Simulator」発表。カオスエンジニアリングをマネージドサービスで実現。AWS re:Invent 2020

                                                                    Amazon Web Services(AWS)は、開催中のオンラインイベント「AWS re:Invent 2020」で、アプリケーションに対してクラウド障害のシミュレーションを行える新サービス「AWS Fault Injection Simulator」を発表しました。 クラウド上で稼働するアプリケーションの耐障害性などを高めるために実際にクラウド障害をわざと発生させて問題点をあぶりだす手法は、「Chaos Enginieering(カオスエンジニアリング)」と呼ばれています。 Netflixが2012年にカオスエンジニアリングのためのツール「Chaos Monkey」を公開したことで広く知られるようになりました。 参考:サービス障害を起こさないために、障害を起こし続ける。逆転の発想のツールChaos Monkeyを、Netflixがオープンソースで公開 今回発表された「AWS Faul

                                                                      [速報]AWS、クラウド障害をわざと起こす「AWS Fault Injection Simulator」発表。カオスエンジニアリングをマネージドサービスで実現。AWS re:Invent 2020
                                                                    • あなたはps -ef派なのか、auxf派なのかをちょっとだけまとめてみた | ten-snapon.com

                                                                        あなたはps -ef派なのか、auxf派なのかをちょっとだけまとめてみた | ten-snapon.com
                                                                      • Masanori Kusunoki / 楠 正憲 on Twitter: "COCOAは途中まで私たち補佐官も入っていたので、決して運用保守を軽視したつもりはなかったのですが、EN API自体のプライバシー哲学に沿おうとすると既存のデバッグ用ツールがほぼ使えなくなってしまったのと、EN APIの更新がスマ… https://t.co/iQ5kltAo9k"

                                                                        COCOAは途中まで私たち補佐官も入っていたので、決して運用保守を軽視したつもりはなかったのですが、EN API自体のプライバシー哲学に沿おうとすると既存のデバッグ用ツールがほぼ使えなくなってしまったのと、EN APIの更新がスマ… https://t.co/iQ5kltAo9k

                                                                          Masanori Kusunoki / 楠 正憲 on Twitter: "COCOAは途中まで私たち補佐官も入っていたので、決して運用保守を軽視したつもりはなかったのですが、EN API自体のプライバシー哲学に沿おうとすると既存のデバッグ用ツールがほぼ使えなくなってしまったのと、EN APIの更新がスマ… https://t.co/iQ5kltAo9k"
                                                                        • 100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋

                                                                          要約 技術的な話だけ教えて、という方のために先に結論だけ書いておきますと、PostgreSQLはクエリを実行した時点で全レコードの情報を一気に読んできてヒープを埋めてしまう場合がある、ということ話です。 たとえば、ResultSet#nextメソッドを使いながら処理を回すようなコードを書いて、少ないヒープでも処理できるようにするのは常套手段だと思いますが、そういうコードを書いていても一気にヒープを消費してしまうことがあるのです。詳しくはこのドキュメントを見てください。 https://jdbc.postgresql.org/documentation/head/query.html#query-with-cursor ことの発端 ちょっと仕事でJava + jOOQ + PostgreSQLで、DBのデータを集計するようなバッチ処理を書いてまして、もちろん俺様の書いたコードにバグなんてある

                                                                            100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋
                                                                          • ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク

                                                                            はじめに こんにちは、皆さん。今日は、シェルスクリプトを使った高度な自動化のベストプラクティスとパターンについて解説します。これらは、ちょっとした知識で実行でき、作業を大幅に効率化できるTipsです。シェルスクリプトは、特にUNIX系システムでの自動化タスクに欠かせないツールです。適切に使用すれば、複雑なタスクを効率的に、そして信頼性高く実行できます。 トイルとは、反復的でマニュアルな作業のことを指します。これには、例えば、手動でのシステムのスケーリングや、エラーのトラブルシューティング、ルーティンなメンテナンス作業などが含まれます。トイルを特定し、それを自動化することで、エンジニアはより創造的なタスクやプロジェクトに焦点を合わせることができます。 トイルを判別する方法としては、以下のような基準が挙げられます: 手作業であること 完全な手作業だけでなく、「あるタスクを自動化するためのスクリ

                                                                              ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク
                                                                            • カナダ大使館でだけ名刺交換やしりとりが失敗する話|南治 一徳

                                                                              祖母の就寝と、システムの不具合が同期して起こる事件。IT業界にはこういった事件がまま見られる……。ITサスペンス物としてこういうネタ楽しいのができるかもしれない。いや、間口狭すぎるか? 祖母が就寝するとDBインサートができなくなる https://t.co/q2PBRL3JzS — 寺島壽久/ゲームキャストの中の人 (@gamecast_blog) January 8, 2024 この手の話、自分も大好物なんで早速リンク先に飛んで読ませていただいたのですが、自分の経験でもちょうどこんな話に当てはまる出来事があったことを思い出したので、noteにまとめました。それが、タイトルにもある「カナダ大使館でだけ名刺交換やしりとりが失敗する話」です。 まず、前提としてこの話は「どこでもいっしょ」(以降、どこいつ)というゲーム開発中の話でになりまして、25年ほど昔の話になります。タイトル中の「名刺交換」

                                                                                カナダ大使館でだけ名刺交換やしりとりが失敗する話|南治 一徳
                                                                              • リモート開発を助ける「思いやりのある文章」の書き方 - ROUTE06 Tech Blog

                                                                                新しいプロジェクトに参加してローカル環境を作り始めると、何かとエラーに遭遇します。 また、設計や実装について開発者に相談したり、コードレビューを依頼することもありますね。 開発者が近くにいれば、(それなりに、程よいタイミングを見計らって)話しかけて、エラーの原因を調べてもらったり、設計方法をホワイトボードにスケッチしながら相談できますが、リモート開発ではそうはいきません。 リモート開発で成果を上げるためには、このブログのように何の装飾もインタラクティブ性もない文章で、自分の状況や相談したい事柄を正確に伝える必要があります。 とはいえ私は昔、「文章がわかりにくい」と毎日、毎日上司にフィードバックをもらうくらいには文章を書くのが下手くそでした。今もわかりやすい文章が書けている自信はありません。 それでも、これまでに何度か、議論が好転したり、プロジェクトが前に進むきっかけとなる文章を書けたことが

                                                                                  リモート開発を助ける「思いやりのある文章」の書き方 - ROUTE06 Tech Blog
                                                                                • Chrome Devtoolのmonitorを使うと関数の呼び出しを観察できて便利 - ぱすたけ日記

                                                                                  を読んで思い出したのでご紹介です。 元の記事と同様に以下の関数 sum について、 function sum(nums, acc = 0) { console.log({ nums, acc }); if (nums.length === 0) return 0; if (nums.length === 1) return nums[0]; return sum(nums.slice(1), acc + nums[0]); } この関数sumの引数 (nums と acc) の呼び出しごとの変化を見たい場合は、所謂プリントデバッグや debugger を使うのは一般的なテクニックとしてよく知られていますが、このような関数呼び出し時の引数を知りたい場合はmonitor(function)という関数を使うことで同様の効果を得ることが出来ます。 この場合は monitor(sum)とした後に、関

                                                                                    Chrome Devtoolのmonitorを使うと関数の呼び出しを観察できて便利 - ぱすたけ日記

                                                                                  新着記事