並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 1025件

新着順 人気順

Writeの検索結果81 - 120 件 / 1025件

  • データエンジニア道の俺のバイブル

    先人の知恵に学ぶ データエンジニア道で、本当に良かった!読み物を、不定期に追記していく。 A Beginner’s Guide to Data Engineering — Part I データエンジニアをこれから始める人に、必ず薦める記事。データエンジニアの基本を学べるかつ、どういう世界に広がっていくのかまで、一気に学べるのでとても良い。 Functional Data Engineering — a modern paradigm for batch data processing 関数型パラダイムを使ったデータパイプラインの構築方法。これを初めて読んだ時の衝撃は今でも忘れないし、フルスクラッチからdbtを使ったデータパイプラインになっても健在な設計手法。 Engineers Shouldn’t Write ETL: A Guide to Building a High Function

      データエンジニア道の俺のバイブル
    • 書類選考時に見ているポイント - id:onk のはてなブログ

      2019-04-01 に「チーフエンジニア」という肩書きを手に入れてしまった。 はてなのエンジニア組織にはチーフエンジニアという役割のエンジニアがいて、評価や採用、その他大小諸々の施策を通じて、技術部門全体の生産性と幸福度を向上させるのがその仕事です。 はてなのエンジニアのバリューズ - Hatena Developer Blog 前職でも新卒採用、中途採用のお手伝いはしていたのだけれど、今は主業務の一つとして担当しているので、僕がどこを見ているのか、というのを書きとめておこう。 履歴書 チラ見しています。 「通勤片道1時間ぐらいかかりそうだけど大丈夫かなぁ?」とか「趣味がルービックキューブじゃん! はてなの speedcubing 部と戦わせたろ」とかを見ています。 職務経歴書 まぁまぁ見ています。 プロジェクトで使った技術、特にアーキテクチャについてを一番見ていると思います。次にプロジ

        書類選考時に見ているポイント - id:onk のはてなブログ
      • ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog

        この記事について この記事では、ファイルに書き込みを行うプログラムを実装する時の注意点について説明します。 ファイル書き込みは、プログラミングにおいて比較的よく利用される機能でありながら、実装時に注意していないと、システムクラッシュ(意図しない電源の喪失や OS のクラッシュ等)後にファイル上のデータが整合性を失う可能性、平たく言えば、データが破損する場合があります。 今回の主な内容はトランザクションに関連する事柄で、ご存知の方からすると当たり前と思われることだと思われますが、執筆者がプログラミングの勉強を始めて以降知らない期間が長かったことと、他にもご存知ない方がある程度いらっしゃるのではないかと思ったため、このように記事にさせていただきました。 また、ここで説明する注意点は、クラッシュ後にデータの整合性が重要でない場合は、気を付ける必要がないものであることを先に書いておきます。 先にこ

          ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog
        • Minimal safe Bash script template

          Published on December 14, 2020   ·   Updated on December 16, 2020 Bash scripts. Almost anyone needs to write one sooner or later. Almost no one says “yeah, I love writing them”. And that’s why almost everyone is putting low attention while writing them. I won’t try to make you a Bash expert (since I’m not a one either), but I will show you a minimal template that will make your scripts safer. You

            Minimal safe Bash script template
          • クルーグマン「日本はまだオワコンではない」 - himaginary’s diary

            既に日本のツイッターで話題になっているが、クルーグマンが安倍元首相の死に寄せて連ツイを投稿している。 OK, one more shock: the assassination of Japan's former Prime Minister Abe. I have zero to say about what might lie behind it and what it means. But I can talk about my meeting with Abe in 2016; he was a complicated and interesting leader, not easy to characterize 1/ As many have noted, he was an apologist for Japan's war crimes — not forgivable —

              クルーグマン「日本はまだオワコンではない」 - himaginary’s diary
            • 開発ドキュメントの書き方!9つのコツ【エンジニア】

              文章を書く前にやることよい文章を書くには、実際に文章を書く前に、読者は誰か、どういう悩みを解決するのかを企画することが大切です。また、それを元にアウトラインを書いておきます。 このふたつを元に文章を書くことで、読みやすい開発ドキュメントにつながります。これについては、次の記事をご覧ください。 開発ドキュメントを書く前に決めるべき3つのこと【企画編】開発ドキュメントにおけるアウトラインの書き方開発ドキュメントの書き方企画とアウトラインの作成が終わったら、実際に文章を書いていきます。文章を書くときは、次の9つを意識して書きます。これだけで、読みやすさ、分かりやすさが大きく向上します。 一文を短く切る結論を先に述べる指示語を使わない主語を明確にする、述語との距離を近づけるひらく・閉じるを統一する再現条件を示す前提を揃える見出しや箇条書き、表などを適切に用いる読者に伝わる用語を使うひとつずつ説明し

                開発ドキュメントの書き方!9つのコツ【エンジニア】
              • UNIXができた頃のコンピューター事情

                UNIXができたころのことを話そうとするとその頃のコンピューター事情が今とだいぶ違うのでなかなか話が伝わりません。そこでそのころ(1970年ごろ)のコンピューター事情について、正確性はちょっと置いておいて、分かりやすいようにざっくりと説明したいと思います。 アポロ11号の月面着陸が1969年なのでその辺りの映画などに出てくるでかいコンピューターを想像するとイメージしやすいかもしれません。 ## 大雑把な分類 初期のUNIXが開発されたころ(1970年ごろ)に使われていたコンピューターは主に下記の二種類でした。 - メインフレーム - ミニコン(ミニコンピューター) このころ主に"コンピューター"といえば今で言う"メインフレーム"のことを指していました。 マイコン(マイクロコンピューター)/パソコンは1980年ごろ普及しました。しかしパソコンでUNIXを動かすのが実用的になったのは1990年

                  UNIXができた頃のコンピューター事情
                • PostgreSQLのアーキテクチャー概要|PostgreSQLインサイド

                  PostgreSQLには、用途や環境に応じて様々な構成を組み、最適なパフォーマンスで動作させられるよう、設定ファイルpostgresql.confに多くのパラメーターが存在します。そのパラメーターを正しく設定し調整を行うためには、PostgreSQLのアーキテクチャーを理解する必要があります。ここでは、押さえておきたい、PostgreSQLの基本的なアーキテクチャーについて説明します。なお、この記事で対象にしているPostgreSQLのバージョンは9.5以降です。 1. PostgreSQLの基本構成 PostgreSQLの基本的な構成について説明します。はじめに、主なプロセス、メモリー、および、ファイルについての構成図を示します。 図1 PostgreSQLの基本構成 PostgreSQLを構成する主なプロセス、メモリー、ファイルについて、その用語と概要を説明します。 リスナープロセス

                    PostgreSQLのアーキテクチャー概要|PostgreSQLインサイド
                  • SELECT文で本番環境を落としたお話 - Qiita

                    (この記事は 地平線に行く とのマルチポストです) 本番環境でやらかしちゃった人 Advent Calendarで、このパターンのやらかしはなかったのでキーボードを叩くことにしました。 番外編のつもりでお楽しみください。 この記事が、新たな障害発生を防ぐことにつながれば幸いです。 何をやったのか ある日、ちょっとした調査のために本番データベースのデータを確認することになりました。 (個人情報が格納されているようなシステムではなかったので、必要であれば本番データベースへのアクセスが許されていました) もしメンテナンスがあればそのタイミングでやればよかったのですが、直近では特に予定はないとのことでした。そのため、システムが動いている状態のまま作業をすることにしました。 ごく単純な SELECT を実行するだけのつもりだったので、システムに影響がないと判断したためです。 その際、万が一コピペをミ

                      SELECT文で本番環境を落としたお話 - Qiita
                    • 大きなGitリポジトリをクローンするときの工夫を図解します - DeNA Testing Blog

                      こんにちは、SWETでCI/CDチームの前田( @mad_p )です。 SWETではCI/CDチームの一員として、Jenkins運用のサポートや、CI/CD回りのノウハウ蓄積・研究をしています。 はじめに Gitリポジトリをクローンすると、ローカルフォルダにはそのリポジトリの全体がダウンロードされ .git というフォルダに格納されます。ブランチをチェックアウトすると、ブランチ内のファイルがワーキングツリーとして展開されます。この様子を図にするとこのようになります。 この .git とワーキングツリーの使うディスク容量を節約しようというのが今回のお話です。特にJenkinsにおいて、大きめのGitリポジトリをクローンしてくる場合に課題があり、いろいろ工夫してみたので、その結果を紹介します。同じCI/CDチームの加瀬による記事「大規模リポジトリで高速にgit cloneするテクニック」と内容

                        大きなGitリポジトリをクローンするときの工夫を図解します - DeNA Testing Blog
                      • 現用ボーダールータを(社長が)ふっとばした話

                        アーカイブ2022年8月 (1)2022年2月 (1)2021年11月 (1)2021年9月 (1)2021年5月 (1)2021年3月 (1)2021年1月 (1)2020年12月 (1)2020年11月 (2)2020年10月 (3)2020年9月 (1)2020年8月 (3)2020年7月 (1)2020年6月 (2)2020年5月 (4)2020年4月 (2)2020年3月 (2)2020年2月 (1)2020年1月 (1)2019年12月 (4)2019年11月 (3)2019年10月 (5)2019年9月 (4)2019年8月 (5)2019年7月 (6)2019年6月 (7)2019年5月 (7) はっきり覚えていないのだが、たぶん20年前のことだと思う。S・アール・エスとIフォレストが協業を始め、Sくらインターネットができた直後ぐらいの話だ。 土曜日だったか、日曜日だったか

                          現用ボーダールータを(社長が)ふっとばした話
                        • Browser Dev Tools: The Ultimate Guide 🔥

                          Contents (Click to expand) ↕️ Design Mode Pretty Print Command Pallet and Super Search Snippets Live Expressions Tracking Changes Console Shorthand Find Unused Code Rendering Panel Network Paint Times Network Timings Inspect Network Requests Performance Identifying Memory Leaks Raw Memory Inspection Test bfcache Full Refresh Lighthouse Page Size Breakdown Record User Flows Advanced User Flow Opera

                            Browser Dev Tools: The Ultimate Guide 🔥
                          • ChatGPTはどのように学習を行なっているのか

                            はじめに ChatGPTのインパクトが個人的にすごかったので、どういった学習が行われているのか、どういう課題があるのか等を理解しようと思い、OpenAIの記事をベースに情報をピックアップしてざっとまとめました。 あくまで私なりの解釈で情報を整理してまとめたものになりますので、いくつか専門性の低い分野に対しては曖昧な記述になっていたり、理解を誤って記載しているかもしれません。 もし間違い等がありましたらご指摘いただけると大変ありがたいです。 ChatGPT: Optimizing Language Models for Dialogue 参考 ChatGPTは、OpenAIによって開発された、対話に特化した言語モデルである。 特徴としては、 前の対話内容に続く質問への回答が可能。 間違いを認めることもできる。 正しくない前提に対する異議を唱えることもできる。 不適切なリクエストには応じない。

                              ChatGPTはどのように学習を行なっているのか
                            • GitHub Actions入門 ── ワークフローの基本的な構造からOIDCによる外部サービス認証まで - エンジニアHub|Webエンジニアのキャリアを考える!

                              GitHub Actions入門 ── ワークフローの基本的な構造からOIDCによる外部サービス認証まで GitHubが公式に提供するGitHub Actionsは、後発ながらよく使われるワークフローエンジンとなっています。本記事では、藤吾郎(gfx)さんが、典型的なCI/CDのユースケースに即したワークフローの設定と管理について解説するとともに、注目されているGitHub OIDC(OpenID Connect)の利用についても紹介します。 GitHub Actionsは、GitHubが提供するCI/CDのためのワークフローエンジンです。ワークフローエンジンは、ビルド、テスト、デプロイといったCI/CD関連のワークフローを実行し、定期実行するワークフローを管理するなど、開発におけるソフトウェア実行の自動化を担います。 ▶ GitHub Actions - アイデアからリリースまでのワーク

                                GitHub Actions入門 ── ワークフローの基本的な構造からOIDCによる外部サービス認証まで - エンジニアHub|Webエンジニアのキャリアを考える!
                              • OAuth2の次に来ると言われる認可プロトコルGNAPとはなにか | メルカリエンジニアリング

                                Merpay Advant Calendar 2020、23日目の記事は、趣味で認証認可をやっている @nerocrux が送りいたします。 最近 GNAP という認可プロトコルのワーキンググループドラフトが出ていて頑張って細かく読みましたので、(次回はいい加減に仕事でやってることについてお話しますが)今回はその GNAP について紹介させてください。 GNAP とはなにか? GNAP は Grant Negotiation and Authorization Protocol の略で、認可のプロトコルです。Justin Richerさんという方を中心に策定しています。作者によると、GNAP の発音は げなっぷ になります。 認可(Authorization)プロトコルと言えば、OAuth 2.0 (RFC6749) が広く知られ、運用されています。GNAP は OAuth 2 の後継とし

                                  OAuth2の次に来ると言われる認可プロトコルGNAPとはなにか | メルカリエンジニアリング
                                • 違法な職務質問をされたので東京都を訴えた裁判の控訴審は棄却、理由は突然に

                                  職務質問裁判の控訴は棄却された。判決文は以下から読むことができる。 https://github.com/EzoeRyou/calling-110-is-suspicious 2年前の7月3日、職務質問を受けた。 警察官に職務質問をされた話し この職務質問は明らかに違法であると感じたので、弁護士に相談の上、東京都に対して国賠訴訟を起こした。警察官というのは各都道府県の下に位置する行政組織なので、警察を訴えるというのは、その警察の所属する都道府県を訴えるということになる。 一審判決は請求棄却。理由としては、「最初の10分間は不審事由がないが、刃物などの危険物を入れることができるリュックを背負っていたから声をかけ10分間その場にとどめて話をするのは違法ではない。このとき110番通報を要請したことは不審事由にあたりその後の1時間20分の職務質問は不審事由が存在するために合法である」というわけのわ

                                  • Rustの非同期プログラミングをマスターする - OPTiM TECH BLOG

                                    こんにちは、R&Dチームの齋藤(@aznhe21)です。 さあみなさん、ついにこの時がやってまいりました。 本日2019/11/8にリリースされたRust 1.39により、あらゆる環境で最高速な非同期プログラミングが可能になりました。 新たな時代に乗り遅れないよう、今のうちにRustでの非同期プログラミングをマスターしておきましょう。 なお、この記事は、先日開催したOPTiM TECH BLOG Meetupの内容を大幅に加筆修正した上でエントリに仕上げたものです。 まず最初に伝えたいこと 非同期の歴史 Rustの非同期プログラミングの歴史 Rust 1.0以前 Rust 1.0 〜Rust 1.3 Rust 1.2あたり Rust 1.11あたり Rust 1.26あたり Rust 1.36 Rust 1.39 Rustの非同期プログラミングの特徴 ゼロコスト抽象化 プラットフォーム非依

                                      Rustの非同期プログラミングをマスターする - OPTiM TECH BLOG
                                    • 1000万ユーザに耐えるサーバを作ってみた

                                      概要 スケーラビリティが高く1000万ユーザに耐えるAPIサーバを作成しました。TwitterのようなSNSです。実装はGitHubで公開しています。 開発環境は次の通りです。 Node 16.14 Express 4.17.3 DynamoDB 2012-08-10 機能要件は次の通りです。 ツイート機能 ツイートに対してコメント機能 フォロー機能 タイムライン機能 導入 Facebook、Amazon、Youtubeのような数億人のユーザを抱えるサービスでは大量のトラフィックを捌く必要があります。大量のトラフィックを捌くためのアプローチとして一般的に使われるのはスケールアップではなくスケールアウトです。スケールアップは性能の高い機器を使うためにコストが高いです。また、1つのサーバで運用するためにパフォーマンスの限界が存在します。 スケールアウトについて考えます。アプリケーションは大きく

                                        1000万ユーザに耐えるサーバを作ってみた
                                      • 2021年にブックマークしたページでよかったもの集めた - Really Saying Something

                                        2013年から毎年、「年ごとにブックマークしたページでよかったもの集めた」と題して、1年分の「自分がブックマークしたページ」を振り返り、まとめています。2020年分は以下です。 2020年にブックマークしたページでよかったもの集めた - Really Saying Something 完全に「私得」なまとめなのでカテゴライズなどは一切しておらず、主に自分のブックマークした順番となっています。そのため、春ごろの記事が冬にいきなり登場したり、日付が前後していたりします。私の脳内に「その時こういうこと考えていたな~」という記憶を作るインデックスだからです!!! 基本的には、以下の基準で選出しています。 当年に作られたエントリーであること Wikipediaや当年に作られたことが明確でない役所のページなどは除外 ブックマークが多く集まっていてもリンク切れであるものは除外 Yahoo!ニュース(掲載

                                          2021年にブックマークしたページでよかったもの集めた - Really Saying Something
                                        • 100人以上の資料を読んで見つけた伝わりやすい成果報告書の書き方 - CARTA TECH BLOG

                                          TL;DR 自身の成果をアピールするために、1)Before/After、2)自分の寄与度、3)数字的インパクトを過不足なく伝えることが重要 説明の冒頭では、課題と解法の全体感と成果を述べ、詳細は後に肉付けすると伝わりやすい 課題を伝える際は"誰から見た課題か"を明確にする。課題は解法の前提であるためブレないように はじめに 技術広報のしゅーぞーです。この記事では、過去100人分程度の成果報告書を読み、気付いた "自分の成果をわかりやすく伝える書き方"をまとめています。 仕事をしていると自身の成果を的確に伝える機会は数多くありますよね。 評価期、転職面接、昇格面談など 評価者に自分の成果をどう分かりやすく伝えるか は自分のキャリアを伸ばす上でとても大事なスキルです。 しかし、自分の頑張りや成果を上手く言語化し、相手に正しく理解してもらうのは簡単ではありません。 特に、経験の浅い若手にとって

                                            100人以上の資料を読んで見つけた伝わりやすい成果報告書の書き方 - CARTA TECH BLOG
                                          • 社内用GitHub Actionsのセキュリティガイドラインを公開します | メルカリエンジニアリング

                                            この記事は、Merpay Tech Openness Month 2023 の4日目の記事です。 こんにちは。メルコインのバックエンドエンジニアの@goroです。 はじめに このGitHub Actionsのセキュリティガイドラインは、社内でGithub Actionsの利用に先駆け、社内有志によって検討されました。「GitHub Actionsを使うにあたりどういった点に留意すれば最低限の安全性を確保できるか学習してもらいたい」「定期的に本ドキュメントを見返してもらい自分たちのリポジトリーが安全な状態になっているか点検する際に役立ててもらいたい」という思いに基づいて作成されています。 今回はそんなガイドラインの一部を、社外の方々にも役立つと思い公開することにしました。 ガイドラインにおける目標 このガイドラインは事前に2段階の目標を設定して作成されています。まず第1に「常に達成したいこと

                                              社内用GitHub Actionsのセキュリティガイドラインを公開します | メルカリエンジニアリング
                                            • 安全なシステムプログラミング言語Rustへの招待 | κeenのHappy Hacκing Blog

                                              # 安全なシステムプログラミング言語Rustへの招待 ---------------------- [IIJ Labセミナー](https://iijlab-seminars.connpass.com/event/152079/) === # About Me --------- ![κeenのアイコン](/images/kappa.png) * κeen * [@blackenedgold](https://twitter.com/blackenedgold) * Github: [KeenS](https://github.com/KeenS) * GitLab: [blackenedgold](https://gitlab.com/blackenedgold) * [Idein Inc.](https://idein.jp/)のエンジニア + 2年半くらい仕事でRustを書いている

                                              • Node.jsの後悔から生まれた新しい実行環境・Deno入門 〜簡単なアプリケーション作成ハンズオン付き〜 | さくらのナレッジ

                                                こんにちは!小田島です。ウェブ業界に来る前は手品業界で働いていました。最近は外出自粛で手品をやる機会がないので家でひたすら練習しています。 前回の記事「いまさら聞けないNode.js」は、「わかりやすい」「いい記事」「背景の説明が丁寧」といった好意的な反応が多くて安心しました。 「Denoについては後日記事を書きます」と前回宣言したので、今回はDenoについての入門記事を書きます。よろしくおねがいします! 対象者 今回は、こんな人が対象です。 Denoって何? Node.jsとどう違うの? 全然触ったことないけど何か簡単で応用が効くものを作ってみたい 前回と違い、ハンズオンも含まれています。ぜひ読みながら実際に動かしてみてください。 Denoとは? 前回同様に超ざっくりと説明すると、JavaScriptとTypeScriptの動作環境です。作者はNode.jsと同じライアン・ダールです。D

                                                  Node.jsの後悔から生まれた新しい実行環境・Deno入門 〜簡単なアプリケーション作成ハンズオン付き〜 | さくらのナレッジ
                                                • Goで解放したメモリが少しずつ戻ってくる現象 - knqyf263's blog

                                                  情報を発信する人のところに情報が集まることを日々実感しているので、Linuxのメモリ管理に特に詳しいわけではないのですが最近遭遇した問題について自分の理解を書いておきます。ざっと調べても同じことを書いている人を見つけられなかったので、公開には意義があると考えています。識者の方がフィードバックをくださると嬉しいです。 ※ AIの出力をベースに書いているのでいつもと少し文体が違います。 背景 要約 調査 再現の難しさ Goアプリケーションの調査 pprofによる分析 GCログの調査 Linuxの調査 Goランタイムの調査 GoのGCとTHP khugepagedの問題 Goランタイムにおける回避策 回避策の削除 max_ptes_noneのデフォルト値について MADV_NOHUGEPAGEをやめた理由 調査内容まとめ 解決策 検証 C言語 Go言語 まとめ 背景 Go言語で書かれたOSSのア

                                                    Goで解放したメモリが少しずつ戻ってくる現象 - knqyf263's blog
                                                  • パスワード管理/MFA管理の戦略

                                                    自分のパスワードやMFA(多要素認証)の管理方法についてまとめた記事です。 パスワード管理とTOTP(Time-based One-time Password)の管理として1Passwordを使い、MFA(多要素認証)の2要素目としてYubiKeyを2枚使っています。 パスワード管理とMFA管理を安全で使いやすくするのはかなり複雑で難しいため、完璧にやるのが難しいです。 そのため、その難しさから二要素認証を設定するべきアカウントも手間などから設定を省いてしまったり、管理方法に一貫性がありませんでした。 この記事では、パスワード管理/MFA管理の戦略を決めることで、どのサイトのどのアカウントのパスワード管理をあまり頭を使わなくてもできるようにするのが目的です。利便性と安全性のバランスを意識はしていますが、この記事のやり方が正解ではないので、各自の目的に合わせて読み替えると良いと思います。 用

                                                      パスワード管理/MFA管理の戦略
                                                    • アプリケーションにおけるデータ不整合との戦い - blog.syfm

                                                      これは Aizu Advent Calendar 2019 の 15 日目の記事です。14 日目は uzimaru0000 さん、16 日目は kacky__917 さんです。 はじめに 世の中には日々たくさんの価値ある Web サービスが生まれていますが、その価値を正しく提供するにはアプリケーションが正しく動かなければなりません。 たとえばアプリケーションは適切なユーザに適切なリソースを提供しなければならず、エラーを返す際は十分に定義された仕様に沿って返し、UI 側ではユーザに適切なメッセージを表示しなければなりません。 実際のところ、これらを厳密に実現するのは非常に困難ですが、アプリケーションにはこれら以上に複雑な問題が常につきまといます。 現在の Web アプリケーションはほとんどが分散システムの一形態です。例えばクライアントとサーバや、サーバとデータベースがネットワークを介して接続

                                                        アプリケーションにおけるデータ不整合との戦い - blog.syfm
                                                      • Ubuntu 24.04 LTS サーバ構築手順書

                                                        0 issue "letsencrypt.org" 0 issuewild "letsencrypt.org" 0 iodef "mailto:yourmail@example.jp" §OS再インストール 初期設定で期待通りの設定ができていない場合は、OSの再インストールをする。 さくらVPSのコントロールパネルから、OSを再インストールするサーバを選ぶ。 www99999ui.vs.sakura.ne.jp §OSのインストール操作 Ubuntu 24.04 LTS を選ぶ。 OSインストール時のパケットフィルタ(ポート制限)を無効にして、ファイアウォールは手動で設定することにする。 初期ユーザのパスワードに使える文字が制限されているので、ここでは簡単なパスワードにしておき、後ですぐに複雑なパスワードに変更する。 公開鍵認証できるように公開鍵を登録しておく。 §秘密鍵と公開鍵の作成 ク

                                                          Ubuntu 24.04 LTS サーバ構築手順書
                                                        • フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記

                                                          モチベーション なぜRustを選んだか? 私はQEMUは「アーキテクチャエミュレーション界のLLVM」だと思っている QEMUが高速な理由:TCG Binary Translation ゲスト命令(RISC-V) → TCG → ホスト命令(x86)の処理をRustで作ろう RISC-Vの命令をフェッチしてデコードする RISC-Vの命令をTCGに変換する TCGをx86に変換する 実装結果 Binary Translation実行を高速化するための様々なテクニック BasicBlock分まで複数命令をまとめて変換 TCG Block Chainingの実装 評価結果 TB Lookup and Jumpの実装 評価結果 まだ完成していないところ 一部の最適化はまだ未実装となっている ゲストアーキテクチャがx86のみとなっている。TCGによる複数プラットフォーム対応として、まずは環境のそろ

                                                            フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記
                                                          • シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ

                                                            はじめに 開発部の ikasat です。 皆さんは git, ssh, rsync のような外部コマンドを呼び出すスクリプトを書きたくなったことはありますか? 個人的にこの類のスクリプトは最初はシェルスクリプトとして書くのですが、改修を重ねるうちに肥大化して処理も複雑になり、 後から Python のような汎用プログラミング言語で書き直すことがよくあります。 外部コマンド呼び出しを書き直す際に、Git 操作のために pygit2、 SSH 接続のために paramiko のようなライブラリをわざわざ使うのは大がかりだったり、 rsync に相当するようなこなれたライブラリが存在しなかったりする場合があります。 そのような時は標準ライブラリの subprocess モジュールを利用し、Python から外部コマンドを呼び出すことになるでしょう。 しかしながら、Python のチュートリアルペ

                                                              シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ
                                                            • 20分で分かるDirty Pipe(CVE-2022-0847) - knqyf263's blog

                                                              極限まで詳細を省けば何とか20分で雰囲気だけでも伝えられるんじゃないかと思って書きました。書き終えてから見返したら多分無理なので誇大広告となったことを深くお詫び申し上げます。 背景 概要 脆弱性の影響 ページキャッシュやsplice パイプ マージの可否 下準備 攻撃手順 まとめ 背景 先日Dirty PipeというLinuxカーネルの脆弱性が公表されました。 dirtypipe.cm4all.com Linuxのパイプに関する脆弱性なのですが、仕組みは意外とシンプルでぎりぎりブログでも伝わるかもしれないと思ったので自分の理解を書きました。あといつも細かく書きすぎて長くなるので、今回は雰囲気だけでも伝わるようにとにかく説明を簡略化し、ふわっとした概要だけでも理解してもらえるように頑張りました。その結果、若干正確性に欠ける部分があるかもしれませんがお許しください。細かい部分はまた別の記事でま

                                                                20分で分かるDirty Pipe(CVE-2022-0847) - knqyf263's blog
                                                              • あらゆるマナーが存在する日本において「人前で他人を叱ったり怒鳴ったりするのは下品」みたいな基本的なものが定着しなかった不思議

                                                                高山羽根 Haneko Takayama @HighMt_HNK 字を書くカナブン・タマビ日画 「うどん キツネつきの」「オブジェクタム/如何様」「居た場所」「カム・ギャザー・ラウンド・ピープル」「首里の馬」「暗闇にレンズ」「ゆきあってしあさって」「パレードのシステム」「ドライブイン・真夜中」ありがとうございます。 I write SF novels in Japan. highmounthnk.wixsite.com/haneko 高山羽根 Haneko Takayama @HighMt_HNK 我が国、あらゆるマナーが生まれ存在するのに「人前で他の人を叱ったり怒鳴ったりするのは品がない」みたいなけっこう基本的なものが社会に広まり定着しなかったのはなぜだろう。 高山羽根 Haneko Takayama @HighMt_HNK 人権意識とは別にそういう道徳って生まれてもよさそうなんだけど、

                                                                  あらゆるマナーが存在する日本において「人前で他人を叱ったり怒鳴ったりするのは下品」みたいな基本的なものが定着しなかった不思議
                                                                • バックエンドエンジニアが Next.js でモダンなフロントエンド開発を始めるにあたり学習したこと

                                                                  2021年秋ごろ、副業のような形で Next.js による新規フロントエンド開発のお手伝いをさせていただくことになりました。プライベートの空き時間でフロントエンドの学習をし、今はひとまず開発できるようになってきた気がするので、これまで学んできたことをご紹介します。 基本の TypeScript, React, Next.js だけでなく、GraphQL の周辺ツールやテストについても学習しました。 これまで 当時、Web 系の受託開発会社にて主に Ruby on Rails でバックエンドの開発をしていました。TypeScript, React は学生の頃から趣味で書いていました。 テストは、Rails での開発なら RSpec や Capybara で書いていましたが、JS ではほぼやったことがありませんでした。GraphQL は全くの未経験でした。 やったこと React チュートリア

                                                                    バックエンドエンジニアが Next.js でモダンなフロントエンド開発を始めるにあたり学習したこと
                                                                  • CIOpsとGitOpsの話 - inductor's blog

                                                                    はじめに GitOpsという言葉が生まれたのが自分の知る限り2017年頃なのですが、世の中にあるCI/CDの仕組みはまだほとんどがCIOpsもしくは手動のオペレーションによって成り立っていると思っていて、かつては自分もそうだったのですが「Gitで管理されていればGitOpsなんでしょ?」という勘違いを払拭したくてこのエントリーを書いています。 GitOpsとCIOpsは全然違う まず前提としてGitOpsの明確な定義を知らないという場合、あなたの思う「Gitを契機とした自動デプロイの仕組み」は基本的にはCIOpsです。GitOpsとCIOpsは思ったよりも大きな違いがあって、そもそもGitOpsの必要性が分かっていない場合、自動化によって成立しているデプロイはCIOpsが基本です。 CIOpsとGitOpsの一番の違いは、Push型かPull型かである CIOpsの場合、例えばGitHub

                                                                      CIOpsとGitOpsの話 - inductor's blog
                                                                    • うんざりする休暇中のメール返信をウマにアウトソーシングできるサービス「OutHorse」が開始

                                                                      せっかく仕事から離れて休暇を楽しんでいたのに、スマートフォンに届いた業務メールによって一気に現実に引き戻されてしまったという経験がある人も多いはず。そんなうんざりする休暇中のメール返信をアイスランドのウマにやってもらえるアウトソースならぬ「OutHorse」というサービスが始まりました。 OutHorse Your Email https://www.visiticeland.com/outhorse-your-email/ 「OutHorse」がどのようなサービスになっているのかは、以下の動画を見るとわかります。 OutHorse Your Email to Iceland’s Horses - YouTube アイスランドの雄大な自然の中で過ごす休暇は、仕事に追われる生活から頭を切り替え、リフレッシュできる最高の時間です。 そんな休暇中に1通のメールを受信した女性は…… 文面を見て一気

                                                                        うんざりする休暇中のメール返信をウマにアウトソーシングできるサービス「OutHorse」が開始
                                                                      • Parquetフォーマット概観 - 発明のための再発明

                                                                        Parquetは便利なファイル形式で、列志向のフォーマットとしてはデファクトの1つと言っても過言ではないでしょう。 ですが、jsonやcsvとは違い、ファイルを見ただけでどんな構造かわかるものではありません。 この記事は、Parquetの具体的な構造について記述します。 はじめに この投稿は、Parquetの構造について、バイナリを見ながら確認するものです。 ただし、Parquetの大枠に注目した投稿なので、delta encodingやrun-lengthなど、個別の圧縮方法については取り扱いません。 ※ Parquetの作成には https://github.com/parquet-go/parquet-go を使用していますが、goの知識は必要ありません tldr Parquetは以下の構造を持っています。 ファイルはRowGroupとメタデータに分かれている RowGroupの中に

                                                                          Parquetフォーマット概観 - 発明のための再発明
                                                                        • 【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。

                                                                          はじめに 登壇版 Taskの本質 C# のイテレータ async/await Compiler Transform ExecutionContext builder.Start() の重要性 IAsyncStateMachine.MoveNext おわりに はじめに C#er は呼吸するように使っている async/await。 そんな async/await について、先日 Stephen Toub 氏 (.NET の中の人。中心人物の一人。) が How Async/Await Really Works in C# という非常に面白い記事を投稿していました。 この記事では Stephen 氏の記事をベースに、C# において async/await は実際どうやって動いてるの?というお話をしていきます。 以前に C#での非同期メソッドの分析。 という翻訳記事を書いたのですが、元になった記

                                                                            【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。
                                                                          • ESLint, Prettier, VS Code, npm scripts の設定: 2021春

                                                                            eslint-plugin-prettier 時代の設定をずっと使っていたので、重い腰を上げてアップデートした作業メモ。 背景 Prettier 公式ドキュメントによれば、現在 eslint-plugin-prettier は以下の問題があるとして推奨していない。 エディタが真っ赤になる(人間が気にする必要のない問題なのに!) 直接実行するより遅い(同様に prettier-eslint も遅い) ESLint と Prettier の間に間接レイヤーを追加するので、壊れやすい なるほど正しい。 一方、別々に実行することで以下のような問題も出てくるので、解決していく。 CLI とエディタを個別に設定する必要がある エディタで ESLint と Prettier の協調動作が必要 CLI (npm scripts) で ESLint と Prettier の対象ファイルが別管理になる 上記の

                                                                              ESLint, Prettier, VS Code, npm scripts の設定: 2021春
                                                                            • 法律のデータ構造と検索

                                                                              デジタル庁は、法令標準 XML スキーマに準拠した、現行の法令データをe-Gov法令検索というサイト上で公開しています[1]。今回、この法令XMLをパースするPythonライブラリ ja-law-parser をつくり、法令データの全文検索をしてみました。 この記事では、日本の法令とそのデータ構造、法令XMLパーサについて解説し、最後に、それらを使った法令データの全文検索システムを実装する方法をご紹介します。法令検索の実装についても、GitHubリポジトリで公開しています。 この記事は、情報検索・検索技術 Advent Calendar 2023の16日目の記事です。 法律と法令 法律とは 法律の制定と公布 法律と法令の違い 法律の改正 法令のデータ構造 e-Govの法令データ 法令標準XMLスキーマ 法令番号と法令ID 題名 本則と附則 条・項・号 編・章・節・款・目 法令XMLパーサ:

                                                                                法律のデータ構造と検索
                                                                              • DeepL翻訳 - Chrome ウェブストア

                                                                                世界最高レベルの精度を誇るDeepL翻訳で、テキストを読みながら、または書きながら訳せます。 DeepLのChrome拡張機能は優れたブラウザ閲覧体験を提供します。DeepLのAI翻訳および文章作成支援ツールは操作も非常に簡単です。世界中の多くの人に信頼されるDeepLがあれば、他では得られない正確で流暢な翻訳をとおし円滑にコミュニケーションを取れるようになります。拡張機能を利用すれば、仕事でもプライベートでも、毎日の作業にDeepLの機能をスムーズに組み込めるため、アプリの切り替えやコピー&ペーストの手間が省けます。クリックひとつで多言語コミュニケーションを実現できる世界を、ぜひご体験ください。 DeepLの主な機能 🌍 DeepL翻訳:30以上の言語でコミュニケーションの内容を瞬時に理解できるようになります。テキストの翻訳やウェブページ全体の翻訳に加え、DeepL Proプランにご登

                                                                                  DeepL翻訳 - Chrome ウェブストア
                                                                                • Chromeで広告ブロックを使い続ける方法

                                                                                  2024年5月30日に、GoogleはChromeにおける「Manifest V2」の廃止を段階的に開始しました。このManifest V2を受けて広告ブロック拡張機能が使用不能になる可能性が浮上しているのですが、Manifest V2を強制的に有効化する設定を施すことでManifest V2にしか対応していない拡張機能も実行できるようになります。 Manifest V2 のサポート タイムライン  |  Chrome Extensions  |  Chrome for Developers https://developer.chrome.com/docs/extensions/develop/migrate/mv2-deprecation-timeline?hl=ja Chrome Enterprise のポリシーリストと管理 | ドキュメント https://chromeenterp

                                                                                    Chromeで広告ブロックを使い続ける方法