「apt」は言わずとしれたUbuntuの基本を担うパッケージ管理システムです。今回はUbuntu 24.04 LTSに搭載された「apt 2.8.0」に関して、前回のLTSである22.04の「apt 2.4.12」以降に実装されたり、さらには古いLTSにもバックポートされたりした機能について紹介しましょう。 ちなみにaptの機能紹介は本連載でも何度か行っています。より古いバージョンからアップグレードする場合は、そちらも参照してください。 第327回「aptコマンドを使ってみよう」 第675回「apt-keyはなぜ廃止予定となったのか」 第676回「aptコマンドの最新機能あれこれ」 第677回「aptで使うsources.listのオプションいろいろ」 これらの記事では公開当時最新の2.3.6までしか紹介できていなかったので、2.3.6から2.4.12までの機能についてもまとめて紹介する予
A few years ago most API designers, developers, and technical writers would have had very little reason to bump into JSONPath, but its starting to get more and more relevant as more tools and standards start relying on it. So what is JSONPath, what is it used for, and how can you get up to speed with using it? JSONPath is a query language that can be used to extract data from JSON documents, which
In Vim, there’s a variety of commands that let you accomplish tasks in different ways. This can be overwhelming for beginners trying to figure out the most efficient keystrokes for editing. In this tutorial, I’ll share my approach to using Vim commands and offer some real life examples to help you improve your workflow. Guidelines Here are some general rules of my workflow: Don’t use mouse and arr
この記事ですることを3行で Pythonの標準ライブラリでできる並列実行を、あらためて総当たりで速度比較しよう ウォーターフォールチャートで、それぞれの並列処理の処理時間の特徴を可視化しよう boto3の実行をモデルケースにして、どの並列処理が一番早いのかを調べよう この記事の結論を先に Python 3.12から本格的に使えるようになったサブインタープリターは、CPUで実行する処理について言えば、従来のサブプロセスよりも高速 boto3の実行は、サブインタープリターよりも署名付きURLの非同期実行のほうが速い → S3からの10ファイルの取得であれば、実行時間を90%削減できます → Bedrockの3回実行であれば、実行時間を60%削減できます 今回使ったソースコードはこちらに置いています。 お手持ちの環境で再実行できるようにしていますので、気になる方はぜひ。 どうしてこの記事を書くの
今回はPythonで簡単にリトライ処理を追加できる「tenacity」を使ってみます。 デコレータ形式で簡単にリトライ処理を追加できるので便利です。 tenacityについて プログラムを書いていて、HTTPの通信などでリトライ処理を実装する機会は多いと思います。 今回はそんなリトライ処理を簡潔に書けるtenacityの使い方を説明します。 インストール インストールはpipで可能です。 インストール pip install tenacity 使い方 シンプルな例 シンプルな例 import random from tenacity import retry @retry def random_error(): num = random.randint(0, 10) if num > 4: print(f"Error: num={num}") raise Exception("Error!
pyinfra turns Python code into shell commands and runs them on your servers. Execute ad-hoc commands and write declarative operations. Target SSH servers, local machine and Docker containers. Fast and scales from one server to thousands. Think ansible but Python instead of YAML, and a lot faster. 🚀 Super fast execution over thousands of targets with predictable performance. 🚨 Instant debugging w
Intro CSRF という古の攻撃がある。この攻撃を「古(いにしえ)」のものにすることができたプラットフォームの進化の背景を、「Cookie が SameSite Lax by Default になったからだ」という解説を見ることがある。 確かに、現実的にそれによって攻撃の成立は難しくなり、救われているサービスもある。しかし、それはプラットフォームが用意した対策の本質から言うと、解釈が少しずれていると言えるだろう。 今回は、「CSRF がどうして成立していたのか」を振り返ることで、本当にプラットフォームに足りていなかったものと、それを補っていった経緯、本当にすべき対策は何であるかを解説していく。 結果として見えてくるのは、今サービスを実装する上での「ベース」(not ベスト)となるプラクティスだと筆者は考えている。 CSRF 成立の条件 例えば、攻撃者が用意した attack.examp
【読売新聞】 子どもたちに科学技術をわかりやすく伝えるため、文部科学省が毎年制作するポスター「一家に1枚」シリーズが、配布開始から20年目を迎えた。小学校の廊下などに貼られたおなじみのポスターは、子どもの理科離れに危機感を抱いた化学
Redisをフォークした「Valkey 7.2.5」安定版が早くも登場。AWS、Google、Oracle、Heroku、Alibaba Cloudなど賛同が広がる RedisをフォークしたValkeyが早くも安定版「Valkey 7.2.5」をリリース。Valkeyブランドのためのコードの変更が行われた。AWS主導で始まったが、Google CloudやOracle、Heroku、Alibaba Cloudなど賛同が広がっている。 Valkey 7.2.5のリリースノートによると、このバージョンはフォーク元であるRedis 7.2.4からブランド名をValkeyへ変更するための変更をソースコードに対して行ったものであり、Redis 7.2.4からプロトコル、API、リターン値、データファイルフォーマットなどの変更は行われていないと説明されています。 ValkeyはRedisをフォークした
はじめに こんにちは, 普段は情報科学専攻の大学院生をしながらバックエンドエンジニアをやっている @koki-algebra です. 普段は Go をよく書いているのですが, 大学でやっている機械学習の研究では Python を使うことがほとんどです. Go のエコシステムに慣れきった私は Python の混沌とした環境に耐えきれず, 最強の開発環境を整えることを決意しました. 具体的には Package Manager, Formatter, Linter, Type Checker, Test Tool を選定し, VSCode の DevContainer を用いてポータビリティに優れた開発環境を作ることを目指します. また, Deep Learning では GPU が必須である場合が多いので, GPU 環境も同時に整えたいと思います. 以下のレポジトリが今回考えた開発環境のテンプ
とあるプロジェクトでナノ秒からミリ秒への変換で四捨五入してきた人がいて、時刻を扱うときは保存精度未満は切り捨てるべきというのが常識になっていないなーと思ったので。 2023-10-01 を、何年か表示する時に、2024年に丸める人はいないだろう。 13:45 が何時か表示する時も、13時と表示するだろう。(口頭で何時?と聞かれたら14時と答えるかもしれないけれど) つまり、ある精度で表した時刻は、実際には次のような半開区間を示しているのである。 2023-01-01 00:00:00 <= 2023年 < 2024-01-01 00:00:00 13:45:00.000 <= 13:45 < 13:46:00.000 そして、そう決めたからには一貫して同じように、指定精度未満は切り捨てというルールを維持しなければならない。秒以下は四捨五入で、とかやってはいけないのだ。 一貫しないと何が問題
Renovateはプロジェクトの依存関係の更新を自動化するツールです。 npmライブラリやGitHub Actions、Dockerイメージのバージョンなどを監視し、ライブラリアップデート用のPRの作成を行います。 Renovateは豊富な構文から柔軟な設定ができますが、プリセットと呼ばれるカスタマイズされた設定集を利用することもできます。 その中でconfig:best-practicesというRenovateが考えるベストプラクティスのプリセットが用意されています。 このプリセットを読み解くことで、Renovateがどのようにライブラリのバージョンを指定し運用するべきか知ることができます。 この記事ではconfig:best-practicesの設定を読み解き、どのようにライブラリの依存関係を扱うかを考えていきます。 config:best-practice で設定されている項目 執筆
April 16, 2024 Starting November 30, 2024, GitHub Actions customers will no longer be able to use v3 of actions/upload-artifact or actions/download-artifact. Customers should update workflows to begin using v4 of the artifact actions as soon as possible. While v4 of the artifact actions improves upload and download speeds by up to 98% and includes several new features, there are key differences fr
オープンソースによるFirebase代替を名乗るBaaS(Backend as a Service)「Supabase」が正式サービス化を発表しました。 Supabaseはこれまで約4年間ベータ版としてサービスを提供してきました。現在は100万以上のデータベースをホストし、新規データベースも1日あたり2500以上増加しており、モバイルアプリケーションからエンタープライズ用途まで十分な機能と安定性、スケーラビリティが実証されたとしています。 Supabaseの主な機能はデータベースや認証、ファイルストレージなど SupabaseはBaaSとして主に以下のマネージドサービス群から構成されています。 PostgreSQLによるデータベースサービス 認証サービス ファイルストレージ エッジロケーションにおけるNode.jsDenoベースのサーバレス基盤 マルチプレイヤーゲームなどに対応するリアルタ
多分今回のポストは多くの人には参考にならないだろう。相当ニッチなので。でもこれは自分にとってはとても大きなことだったので、忘れないように記録しておきます。 生産性の悩み あまりこの世界では生産性とはあいまいな言葉で、何をもって生産性が高いとは言いにくい。速いのが良いのではない。ただ、自分の実感として自分は生産性が良くないといつも感じていた。だからいろいろ努力したり、考え方をできる人を観察して真似してみたり、直接本人に聞いたりして工夫をしてきた。 実は自分はめっちゃコーディングが早い人になりたいわけではない。そうではなくて、「平均的」になりたいだけだ。それぐらいいければ「Strategy」でカバーできるどころかもっと上に行けると確信があったから。でもそうではなくて明らかに遅いのでそれが自分の足を引っ張っていた 努力の方向性 様々な努力をして、特に有効だったことを自分の本に書いたつもりではある
こんにちは、加藤(@tomo_k09)です。 PharmaXではバックエンド・フロントエンド開発やスクラムマスターなどをやっています。 PharmaXが提供しているサービスでは、バックエンド開発に主にRuby on Railsが使われていますが、一部の機能はRustで開発されています。 このような理由からRustの経験が浅かった私もコツコツとRustの勉強をしており、 少しずつ学習方法に関する知見が溜まってきました。 そこでこの記事では、Rustをこれから学びたいという方向けに、おすすめの書籍や教材について紹介します。 新しいプログラミング言語はどのように学ぶと良いか 私は新しい言語を学ぶとき、まず基本的な文法やどんな特徴を持った言語なのかをひと通り勉強しています。 そしてその言語の概要をつかんだあと、実際に簡単なアプリケーションの実装をはじめて、分からないことがあったらリファレンスを読ん
JPCERTコーディネーションセンター(JPCERT/CC: Japan Computer Emergency Response Team Coordination Center)は4月5日、「JVN#82074338: NEC Atermシリーズにおける複数の脆弱性」において、NECの無線LANルータAtermシリーズに複数の脆弱性が存在するとして、注意を呼びかけた。これら脆弱性を悪用されると、遠隔から攻撃者に任意のコマンドを実行される可能性があり注意が必要。 JVN#82074338: NEC Atermシリーズにおける複数の脆弱性 脆弱性に関する情報 脆弱性に関する情報は次のページにまとまっている。 NV24-001: セキュリティ情報 | NEC 公開された脆弱性(CVE)の情報は次のとおり。 CVE-2024-28005 - 攻撃者がTelnetでログインした場合、機器の設定を変
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く