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. Dismiss alert
こんにちは、アドテクスタジオでセキュリティエンジニアをしている岡崎です。 皆様、年末年始はゆっくりできましたでしょうか。私は年始に公開された「Meltdown and Spectre」のお陰で年始早々、情報整理に追われてました。 今回は、先日「Meltdown and Spectre」の脆弱性のこともあり、脆弱性情報の見方と脆弱性情報API活用について、書かせていただきます。 1,脆弱性情報の見方 エンジニアの方であれば、脆弱性情報を確認する中でCVEやCVSSなどを目にすることが多いと思います。それぞれどのような意味を持ち、どのように見るのかを知っておきましょう。 先日あった「Meltdown and Spectre」を例に見ていきましょう。 https://meltdownattack.com/ https://spectreattack.com/ まず、このような脆弱性情報が公開され
In this brief post I want to discuss a fairly unusual feature of Haskell - functions that can be parameterized by their return type. Parametric vs. ad-hoc polymophism It's worth beginning with a quick discussion of the two most common kinds of compile-time polymorphism present in Haskell: parametric polymophism and ad-hoc polymorphism. Parametric polymorphism is possible when we can define a certa
撮影することでURLなどを読み取れる正方形の模様、QRコード。スマホなどから利用するのが一般的ですが、どうしてもスマホが取り出せないときは、どうやって読み取ればいいのでしょうか。 ご存じの通り、人間にも目というカメラがあります。実は文明の利器なんて使わなくても、人力で解読できるのです。それでは、QRコードリーダーをあなたの脳にもインストールしてみましょう。 今回はこのQRコードを自力で読んでみましょう(CMANで作成) QRコードの基本構造を知ろう! QRコードの構造。緑色部分は位置補正に必要なパターン、赤色部分はQRコードの読み取りに必要な情報(矢印の向きに読む) 内容を読み取る前に、そのための準備作業から始めましょう。 まず着目してもらいたいのが、QRコードの隅などにある四角形の模様です。これはカメラで読み取ったときの角度の違いを補正するためのもの。これ自体は読む必要がありませんが、周
概要 ダイクストラ法を使うと、単一始点 s から全ての頂点への最短距離が計算できるのは有名だね。これを少し拡張することで、「s からの最短距離と、それを実現する最短経路の個数」の組を、全ての頂点について計算することができるわ。 詳しく 少し天下り的だけど、以下の半環を考える。 (a, x) + (b, y) := a < b ? (a, x) : a > b ? (b, y) : (a, x + y), (a, x) * (b, y) := (a + b, x * y) この半環を使って、[Mohri2002]の方法でダイクストラ法を行うことにより、s-vの最短距離とs-vの最短経路の個数が全ての頂点vについて分かる。 ソースコードは以下の通り。 gist.github.com ARC090 E - Avoiding Collision で確かめた。 https://beta.atcode
Heard of Rust? Then you may have heard of "lifetimes". They are one of the languages hallmark features, but sometimes also one of the most cursed. This isn't necessary. Lifetimes are a interesting subject: a lot of people seem to gain a day-to-day familiarity with them, without fully understanding what they are. Maybe, they are truly Rust's Monads. Let's talk about what they are, where you encount
The following are all the things I want in place for a Haskell project. This is primarily a copy-paste-able reference for myself, but I’ve also tried to explain or generalize some things to make it useful for anyone first bootstrapping a Haskell project. NOTE: if you were brought here after googling something like “how to Haskell on Circle 2.0”, you’ll just need the Makefile and .circleci/config.y
Linux as FirmwareTired of reinventing the wheel by implementing drivers for firmware again and again? Not with LinuxBoot! What?LinuxBoot is a firmware for modern servers that replaces specific firmware functionality like the UEFI DXE phase with a Linux kernel and runtime. It started as NERF in January 2017 at Google. LinuxBoot is a Linux Foundation project and as such has a technical charter. Why?
After more than 18 months of development, all Godot Engine contributors are proud to present our biggest release so far, Godot 3.0! It brings a brand new rendering engine with state-of-the-art PBR workflow for 3D, an improved assets pipeline, GDNative to load native code as plugins, C# 7.0 support, Bullet as the 3D physics engine, and many other features which are described in depth below. Impatie
2018-01-30 はじめに Allocation Efficiency in High-Performance Go Services · Segment Blog という記事を読みました。素晴らしいのでぜひ一読をお勧めします。 この記事は自分の理解と実際に試してみた結果のメモです。 一番のポイントは go build -gcflags '-m' のようにオプションを指定してビルドすればコードのどの箇所でヒープ割り当てが発生したかを確認できるということです。 pprof や go test -benchmem でもヒープ割り当ての発生回数は確認できますが、上の方法ではコードのどこ(何行目の何カラム目)でヒープ割り当てが発生したかとなぜ発生したかの理由を確認できます。 元記事の内容メモ 冒頭にあげた記事を読んで私が理解した内容のメモです。 元記事の全ての内容を書いているわけでないので、元
Abstract: Xi is a project to build a modern text editor with uncompromising performance. Its thoroughly async, loosely coupled design promises performance and rich extensibility, but creates interesting engineering challenges, requiring advanced algorithms and data structures. In addition to pushing the state of computer science for text handling, the project also seeks to build an open-source com
Introduction Before explaining why I created Oil, let's review what it is. You can think of a Unix shell in two ways: As a text-based user interface. You communicate with the operating system by typing commands. As a language. It has variables, functions, and loops. Shell programs are text files that start with #!/bin/sh. In this document, we'll think of Unix shells as languages. The Oil project a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く