Architecture Decision Records(ADRs)は、アーキテクチャ上の意思決定をドキュメントとして残す方法の1つです。Release It!の著者であるMichael Nygardのブログによって広まり、ThoughtWorks社のTechnology Raderでも「adopt」になっています。
この記事はLinux Advent Calendar 2019の1日目の記事です。 はじめに 環境 おことわり uname(1) uname(1)が出力する内容 strace(1) gdb(1) bpftrace systemtap Kernel Hack Livepatch おまけ RHEL 8.1 CentOS 8 まとめ はじめに 本記事ではLinuxサーバのホスト名、Linuxカーネルのバージョン、cpuアーキテクチャなどのシステム情報を表示するuname(1)を利用してLinux環境でのデバッグとカーネルハックについて説明していきます。本記事ではコマンドやツールの使い方の説明ではなくて、それらを使ってどのようにデバッグするのかというところを説明します。 環境 ディストリビューションにはFedora 31(x86_64)を利用します。動作環境はQEMUやlibvirt、Oracle
「赤色の光を見る」という簡単な方法で高齢者の衰えた視力が改善するという研究結果が、2020年にユニヴァーシティ・カレッジ・ロンドン(UCL)の研究チームによって報告されていました。この報告の後も研究は続いており、新たに「赤色の光」の出力や見るタイミングに関する研究報告が発表されています。 Weeklong improved colour contrasts sensitivity after single 670 nm exposures associated with enhanced mitochondrial function | Scientific Reports https://doi.org/10.1038/s41598-021-02311-1 Morning exposure to deep red light improves declining eyesight | U
TL;DR 一行追加するだけで関数をメモ化するマクロを作った。 成果物はこちら https://docs.rs/memoise/ 背景 同じ引数に対して同じ値を返す関数(いわゆる参照透明だったり数学的だったりな関数)では、 関数の計算結果を保存しておくことによって計算を高速化したりすることができます。 このようなテクニックを関数のメモ化(memoise, memoize, memoization)などと呼びます。 特に再帰的に定義される関数についてメモ化を行うことによって、 動的計画法の実装をシンプルで直感的なものにできたりします。 しかし、関数のメモ化はやりたいことが自明なのにもかかわらず、 毎回手で書いていると微妙に面倒だったり、うっかりメモ化忘れで計算量が爆発してしまったり、 ちょっと辛いところがありました。 特にRustを使っていると、グローバル変数を雑に使うことを許して貰えないの
by Rawpixel ストレージに記録されたデータを管理するファイルシステムは、WindowsのNTFSやLinuxのext4が有名ですが、他にもLinuxで使えるファイルシステムとしてZFSやBtrfsがあります。そのBtrfsを自身のサーバーで5年間使用したMark McBrideさんが、Btrfsを選んだ理由とその使い勝手を評価した記録を公開しています。 Five Years of Btrfs | MarkMcB https://markmcb.com/2020/01/07/five-years-of-btrfs/ Btrfsはファイルの自己修復機能やスナップショット機能を備えた障害に強いファイルシステムであり、企業のサーバーなどで採用実績があります。Markさんは自身のサーバーのデータ容量が増え、ストレージシステムを見直そうとしたとき、BtrfsとZFSのどちらを採用すべきか迷っ
■ 記事概要 Linux OS におけるメモリ断片化 1 ( 以降、断片化 ) について、調査したことのまとめ。 ■ 要約 断片化していると、空きメモリが十分あるにも関わらず、メモリ確保に失敗することがある。 断片化の影響を受けるのは、DMA ( Direct Memory Access ) のように物理メモリ領域を直接参照する必要があるもの ( 仮想メモリを使える場合は、物理メモリ領域が連続している必要がないため影響なし )。 断片化のレベルは /proc/buddyinfo や /sys/kernel/debug/extfrag/unusable_index から確認可能。 明示的に断片化を解消する方法は、OS 再起動と、# echo 1 > /proc/sys/vm/compact_memory がある。 ■ 物理メモリ領域について 断片化の話の前に物理メモリ領域について整理する。
コンサル部@大阪オフィスのYui(@MayForBlue)です。 6/16(火)からスタートしたDevelopers.IO 2020 CONNECTが昨日最終日を迎えました。 私も7/7(火)のライブセッションに「今日からはじめるAWS」というタイトルで登壇しました。 登壇ブログとして、セッション内容の簡単なご紹介と、登壇資料、QAを記載させていただきます。 ライブセッション動画が近日中に公開予定なので、そちらもぜひご視聴いただければと思います。(当記事への追記と私のツイッターにてお知らせする予定です。) 喋りがメインのセッションになっているので、資料だけだと分かりにくい部分も多々あると思いますがご了承ください。 セッションの対象者 これからAWSを始めたいと思っている方 AWSに興味はあるけどどうやってキャッチアップ、勉強したらいいのか悩んでいる方 AWSのアソシエイトレベルの資格を取得
IIJ で実施している新人向けのハンズオン資料集です。
メルペイでプロダクトマネージャをしてます、さとじゅんです。 メルペイでto B向けプロダクトの開発をしてます。なので、主にto B向けプロダクトについての話になります。 たまに思うこと突然ですがPMは新しい機能を作る時は仕様書を書くことが多いですよね。 PRD(プロダクト要求仕様書)とかですね。 「Why」とか「What」とか「How」とか書きますよね。 それでリリースして運用していくと思うのですが、運用中にいろんな課題をこなしていくうちにひとつの事に気づきます。 「もう少しビジネスとシステムとオペレーションがひとつのつながりで理解できる資料が欲しいな」と。 to C向けのプロダクトに比べ、to B向けのプロダクトにはセールスやオペレーションのチームなど1つのプロダクトに関わる人が多くなる特徴があると思います。 PLGという考え方もあると思いますが、だいたいのto B向けプロダクトがto
The OWASP Cheat Sheet Series was created to provide a concise collection of high value information on specific application security topics. These cheat sheets were created by various application security professionals who have expertise in specific topics. We hope that this project provides you with excellent security guidance in an easy to read format. You can download this site here. An ATOM fee
結論 コードメトリクスの一つ、保守容易性指数と、バグ発生率とに、相関の兆候を見つけた まだ下調べの段階だけど、大規模調査および統計的検定の結果、 保守容易性指数とバグ発生率との相関が認められたら、 保守容易性指数をKPIにすることで、数値的品質評価・管理ができるかもしれない バグをまき散らすけど手が早いエンジニアの影に隠れて、 丁寧にモノづくりをしているけどいまいち評価されていないエンジニアに、 日の目をあてられるかもしれない。 バグ対処コストと保守容易性とを掛け合わせることで、 技術的負債を金銭的評価ができる可能性がある 金銭的に評価できれば、返済に関して、ビジネスサイドと有意義な議論ができる可能性がある はじめに 僕ら(@gakuri、@ahera、@yukke7624)は、とあるSI会社で横断的にプロジェクト支援をしている。 マネジメント状況の監査、支援、テコ入れから、技術的アドバイ
必要にかられてVSCode縛り開発を一ヶ月やっていたのですが、普通に便利に開発できるようになったのでメモ。 VSCodeでしかできないことがある VSCode を使うことになった主な原因は2つある。 Live Share ひとつはリモート下で密接にペアプロする必要があったため。 その上で Live Share が便利すぎて手放せなくなった。 docs.microsoft.com 多分対面でやっていても、お互い別のマシンでLive Shareでつないでいる方が都合が良いくらい便利。 最近Pythonばかり書いておりますが、Pythonだと値の型とかわからなくなったときに debugger を使うことがおおく、 その際にお互いデバッガーの状態を共有したまま調査ペアプロとか出来るので非常に便利。 Remote SSH もう一つはリモートマシンにログインしてストレス無く開発するのにRemote S
非常に高精度の文章を作れる言語モデル「GPT-3」は、OpenAIが開発したものの、オープンソースでもオープンアクセスでもなく、さらにMicrosoftと独占的ライセンス契約を締結しているので、自由に使うことはできません。こうした状況に対して「オープンソースのGPT-3」を作ろうとする動きがあります。その中の1つが「GPT-Neo」です。 EleutherAI - GPT-Neo https://www.eleuther.ai/gpt-neo AI Weekly: Meet the people trying to replicate and open-source OpenAI's GPT-3 | VentureBeat https://venturebeat.com/2021/01/15/ai-weekly-meet-the-people-trying-to-replicate-and
本投稿について 本投稿は、Microsoft Learn で公開されている、「SQL Server でクエリのパフォーマンスを最適化する 」を確認していた際に、いくつかの情報を補足しながら日本語化したものとなります。 SQL Server / Azure SQL Database のパフォーマンスチューニングには様々な方法があり、「このケースであればこの方法」ということを断定することは難しいのではないでしょうか。 そのため、様々なケースで利用することが可能な、チューニング方法の基礎知識 (一般論) はとても重要です。 本投稿で、確認を行った「SQL Server でクエリのパフォーマンスを最適化する 」は、チューニングに対しての体系的な考え方を無償で学ぶのには適しているコンテンツではないかと思いました。 チューニング系の講義は様々なノウハウが絡みますので有償が多く、ノウハウがない状態で体系
公衆無線LANなどを利用する場合には盗聴の危険性を考える必要あり 公衆無線LANなどを利用する場合、悪意のあるユーザーによって盗聴されている危険性を考えた方がよい。安全にインターネット接続を行うにはVPN接続を利用するとよい。ただ、VPN接続を行うには、VPNサービスの利用が必要になる。無償のものもあるが、安全性や安定性を考えると有償のVPNサービスを利用する方がよい。本稿では、Googleのオンラインストレージサービス「Google One」の付加サービスとして提供が開始された「VPN by Google One」を使ってVPN接続を行う方法を紹介する。 公衆無線LANやホテルなどでインターネット接続を行う際、ハッカーなどによって通信内容が盗まれるのではないかという不安を感じることはないだろうか。特に会社との重要な情報のやりとりやクレジットカード情報を入力しなければならないことがある場合
Author: blackenedgold Published: 2020-12-04 Last Modified: 2021-06-30 GitHub Source: md 概要 EmacsでのRust言語をプログラミングする際の環境構築について示します。 このページは以下の記事をemacs-jpのために再編集し投稿したものです。 Rustの環境構築(Emacs) | κeenのHappy Hacκing Blog ツールのインストール Rustupによるrustツールチェーンのセットアップは済んでいるものとして、他のツールの準備方法を案内します。 フォーマッタ、リンタ 公式で配布されているrustfmt(フォーマッタ)とclippy(リンタ)が鉄板です。 インストールは…既に上記の方法でインストールされています。 確認してみましょう。
ニュース † Web ページを公開しました (6/29) 無事終了しました。講演資料へのリンクを追記しました (9/1) ↑ 概要 † JavaScript は世界でもっとも利用されている重要なプログラミング言語の一つであり、ウェブブラウザで利用可能なほぼ唯一のプログラミング言語という特徴から、ウェブアプリケーション開発で広く利用されています。 この重要性から、JavaScript処理系の性能改善に関する研究開発が活発に行われてきました。JavaScriptの性能改善は、動的な言語ながらの困難さも知られています。今年のサマースクールでは、鵜川さん(東京大学)にJavaScriptの実装技術について、その困難さをどう克服するか、基本的なところからご紹介いただきます。 JavaScriptを動作させるソフトウェアとして、Google が開発を主導するV8処理系、およびそれを利用するGoogle
はじめに AWSをはじめとする大手クラウドサービスでは、12ヶ月無料やクーポン、1カ月〇〇までは無料で使用できる、というのが基本だと思っていました。 **ずっと完全無料のサービス(無制限)**があるというのは、一部しか知りませんでした。そのサービスはけっこう多いということを知ったので、確認する方法を備忘しておきたいと思います。 Amazon Web Services(AWS) メニュー「料金」→「AWS無料利用枠」 無期限無料でフィルタ AWSに限らずクラウドサービスは数え切れないほどあるが、下記URLは各サービスを1行で説明しているため、わかりやすくなっている。 Google Cloud 「料金」→「GCPの無料サービス」 Always Freeプロダクト https://cloud.google.com/free?hl=ja MS Azure 「無料ではじめる」ボタン を押下 「いつで
はじめに 分散合意アルゴリズム Raft とは 分散合意アルゴリズムとは Raft の特徴 Raft が満たす性質 Election Safety Leader Append-Only Log Matching Leader Completeness State Machine Safety TLA+ とは TLA+ による Raft の形式的仕様 TLA+ による Raft の検証方法 TLA+ Toolbox のインストール 新規 Spec の作成 Model の作成と実行 補足: コマンドラインでの検証 Raft の拡張について Leadership Transfer Membership Change Log Compaction Client Interaction おわりに Raft 理解度を調べるクイズ 参考資料 Raft に関する資料 TLA+ に関する資料 はじめに この
こんにちは、メルペイでSREとして従事している @myoshida です。この記事は Merpay Tech Openness Month 2021 の8日目の記事です。 SREチームはお客さまへよりよいサービス利用体験を提供するため、日々様々な改善活動に取り組んでいます。その活動の一環としてPlaybookの概念を導入し、運用者の運用負担を減らす取り組みを始めました。今回はそのことについて説明してみたいと思います。 概要 メルペイではアプリケーションエンジニアとSREの双方がオンコール制度のもと運用に携わっています。 運用の悩みは様々ですが、そのうちの1つに手順書の取り扱いがあります。 どこに置くべきか、更新はされているのか、何を書けばいいのか、どの場面でどの手順書を利用すればよいのかというような悩みはどこの現場でも少なからず存在すると思います。 そこで、Playbookと呼ばれる体系的
答え:Haskell に IDE はずっとある、今ならHLS使え(内容を読む気がないようという人向けの答え) はじめに 2021年2月現在、Haskell の IDE 環境は Haskell Language Server (HLS) の登場により劇的な進化を遂げていますが、日本の Haskell コミュニティではその前身の Haskell IDE Engine (HIE) の情報がまだ氾濫しており、十分な周知に至っていない現状があります。 本稿では、こうした現状を打破すべく、2021 年 2 月現在の Haskell の IDE 環境を取り巻く現状と、そこに至るまでの歴史を完全に独断と偏見で紹介します。より多くの人に HLS の存在を周知し、皆さんの Haskell Life の一助となれば幸いです。また、HLS の前身である HIE は必ずしも快適に動作するとは言い難かったため、HLS
この記事は言語実装のカレンダー | Advent Calendar 2021 - Qiita https://qiita.com/advent-calendar/2021/lang_dev の4日目の記事です。 はじめに 昔、アセンブリ言語のみから出発し、GC・継続・オブジェクトシステムなどを持つ比較的高級な言語までブートストラップするということをやりました。いつか再挑戦してみたいと思っていて、正月休みにやりましたら思いのほか動くものになりましたが、死蔵させたまま1年経ってしまいました。勿体無いのでこの機会に紹介して供養します。 前回作ったAmberという処理系はこちら - リポジトリ: https://github.com/nineties/amber 今回はアセンブリ言語じゃなく ELFファイルの手書き から出発してみたいと思います。ただのお遊びで、そんなことしても役には立ちません。が
モブプログラミングの強みはメンバーが体験を共有できること 佐藤治夫氏(以下、佐藤):先ほど及部さんが、モブプログラミングでみんなが話す時間が増えて楽しくなったというお話をしていました。モブプログラミングは複数人を同時に同じ場所に集めるので作業は並行で進まないじゃないですか。 その裏返しで、モブプログラミングのことをプログラミングではないモブワークみたいな感じでモビングって言うんですかね? それを採用する効果はどういうものを感じていますか? 及部敬雄氏(以下、及部):よく言われるところで、1つ目に「教育的効果が高い」というのがあります。SECIモデルで出てくる例えばソースコードや手順書など、コードやドキュメントに落ちる言葉として発せられる知識だけではなくて、コードの書き方や、なぜこういう名前にしたのかという組み立て方ですね。エンジニアは書いたコードは渡せるし、自分の言葉で説明できることは伝え
ベン・フィードラーのブログより。 型検査と型推論 型検査とは、あるプログラミング言語で与えられたプログラムを実行し、すべての変数や式が正しい型を持っているかどうかを調べるプロセスです。例えば、文字列は文字列に代入され、算術式は数値のみを使用するなどです。一部の言語では型推論を提供しており、コンパイラに自分で正しい型を見つけるタスクも提供します。言語の特徴に応じて、型検査と型推論の問題は、些細なものから決定不能なものまで様々です。 一般的な用語 完全性 正しく入力されたプログラムを全てチェックできれば、タイプチェッカーは完了です。 健全性 正しく型付けされたプログラムのみを受け付けるものであれば、型検査は健全です。 決定可能性 任意の入力に対して、その入力が問題を満足するかどうかを有限時間で計算できる場合、決定問題は決定可能です。決定可能な問題の例としては、素数判定や充足可能性などがあります
A fork() in the road を読んで.md A fork() in the road を読んで HotOS 2019 で Microsoft Research からの論文である.Unixの代表的なシステムコールであるfork()についての問題点を挙げている. 概要 fork()は最も基本的なシステムコールといっても良く,新しいプロセスを作るときに使われる.今回の論文の主張はfork()は1970年代のマシンではハックと呼べるものだったが,現代では過去の負債となっているというものでおり,カーネルから完全に取り除くべきであるというものである.ただし,ここでいうカーネルとはLinuxカーネルのことを直接指しているのではなく,著者の先行研究でのOSの実装のことを指している. 面白いのは,fork()は研究者にとっては研究を阻害するといったことや,教育者は歴史としては教えるべきだが最初
@uchan_nosさんのお誘いを受けて,「マイクロカーネル」をまとめた本を書きました。技術書典 応援祭(サークル紹介ページはここ)で頒布します。 著名なオープンソースのマイクロカーネルたち(L4やMINIX3など)と拙作のReseaの実装(バージョン0.1.0)を交えながら,細かすぎて伝わらないマイクロカーネルの設計・実装のポイントを解説しています。 マイクロカーネルのサーベイ論文のようなものとしてご活用ください。 電子版のダウンロード 電子版はこちらからダウンロードできます(無料) 書籍版の入手 書籍版はBOOTHで頒布してます(3月上旬入荷予定) Reseaのソースコード GitHubで公開しています
猛烈に暑かったり暑くなかったりするなか皆様いかがお過ごしでしょうか。自宅のエアコンが故障して修理待ち半月の id:tmd45 です。 先月、5 年間使い続けてきた Qiita:Team から esa へ、情報共有ツールの乗り換えを行いました。80 名ほどの全社移行となかなか大きなプロジェクトだったので、ここに記録を残したいと思います。 なぜ乗り換えに至ったか フィードフォースの情報共有文化 抱えていた課題 動き出した移行プロジェクト 検討した情報共有ツール esa に決めるまで 社内への働きかけ データ移行のノウハウ Emoji の登録 記事データの移行 プロジェクトページ記事の扱い プライベートグループの記事の扱い メンバーの移行とデータの移行のタイミング esa と一緒に使っている便利ツール 記事の自動作成「自動 esa やり機」 Slack に記事 URL から概要を展開してくれる「
Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた 2021年12月25日にリリースされたばかりのRuby 3.1では、どのような機能がどういった経緯で採用されているのでしょう。リリースマネージャーのnaruseさんと、フルタイムコミッターのmameさん、ko1さんに詳しくうかがいました。 プログラミング言語Rubyでは2013年の2.1.0以降、毎年クリスマス(12月25日)にメジャーバージョンアップが行われています。2021年も無事にバージョン3.1.0がリリースされました。 ▶ Ruby 3.1.0 リリース Ruby 3.1は、言語機能の面では全体的に穏やかなリリースにも見えますが、新しい方式のJIT(just in time)コンパイラ、標準の新デバッガー、事前アナウンスでも好評だったエラーメッセージの改善な
TL; DR Keyball46はいいぞ ProMicroにはAVR版とRP2040版がある ピン配置の互換性はあれど、命令セットは完全に異なるので「ファームウエアを書けとささやくのよ、私のゴーストが」という方以外はAVR版を間違えずに買いましょう まあ最悪間違えても一週間くらいでなんとかなる(当社調べ) みんな自作キーボードをやろう! はじまり みなさんは、Keyball46という素晴らしい自作キーボードキットをご存知ですか? そう、なんと、キーボードにトラックボールがついてるんです!最高ですよね! ということで、秋葉原にある自作キーボードのお店こと遊舎工房さんから速攻でポチりました。ちょうど安いキーボードを一個水没させたところですし、自作キーボードも本格的にやりたかったし、年末休みで暇を持て余していますからね。 役者は揃った。あとは作るだけ…。(キーキャップが想像以上に美味しそうでニヤ
この記事は HDL Advent Calendar 2021 25日目の記事です。 すいません、11日ほど遅れての投稿です。 この記事では、以下のツイートに至るまでの裏話について話させていただきます。 HDLに関係があるかというとかなーり微妙ですが、許していただきたいです🙏 Our first tapeout project of 8bit CPU with @Cra2yPierr0t has just finished. We still don't have enough knowledge about making LSI ...https://t.co/J99bRlMTY3#mpw3 #efabless #openmpw pic.twitter.com/6MmGvlDMCZ— Δyuk! (@heppoko_yuki) 2021年11月12日 遂に@heppoko_yuki と共
RustをLinuxカーネルに組込みプロジェクト、Rust for Linuxが進行中です。 このプロジェクトはLinuxカーネル全体をRustで置き換えるわけではなく、第二言語としてRustを採用してデバイスドライバなどのモジュールを書くことができるようにしようというものです。 RustはOSのような低レイヤーソフトウェアを実装する言語として、C言語に代わる選択肢として注目されてきたわけですが、Linuxのような広く使われているシステムに採用されるとなればかなり熱いですね。 実際にLinuxのメインラインに取り入れられるにはまだまだ課題は多いものの、Linus氏を含むLinuxの開発者からのフィードバックも比較的ポジティブでこれからが注目されています。 そんなRust for Linuxを手元でビルドして動かしてみました。 一応、基本的な手順はレポジトリ内のドキュメントにまとまっているの
Blogs by Shuvomoy Das Guptaより。 シュボモイ・ダス・グプタ 2020年4月13日 最近、ドナルド・クヌースの新旧のインタビューを偶然見つけました。そこでは、彼の仕事の習慣、問題への取り組み方、そして幸福に対する哲学が明かされています。私はそのインタビューをとても楽しく読みました。このブログでは、問題への取り組み方、日々の活動の整理、そして幸福の追求についての彼の考えを記録しています。 研究において森と木の両方を見る。「私は長年、多くの大学院生が論文を見てきましたが、彼らの研究は、私が説明しようとすることを裏付けるようなパターンになることが多いのです。例えば、未知の複雑な問題を解決しようとするとき、あなたは新しい世界に足を踏み入れる探検家です。最初は脳がその領域を学習し、問題の世界で小さな一歩、ほんのわずかな一歩を踏み出しているのです。しかし、しばらくその問題に没
アマゾン買収から2年半、「Amazon FreeRTOS」は最も手頃なRTOSに:リアルタイムOS列伝(2)(1/3 ページ) IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第2回は、アマゾンの買収によってRTOSのメインストリームに躍り出た「Amazon FreeRTOS」について紹介する。 連載「リアルタイムOS列伝」の第2回、というかここ10年のリアルタイムOS(RTOS)の動向を概説した前回を除いて実質的な第1回になる今回は「Amazon FreeRTOS」をご紹介したい。 ⇒連載記事「リアルタイムOS列伝」バックナンバー Amazon FreeRTOSの話は、アマゾン(Amazon.com)による買収を受けてのこちらの記事で触れているが、簡単に説明すればもともとはリチ
Recent posts: 24 Mar 2024 » Linux Crisis Tools 17 Mar 2024 » The Return of the Frame Pointers 10 Mar 2024 » eBPF Documentary 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon 17 Feb 2023 » USENIX SREcon APAC 2023: CFP 02 May 2022 » Brendan@Intel.com 15 Apr 2022 » Netflix End of Series 1 09 Apr 2022 » Te
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く