muramasaosxのブックマーク (2,755)

  • 新人プログラマ アンチパターン:原理原則多すぎて脳みそOOMエラー - Qiita

    この記事で伝えたいこと(忙しい人向け) 新人ほど「保守していく」ことの感覚が腹落ちしにくいのではないか説 我々は保守しやすいコードを書くべきであり、保守しやすいコードを達成するための手段として原理原則やデザインパターンが存在している 保守ってなんで必要なんだっけ?という体系的な理解を持ったうえで、具体的なテクニックを学んでいくことが大事 // 追記(2023/12/9) なんとミノ駆動 さんにコメントいただけました。 もちろん良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方は読んで影響を受けてます。 とってもうれしい。 想定読者 新卒 ~ 2年目くらいまでのプログラミング初心者 Webアプリの保守開発をしているエンジニア 3ヶ月前くらいの自分(未経験からエンジニアになって1年くらい) こんなことないでしょうか 先輩などから原理原則の観点を共有してもらったり、

    新人プログラマ アンチパターン:原理原則多すぎて脳みそOOMエラー - Qiita
  • Webアプリ版Photoshopを実現させた最新Web技術をGoogleが紹介。WebAssemblyのスレッドによる高速化、ストリーミングコンパイル、Web Componentsなど

    Webアプリ版Photoshopを実現させた最新Web技術Googleが紹介。WebAssemblyのスレッドによる高速化、ストリーミングコンパイル、Web Componentsなど Photoshopは画像の作成や加工といった専門的な用途を目的に、長年にわたって作り込まれた代表的なデスクトップソフトウェアの1つと言えます。 プロフェッショナルな用途を満たす膨大な画像処理の機能を細かく作り込まれたユーザーインターフェイスから操作し、画像の変形や加工、フィルタリングなどの大量の複雑な演算処理が実行されるなど、Webアプリケーションへの移植を難しくする要素が満載です。 それらの困難を克服し、Photoshop Webではデスクトップ版Photoshopでよく使われる一般的な機能を、類似のユーザーインターフェイスでWebに実装し、商用サービスとして提供することに成功しました。 Photosho

    Webアプリ版Photoshopを実現させた最新Web技術をGoogleが紹介。WebAssemblyのスレッドによる高速化、ストリーミングコンパイル、Web Componentsなど
  • 一家に1枚|科学技術週間 SCIENCE & TECHNOLOGY WEEK

    文部科学省では、国民の皆様が科学技術に触れる機会を増やし、科学技術に関する知識を適切に捉えて柔軟に活用いただくことを目的として、平成17年より、毎年1枚、学習資料「一家に1枚」を発行しています。 「一家に1枚」シリーズは全20枚、様々な科学技術を紹介しています。令和3年度発行の「海」以降、特設サイトや解説動画なども公開しております。みなさんの気持ちをワクワクさせてくれるような、お気に入りの「一家に1枚」を見つけていただければ幸いです。 文部科学省では以下の学習支援コンテンツポータルサイトを開設しています。 きみの好き!応援サイトたのしくまなび隊 へリンク

    一家に1枚|科学技術週間 SCIENCE & TECHNOLOGY WEEK
  • 1,000行で作るオペレーティングシステム

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

    1,000行で作るオペレーティングシステム
  • USB Type-Cに置き換える方法 第1話 Type-Cの原理を知る

    ノートパソコンやタブレット、スマートフォンを中心に、USB Type-C搭載の機器を目にすることが多くなりました。表裏関係無く接続できるコネクターと、リバーシブルに接続できるケーブルによって、利便性が向上したと感じられている方も多いかと思います。USB Type-Cを機器に搭載するメリットは他の記事にお任せするとして、ここでは実際に現行のUSBコネクターをUSB Type-Cに置き換えるための方法を連載でご紹介します。 記事は第1話概要編となり、置き換えるためにまず知っていただきたいType-Cの原理について、重要なポイントを説明します。実際に置き換えるための設計方法については、今後の実践編で掲載していきます。 概要編 USB Type-Cに置き換える方法 第1話 Type-Cの原理を知る 実践編 USB Type-Cに置き換える方法 第2話 USB2.0の場合 実践編 USB Type

    USB Type-Cに置き換える方法 第1話 Type-Cの原理を知る
  • Linux システムコール 徹底入門

    Linux システムコールについて調べたことをまとめる。システムコールの仕組みを理解すると、 OS とアプリケーションがどのように連携して動いているのかを理解できるようになります。 システムコールは CPU に依存する処理が多いため、 x86_64 に絞ります。 検証環境]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ]# cat /proc/cpuinfo | head processor : 0 vendor_id : GenuineInte

    Linux システムコール 徹底入門
  • How does the Linux Kernel start a Process

    ...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

    How does the Linux Kernel start a Process
  • Broken Ownership

    Have you been in any of these situations? Managers make decisions that’s out of their leagues and everyone else in the team ends up paying for it. Knowledgeable people passively observe without bothering to contribute. Sometimes they are denied access to the room. Developers act like code monkeys, throwing the code over a metaphorical wall for the QA to test and “DevOps” to run. In “you build it,

    Broken Ownership
  • GraphQL Gatewayはフロントエンド開発を幸せにする

    はじめに マイクロサービスの開発では、サービスが増え続けるバックエンドに対して、フロントエンドは接続先が増えるため、開発効率を下げてしまいます。その対策として、さまざまな設計パターンが存在します。 弊社の開発ではGraphQL Gatewayを用いていますが、そこに至るまでや周辺の技術/アーキテクチャを解説します。 マイクロサービスとフロントエンド マイクロサービスを採用する場合、フロントエンド(ウェブアプリケーション、モバイルアプリケーションなど)は複数のサービスとの連携が必要になることが多いです。各マイクロサービスは通常、API(REST、gRPCなど)を提供し、フロントエンドはこれらのAPIを通じてデータの取得や操作を行います。 API Gateway API Gatewayは、フロントエンドとマイクロサービス間の中間に位置するコンポーネントとして機能し、マイクロサービスアーキテクチ

    GraphQL Gatewayはフロントエンド開発を幸せにする
  • Goでゼロから作る 自作TCP/IPプロトコル サーバー

    「マスタリングTCP/IP を読んだけど理解がイマイチ進まない。Goがどのようにサーバーを立てているのか気になる。」 そんなスキマを埋めるためのです。 Goの標準パッケージである net package を一切利用せずに、自作TCP/IPプロトコルでサーバーを作ります。 パケットをどのようにやり取りするかハンズオン形式で解説し、最後にToDoリストAPIを実装します。

    Goでゼロから作る 自作TCP/IPプロトコル サーバー
  • Virtual DOM: Back in Block | Million.js

    A little over four years ago, Rich Harris released Virtual DOM is pure overhead (opens in a new tab), analyzing the performance of traditional virtual DOM manipulation.[0] [0] "you've probably heard the phrase 'the virtual DOM is fast', often said to mean that it's faster than the real DOM. It's a surprisingly resilient meme" - Harris, 2018 In his article "Virtual DOM is pure overhead," Rich Harri

    Virtual DOM: Back in Block | Million.js
  • 【作り置き万能レシピ】「サルサ」を大量に作っておくと毎日の食卓が多幸感でいっぱいになった - メシ通 | ホットペッパーグルメ

    サルサがあれば、毎日の卓を多幸感でいっぱいにしてくれる 皆さんはメキシコ料理に親しんでいますか? メキシコ料理といえば、トウモロコシやアボカドを使った、ちょっと凝ったイメージがあるかもしれませんが、あえて推したいのは「サルサ」なのです。 これさえかければ、何だってメキシコ料理として成り立ってしまう、奇跡のソース。材料を刻んで混ぜてちょっと寝かすだけで出来上がるうえに、冷蔵庫で1週間くらいは保存も可能なので作り置きにも最適。 シンプルかつアレンジがききやすく、常備菜としても優秀な一品になっています。つまりサルサさえあれば、毎日の卓が多幸感でいっぱいのフェスティバル状態に。これは作らずにおくべきか! 基となる「作り置きサルサ」の作り方 【材料】(1人・1週間分) トマト 4個 玉ねぎ 1個 ニンニク 1片 酢 大さじ2 レモン汁 大さじ2 塩 小さじ1 チリペッパーソース 小さじ1 黒胡

    【作り置き万能レシピ】「サルサ」を大量に作っておくと毎日の食卓が多幸感でいっぱいになった - メシ通 | ホットペッパーグルメ
  • Linuxにおけるデバイスファイルの仕組み

    Linuxにおけるデバイスファイルはデバイスをファイルという概念を通して扱えるようにしたものです。デバイスファイルは通常のファイルと同様に読み書きを行うことができます。しかし実際には、その読み書きはデバイスドライバを通じてデバイスの制御に変換されます。 この記事では、デバイスファイルへの読み書きがどのようにデバイスの制御に変換されるのかを説明します。デバイスファイルはデバイスドライバとファイルの2つのコンポーネントに依存したものであるので、最初にデバイスドライバ、次にファイルについて説明し、最後にデバイスファイルがどのようにデバイスドライバと結び付けられるかを解説します。 この記事の内容は主に詳解 Linuxカーネル 第3版及びhttps://github.com/torvalds/linux/tree/v6.1によります。 目次 デバイスドライバ デバイスドライバの実例 read_wri

    Linuxにおけるデバイスファイルの仕組み
  • お名前.com から Cloudflare Registrar にドメイン移管した話

    こんにちはーむちょこです。 ずっと利用していたお名前.com をやめて、 Cloudflare Registrar にドメインを移管してみました。 背景に興味がない方は、目次から「移管手順」のセクションに飛んでください。 お名前.com をやめる理由 初めてドメインを取ったのがお名前.com でした。 たぶんその頃は日語サイトでドメインを取ろうと思ったら真っ先に思い浮かぶのがお名前.com だったような気がします。 それからずーっとお名前.com を使い続けていましたが、その間サービスはいろいろと施策を打つわけです。メールたくさん送ってみたりね。 そうして蓄積されたちょっと嫌なイメージと、値上がりのお知らせと、他のサービスも使ってみたいという好奇心に駆られて今回やめてみることにしました。 Cloudflare Registrar を選んだ理由 とりあえず、エンジニアがたくさんいる com

    お名前.com から Cloudflare Registrar にドメイン移管した話
  • Linuxコンテナの「次」としてのWebAssembly、の解説

    はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている

    Linuxコンテナの「次」としてのWebAssembly、の解説
  • ステート管理を超えるRecoil運用の考え方

    Harajuku.ts Meetup 〜 Recoilの事例集めました〜

    ステート管理を超えるRecoil運用の考え方
  • 『メシ通』年間ランキング2022~読者、関係者のみなさんありがとう!!! - メシ通 | ホットペッパーグルメ

    みなさんこんにちは、『メシ通』編集部です。今年もご愛読ありがとうございます。2022年も残りあとわずか。新型コロナウイルスの影響があったものの、対策を講じた上で外が少しずつ楽しめるようになった1年でした。『メシ通』でも少しずつ取材記事を再開しています。忙しい中取材に応じてくださった取材先の方々、仕事を受けてくれたライターのみなさん、編集者の方々。ありがとうございました。来年ももっともっといい媒体になるよう精進します! 2023年も引き続きよろしくお願いします。 ということで、今年もやります。これさえ読めば2022年『メシ通』の話題になった記事が分かる、「年間ランキング2022」を発表いたします! 2021年12月20日~2022年11月20日に公開した記事が対象 各SNSはてなブックマーク、Twitter、Facebook)の反響数を独自ロジックにより集計 レシピリポ・その他の2つ

    『メシ通』年間ランキング2022~読者、関係者のみなさんありがとう!!! - メシ通 | ホットペッパーグルメ
  • 山本ゆり『※オススメです【ブロッコリーレシピ】ハッシュドブロッコリー』

    このブログは、どこにでもある材料で、誰にでもできる料理を載せています。 ◆大さじ1杯の生クリーム、卵黄5個分などの「残りどうすんねん」という使い方 ◆ローリエ、バルサミコ酢、ワインビネガー、バーニングマンダラー、備中ぐわ、千歯こき・・・ などオシャレな調味料や必殺技、農具は使いません。 どうぞゆっくりしていってください。軽い気持ちで。足をくずして。カリフラワーの身にもなって。 めっちゃおススメのブロッコリーべ方です!(4/1の「スッキリ」で紹介して頂きました) 全日ハッシュド協会の私ですが(会員数1名)、ブロッコリーがこんなにハッシュドにむいてるなんてびっくりしました。生のままザクザク切って混ぜて焼くだけなんでめっちゃ簡単です! 周りは片栗粉とチーズでカリカリ、中はホクホク&溶けたチーズが絡まってほんま美味しいです!粉が少なく、卵も入ってないんで軽くてペロッといけます。ブロッコリー

    山本ゆり『※オススメです【ブロッコリーレシピ】ハッシュドブロッコリー』
  • おうちの回線速度をお手軽に可視化してみよう | IIJ Engineers Blog

    2018年新卒入社。名古屋支社にてSI中心にお仕事をするエンジニア仕事ではサーバやミドルウェアを、趣味ではウェブやアプリを弄っています。 【IIJ 2022 TECHアドベントカレンダー 12/21(水)の記事です】 はじめに 名古屋支社の kmmt-t です。 今年の夏頃、インターネットの回線速度を測定するブームがありました。(なぜ?については触れませんが・・・) 俗に言われる「回線速度」というものは、時間帯やご近所さんの利用状況などの様々な要因で変化するものなので1回だけ測ったところで大した意味は持たないでしょう。先日公開された弊社のハンズオン研修の1つである「監視Overview」でも述べられている通り、何かのシステムを監視するのであれば「可視性」「通知性」「特定性」「分析性」を重視しなければなりません。・・・例えそれが自宅のインターネット回線であっても! というわけで今回は、以下

    おうちの回線速度をお手軽に可視化してみよう | IIJ Engineers Blog
  • 図で分かるReact18のしくみ

    これは何? この記事はReact18がどのように動いているのかをまとめた記事です。なるべくコードの記載はせず、図を使用して読みやすさを重視しています。また、これからReactの内部のコードを読む予定の方のために、各セクションの終わりにアコーディオン形式でGitHubのリンクを貼っています。 ※ この記事はnote株式会社 Advent Calendar 2022 の17日目の記事です。 対象読者 Reactの内部コードを読む気は無いが、裏で何をしているのか把握しておきたい方 これからReactの内部コードを読もうと思っている方 暇な方 Fiberについて まず最初に、Reactのドキュメントを漁っていると度々出現する「Fiber」についてお伝えします。 そもそもFiberとは何か 一部例外はありますが、1個のFiberは1個のコンポーネント(<MyComponent>や<div>など)管理

    図で分かるReact18のしくみ