メインで使っているLenovo製PCのメモリが故障しました。有償保守契約があったので修理工場に「入院」して検査をしてもらったところ,2枚装填されているメモリのうちの1枚が故障しているということでした。メモリも購入後3年間の保証がついているものだったので,交換部品を送ってもらうことになりました。


メインで使っているLenovo製PCのメモリが故障しました。有償保守契約があったので修理工場に「入院」して検査をしてもらったところ,2枚装填されているメモリのうちの1枚が故障しているということでした。メモリも購入後3年間の保証がついているものだったので,交換部品を送ってもらうことになりました。
東京の1日の新規感染者数が今日1万人を超えて11,227人となりました。病床使用率は34.3%で小池知事が緊急事態宣言発出要請の基準としてあげた50%には至っていませんが,このペースで増え続ければ今月末には緊急事態宣言発出に至ると予想されます。
第5波の際の緊急事態宣言発出時(2021年7月12日)の入院者数1947人,第4波の緊急事態宣言発出時(2021年4月25日)の入院者数は1812人,第3波の緊急事態宣言発出時(2021年1月8日)は年末年始を挟んだためか入院者数3178人です。入院者数が2000人が緊急事態宣言の目安と言えそうです。昨年秋以降の小康期にどれだけ病床を増やせたかによって今後の病床逼迫状況が変わりますが,医療スタッフを短期間に増員することは不可能であることから,大きく変わることは考えにくく,近く緊急事態宣言発出となろうかと予想しています。
東京都の新規感染者数とその7日移動平均,入院者数をグラフ化してみました。第6波はかなりの急なカーブとなっています。
政治的な要因で多少の前後はあるにせよ,これまでは入院者数が2千人を超えたあたりで緊急事態宣言の発出となっています。第6波の場合は,1月末には二千人に達してしまうスピードです。覚悟しておいた方がよいでしょう。
データは東京都福祉保健局のオープンデータを使用しました。
独立行政法人情報処理推進機構(IPA)より,情報処理安全確保支援士(登録情報セキュリティスペシャリスト)の講習終了証が届きました。
10年ほど使ったレーザー複合機をリプレースしたので,古いものを処分しました。「産業廃棄物」に該当するため,自治体では改修してくれず,産廃業者に依頼しました。モノクロレーザ複合機を家庭用して使っていたと主張するのは無理がありますから仕方がありません。産業廃棄物処理はルールが厳しく,厳格に管理されています。マニフェストという書類を業者間で受け渡していくようです。
e-taxで板橋税務署から適格請求書発行事業者の登録通知が届きました。消費税を納税している事業者には請求書等の記載事項が少し増える程度です。
国内旅行業務取扱管理者試験に合格しました。不純な動機で受験しましたが,合格には違いありません。
先日,NTTドコモで通信障害がありましたが,スマホもタブレットもNTTドコモは使っていなかったので,「他人事」と思っていました。ところが,今朝,警備会社から何度も警備開始/警備終了の操作が行われたことを伝えるメールが大量に届いたのです。誰かが侵入したのかと思い,警備会社に問い合わせてみました。すると,警備会社との通信にNTTドコモの回線が使われており,通信障害中に発生したイベント情報が,通信が回復した時にまとめて飛んだということでした。
令和5年から消費税のインボイス制度が始まります。インボイスを発行するためには,税務署に「適格請求書発行事業者」として登録する必要があります。10月1日から申請の受付が始まりましたので,早速e-taxで申請しました。
https://www.nta.go.jp/taxes/shiraberu/zeimokubetsu/shohi/keigenzeiritsu/invoice.htm
Javaランタイム外部のメモリにアクセスしたり,ネイティブ関数を呼び出すためのAPIを提供します。以前からJNIなどの方法でアクセスすることは可能でしたが,実装が大変である上にパフォーマンスにも課題がありました。より洗練されたAPIを提供しようという意図で開発されています。
以下のプログラムではC言語の文字列の長さを返すsize_t strlen(const char *s)を呼び出します。コンパイル時には,–add-modules jdk.incubator.foreignオプションをつける必要があります。また,実行には–add-modules jdk.incubator.foreign オプションに加えて,–enable-native-access=ALL-UNNAMEDオプションもつける必要があります。
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodType;
import jdk.incubator.foreign.CLinker;
import jdk.incubator.foreign.FunctionDescriptor;
import jdk.incubator.foreign.MemoryAddress;
import jdk.incubator.foreign.MemorySegment;
import jdk.incubator.foreign.ResourceScope;
import jdk.incubator.foreign.ValueLayout;
public class ForeignFunction01
{
public static void main(String[] args) throws Throwable
{
strlen("Hello World!");
}
private static void strlen(String string) throws Throwable
{
MethodHandle strlen = CLinker.getInstance().downcallHandle(
CLinker.systemLookup().lookup("strlen").get(),
MethodType.methodType(long.class, MemoryAddress.class),
FunctionDescriptor.of(CLinker.C_LONG_LONG, CLinker.C_POINTER)
);
MemorySegment str = CLinker.toCString(string, ResourceScope.newImplicitScope());
long length = (long)strlen.invokeExact(str.address());
System.out.printf("Length of string \"%s\" is %d\n", string, length);
}
}
警告:実験的なモジュールを使用しています: jdk.incubator.foreign
警告1個
WARNING: Using incubator modules: jdk.incubator.foreign
Length of string “Hello World!” is 12
ベクトル演算をサポートしているCPUに向けてベクトル演算をサポートするAPIを提供するものである。