You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
xv6のページング周りをちょっと見てたので記録をφ(..)メモメモ 参照したドキュメントはbook-rev10.pdfです。 book-rev10.pdfのP21、 Figure 1-2にxv6のメモリレイアウトがあります。 仮想アドレスの0から0x80000000がユーザー空間で、0x80000000〜0xFFFFFFFFがカーネル空間ですね。カーネル空間のうち先頭の0x100000バイトはBIOSの領域となってます。 カーネルのアドレス空間はvm.cにあるkmap構造体で管理してます。 static struct kmap { void *virt; uint phys_start; uint phys_end; int perm; } kmap[] = { { (void*)KERNBASE, 0, EXTMEM, PTE_W}, // I/O space { (void*)KERN
お久しぶりです&あけましておめでとうございます。昨年はブログを書く時間をうまく作ることができず、あまり記事を書けませんでした。今年はできるだけ月に1回程度何か書いていきたいと思っています。今年もよろしくお願いします! さて、ブログを書かなかった間にXSSからSQLインジェクションへ興味が移った、なんてことはありませんでしたので、今日もいつも通り大好きなXSSの話をしたいと思います! 最近、正規表現にユーザ入力を使っていることに起因するDOM based XSSに連続して遭遇しました。あまり見慣れていない注意が必要な問題だと思うので、この記事では、見つけたもの2つがどのように生じたか、また、問題を起こさないためにどうすればよいかを紹介します。 そのうちの1つはLINEのBug Bounty Programを通じて報告した問題です。 賞金と、"LINE SECURITY BUG BOUNTY"
という試みをやってみたのでその学びをメモ。 もちろん全てのケースをカバーできたわけではなく、無限に気になることはあるけど、まあきっかけといことで。 環境はmacOSです。CIで動かすのは続編としてまたいつかブログに書きます。 何を使うか いわゆるE2E(URLでページ開いてボタン押したらどうでこうで)をやりたい場合、フロントエンド的な観測範囲だと現時点ではこの2択になるのかなーと思う。 Selenium TestCafe 他にオススメあれば知りたいです。 Selenium https://github.com/webrtc/samples/tree/gh-pages/test とかでも使われてる例があって身近ではあるけど、正直使いたくない・・。 https://github.com/webdriverio/webdriverio とかあわせていれれば多少のシンタックスはマシになるけど、もう
やってること メモ Jenkins を動かす環境 Docker イメージ itamae レシピ Serverspec テスト Jenkins の準備 プラグイン Docker 周り ジョブ infra-itamae の設定 infra-serverspec の設定 動いてる図 Build Pipeline ログ 以上 やってること 今更かもしれないけど, ギョームで以下のようなことをやって, ここ数日で運用も回ってきた気がするのでメモしておく. itamae のレシピを amazonlinux コンテナに適用 適用したコンテナに対して Serverspec でテスト 1 と 2 を Jenkins のビルドパイプラインで流す 3 が正常に終了したら, pull request を作成, 又はマージ master ブランチのレシピをサーバーに手動で適用 Jenkins のポテンシャルと it
Nginxへの変更に伴うリバースプロキシのテストの改善 SREグループの菅原です。 クックパッドではブラウザ用Webサイトのリバースプロキシ用のWebサーバとして長らくApacheを使っていたのですが、最近、Nginxへと変更しました。 Nginxへの変更に当たって、構成管理の変更やテストの改善を行ったので、それらについて書きたいと思います。 リバースプロキシのリニューアルについて まず、ブラウザ用Webサイトの基本的なサーバ構成は以下のようになります。 リバースプロキシはELB経由でリクエストを受けて、静的ファイルの配信やキャッシュサーバ・Appサーバへの振り分けを行います。 リバースプロキシとして利用されているApacheは、長年の改修により設定が煩雑なものとなっており、設定の追加や変更にコストがかかる状態になっていました。 また、Apacheの設定ファイルはItamaeでは管理されて
キーボード、600台以上集めても、まだ足りない。2018.03.27 20:0014,295 Rina Fukazu 1台でも十分だと思うのは素人。 博物館レベルのコレクションを持つ、情熱的な人々を特集する米Gizmodo新企画「Show Me Your Nerd」第1弾は、Jacob Alexanderさん。eBayで出費を抑えられることを理由に、生まれ育ったカナダから離れてアメリカからへ移住したというほどのキーボード愛好家です。 Image: Gizmodo US日中こそキーボードとはまったく関係のないSEの仕事をしているといいますが、その傍らで「Input Club」という会社を設立。小さなオフィスで600台以上のキーボードをコレクションしているほか、オリジナルデザインのキーボードを作って販売まで行なっているそうです。 白い箱ひとつひとつにキーボードが入っているそう Image: G
はじめに 前回(ブロックチェーンアプリ開発基礎の基礎)Gethの基本的な使い方が分かったと思うので、今回は実際にコントラクト指向言語であるSolidityを用いてスマートコントラクトの開発を行ってみたいと思います。 基本的には前回の続きになります。今回必要な部分は以下にまとめておきますが、分からない部分があれば適宜前回記事を参照してください。 最低限必要な準備 { "config": { "chainId": 42, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "nonce": "0x0000000000000042", "timestamp": "0x0", "parentHash": "0x00000000000000000000000000000000000000000000000000000000000000
最もわかりやすい(自画自賛) KiCad 実習テキスト 1. KiCad ver.4.0.x の実習テキストをWeb頒布します。 Makers 支援活動の一環としてKiCad実習テキスト(PDF)を無償頒布します。 このテキストは2017年に行った「KiCad入門ハンズオン」で使用したテキストを自学自習向けに再構成したものです。 本書はKiCad 4.0.x用で KiCad 5.xには対応しておりません。 KiCad 5.x に対応する入門実習テキストはマッハ新書「KiCad Basics for 5.x」にて有償頒布しております。 2. この実習テキストの構成 KiCadの準備 回路図入力 アノテーション フットプリント割付 ネットリスト出力 デザインルール 配置配線 自動配線(FreeRouting.jarを使用) 配線修正,押しのけ配線 面付け ガーバーデータ,ドリルデータ出力 基板
この記事では、Scalaのパーサコンビネータを用いて、BNF風の定義を書くだけで、オブジェクトのマッピングからパースエラーのハンドリングまでできてしまう高機能なパーサを作る方法を解説します! パーサコンビネータとは? Scalaにはパーサコンビネータというライブラリがあります。BNFと似たの記法で構造を定義するだけで簡単にパーサを実装することができます。たとえば、□□□-□□□□のような形式の郵便番号をパースするコードは次のように書くことができます。 import scala.util.parsing.combinator._ object PostalCodeParser extends RegexParsers { def postalCode = """\d{3}""".r ~ "-" ~ """\d{4}""".r } println(PostalCodeParser.parseA
Emacs から SLIME を起動すると (http://lispuser.net/emacs/lisphacking.html , http://lispuser.net/commonlisp/clisp.html 参照) 、 CL-USER> というプロンプトが表示されていると思います。 CL-USER> ここに、プログラムを入力することで、 Lisp にプログラムを解釈させて結果を確認することができます。 さっそく Lisp にプログラムを実行させてみましょう。 CL-USER> (+ 1 2) 3 これは、 1 + 2 を計算させるプログラムです。 (+ 1 2) の意味は、関数 + パラメータとして 1 と 2 を渡す、という意味になります。 乗算を行いたい場合には関数 * を使用してみてください。 CL-USER> (* 3 4) 12 もちろん、式を入れ個にする事もできます
純LISP(じゅんりすぷ、英: pure LISP)とは、コンピュータ・プログラミング言語 LISP のうち、ごく基本的な要素だけからなる方言の一種。1960年のジョン・マッカーシーの論文「Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I」で示された[1]。基本的な関数とプリミティブのみしかないが、その言語のインタプリタをその言語で記述できるという性質を持っている。なお、論文とほぼ同時期に発表された、最初の LISP の実装である LISP I は約90個の組み込み関数があり、純LISPではない。 純LISPには2種のデータ型「アトム」と「ペア」、及び、関数はそれらを操作する5つの基本的な関数が存在する。 「ペア」はデータのペアを表現する。要素 A と B からなるペアは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く