As increasing numbers of pilgrims walk the Camino, a European network of historic pilgrimage routes, those who journey to “slow down” their lives often don’t recognize the burdens of tourism on locals.
<非行少年の検挙・補導人数は、1983年をピークに減少傾向が続き、現在は10分の1にまで減っている> 未成年者による法の侵犯行為を非行という。非行少年は、14歳以上の場合は犯罪少年、14歳未満の場合は触法少年と括られる(少年法第3条)。刑事責任を問える最低年齢は14歳なので、この年齢に満たない少年は、法に触れる行為をしたということで触法少年と呼ばれる。 非行少年が年間でどれほど出ているかは、法務省の『犯罪白書』に掲載されている、20歳未満の刑法犯検挙・補導人員を見れば分かる(触法少年の場合は「補導」という言葉が使われる)。これによると、2020年の数値は3万2063人。1日90人近くの少年が捕まっている計算で、かなり多いように思える。実際、少年が起こした事件の報道に接することはしばしばで、その中には凶悪なものもある。 だが少年の非行は,昔の方がはるかに多かった。<図1>は、20歳未満の刑法
1.はじめに 本シリーズでは、日々の業務を効率化し、定時できちんと帰宅する方法を紹介しています。主な業務効率化の例は、以下のようになります(詳しくは第154回参照)。 スペックの高いハードウェアを導入する 使用機器を使いこなす ツールを導入する 自分でツールを作る 働き方を工夫する 業務効率化の方法はさまざまです。今回も「ツールを導入する」に着目し、前回の『Google Testを使ってみよう』の続編となります。このツールを使い、「アサーション」と「パス・カバレッジの計測」を実施する具体的な方法を記述します。どちらも、テストや品質制御で強力なツールとなります。 ⇒連載「山浦恒央の“くみこみ”な話」バックナンバー 2.前回の振り返り 単体テスト以降の工程でバグが発生すると、「なぜ作成しているときに気付かなかったのだろう……」と後悔することがあります。これを防ぐためにも、単体テストをしっかりや
Google Cloud で何かアプリケーションを動かしたい時、いつも App Engine (GAE) を第一の選択肢として挙げています。 なのにみ〜んな Cloud Run に行ってしまう。なぜなのか?? 確かに Cloud Run のほうが新しくて公式に露出が多いし、GAE はこういうランディングページからの言及も消えているので無理もない。Google Cloud 的にもあんまり使って欲しくない雰囲気が漂っている。 cloud.google.com App Engine は GCP 最初期からあるサービスで今年で 14 年目になるらしい。 当時学生だった僕はすげーのが出たぞと聞いて GAE を触っていた記憶がある。その頃は Google App Engine 単体で出ていて、他のサービスが続いて Google Cloud Platform になったような気がする1。 そんな歴史あるサ
あなたのチームがいくつも未着手の仕事を抱えているとき、どのようにそれらに着手し、そして完了させていったら良いでしょうか? アジャイルには「始めるのをやめよう。終わらせることを始めよう。」という言葉があります。Tebiki株式会社では、この考え方を基本として、 デスクレスワーカーのための現場教育SaaS「tebiki」を開発しています。 この記事では、新しい仕事を「始める」ことを優先する場合と、仕掛り中の仕事を「終わらせる」ことを優先する場合の比較をしながら、かつては「始める」ことを優先していた Tebiki社が「終わらせる」ことを重視するように変わっていった事例を紹介したいと思います。 仕事が「終わる」とはまず前提として、仕事が「終わる」とは、どういうことでしょうか?たいていの仕事では、まず必要な作業を計画し、それを実行することでその仕事を進めるはずです。 それでは、計画していた作業をひと
Apple独自開発のSoCであるM1チップを搭載したMacでの動作を目指すLinuxディストリビューション・Asahi Linuxの開発に携わる開発者兼VTuberの朝日リナ氏が、M1 GPUのドライバー開発についてAsahi Linux公式ブログで解説しています。 Tales of the M1 GPU - Asahi Linux https://asahilinux.org/2022/11/tales-of-the-m1-gpu/ リナ氏によれば、近年のGPUはほぼすべて、以下のようなメインコンポーネントで構成されているとのこと。 ・ユーザー定義のプログラムを実行して三角形(頂点データ)とピクセル(フラグメントデータ)を処理する「シェーダーコア」 ・三角形を画面上のピクセルに変換する「ラスタライズユニット」「テクスチャサンプラー」「レンダー出力ユニット」、およびシェーダーと一緒に動作す
大量のHDDを運用し、その故障率レポートを公開していることで知られるクラウドストレージサービス・Backblazeが、ここ10年のコストの変化を公開しています。 The Cost of Hard Drives Over Time https://www.backblaze.com/blog/hard-drive-cost-per-gigabyte/ Backblazeにあるストレージ価格の記録は2009年1月分から最新の2022年11月分まで。2009年以前に購入したものやメーカーからもらったテスト用製品を除き、記録にある13年間に購入したHDDの総台数は26万5332台だったとのこと。 容量別の一覧はこんな感じ。Backblazeが購入を続けているのは16TBモデルのみで、ここには含まれない1万2000台をさらに追加購入予定。他のモデルはスペアとして少量購入する可能性があるぐらいだそうで
Red Hat の森若です。 本記事は赤帽エンジニアAdvent Calendar 2018の7日目です。 RHEL 7 まで、開発中以外のタイミングでクラッシュするプロセスのcoreを取得するのはなかなか大変でした。デフォルトではプロセスのCWDにcoreファイルを保存しますが、このサイズや個数を制御する標準的な方法がなかったため、「ときどきクラッシュするシステム」の問題を解析するためにcore出力を有効にすると、ファイルシステムがあふれてしまう懸念があったのです。 RHEL8 betaではsystemd-coredumpがデフォルトで有効になっています。 systemd-coredumpはプロセス異常終了時に出力されるcoreファイルを管理する仕組みで、以下のような機能を提供します。 coreファイルを(各プロセスのCWDではなく)あらかじめ決められた場所に保存する systemd-j
はじめに この記事はPaddleOCRやEasyOCRを使ってテキスト抽出する方法を紹介します。 各ライブラリやOCR、超解像度化の詳しい内容の説明はこちらの記事では省かせてもらいます。 各ライブラリについては以下を参考にいたしました。 環境構築 Google Colaboratory 1.各ライブラリのインストール PaddleOCR PaddleOCRのクイックスタートに沿ってインストールします。 !python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple !pip install "paddleocr>=2.0.1" テキスト抽出 環境構築が終わったら、テキスト抽出に入っていこうと思います。 使用する画像は、マイカーが故障した時に撮ったメータが写っているものにしました。 それでは、テキスト抽
プログラムの動的な振る舞い、特にメモリアクセスの様子をみてみたくなることがあります。 たとえば、2017年のデザインガイアで発表されていたFPGAアクセラレータ開発を支援するためのツール環境では、ValgrindとGDBを使ってメモリアクセスの様子を可視化していて、面白そうだな、やってみたいなと思わされます。 とりあえず Valgrind + GDBでメモリアクセスを確認する方法を、ちょっと試してみました。 Valgrindを使ってみる まずはValgrindを使ってみます。ターゲットはfree忘れの簡単なプログラムです。 #include <stdlib.h> #include <strings.h> #define N (100) #define M (128) void dut() { char *ptr; for(int i = 0; i < N; i++) { ptr = (ch
はじめに こ、えだ臭?(デブ活 ソフトウェア開発をするとどうしてもデバッグに割かれる時間は長くなります。効率的にデバッグをするためにはデバッグをしやすい環境を整えておくことが不可欠です。特にLinuxだと標準的なデバッガとしてgdbが使えることが多いので、gdbを中心にデバッグ環境を整えることも多いと思います。 この記事では、gdbを使ったdynamicな方法でのデバッグの小技をいくつか紹介します。逆に、一般的なgdbの使い方の、break入れてcontinueしたり変数の中身を見たりといったとこは他の記事に任せることとします。 とはいえまずはgdbの一般的な話から dynamicにといっても、素性のgdbのままでは辛いことも多い。個人的には下記を常用している。 set print pretty on set print object on set print static-members
In this Github repository, I'm documenting my journey to write a self-compiling compiler for a subset of the C language. I'm also writing out the details so that, if you want to follow along, there will be an explanation of what I did, why, and with some references back to the theory of compilers. But not too much theory, I want this to be a practical journey. Here are the steps I've taken so far:
mini-rv32ima is a single-file-header, mini-rv32ima.h, in the STB Style library that: Implements a RISC-V rv32ima/Zifencei†+Zicsr (and partial su), with CLINT and MMIO. Is about 400 lines of actual code. Has no dependencies, not even libc. Is easily extensible. So you can easily add CSRs, instructions, MMIO, etc! Is pretty performant. (~450 coremark on my laptop, about 1/2 the speed of QEMU) Is hum
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く