Orange Tsai tweeted a few hours ago about “One of [his] PHP vulnerabilities, which affects XAMPP by default”, and we were curious to say the least. XAMPP is a very popular way for administrators and developers to rapidly deploy Apache, PHP, and a bunch of other tools, and any bug that could give us RCE in its default installation sounds pretty tantalizing. Fortunately, for defenders, the bug has o
Java メモリー使用量を取得 Runtime.getRuntime().totalMemory、freeMemory Java 仮想マシンのメモリ情報について、「合計」、「使用量」、「使用可能最大」の情報を返します。 各項目の説明は以下となります。 合計・・・Runtime.getRuntime().totalMemory()で、Java仮想マシンへのメモリ割り当て量になります。 使用量・・・Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()になり、 現在メモリに割り当てられたオブジェクトのメモリ使用量です。 使用可能最大・・・Runtime.getRuntime().maxMemory()で、Java仮想マシンが使用を試みる最大メモリ容量になります。 使用量が合計に近づき、かつガベージコレクション
このページについて macOSでのRustのローカル開発環境を整えるための手順を紹介します。 Rust自身についての説明は以下のページをご参照ください。 動作確認環境 macOS Monterey (12.1) MacBook Pro (14インチ、2021) チップ: Apple M1 Max 検証にはM1 Max(Apple Silicon系の)チップを使っていますが、Intel Macでも同様に動くと思います。 もし以下の手順で動かなかった場合は、その旨をコメントか編集リクエストいただけますと幸いです。 必要なもの Rustのローカル開発環境を用意するには、あらかじめ以下のツールが必要となります。インストールしておきましょう。 Xcode command line tools ターミナルで xcode-select --install を実行する Rustローカル開発環境構築 1.
Rustプロジェクトにおいて、コンソールにて何かしら入力した文字列をそのまま出力する方法を説明します。 ※元々はC++を勉強していて、そこからRustに以降しました。よって、C++のコードも合わせて記載し、その違いを把握しながらRustでのコードの書き方を少しずつアウトプットして行きたいと思います。 1: C++での書き方 2: Rustでの書き方 3: 入力処理の関数化 【C++での書き方】 C++では入力の読み込みに cin を用いています。 #include <iostream> using namespace std; int main() { string answer; cout << "何か文字を入力して下さい:\n"; cin >> answer; cout << answer << endl; return 0; } こんな感じでしょうか。実行すると、「 何か文字を入力し
はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 先日は Playwright を使ったE2Eテストの導入について、紹介させていただきました。 今回は作成したテストをAWS 基盤上で動かす方法を紹介させていただきます。 前回の記事 tech.uzabase.com E2Eテスト実行のタイミング NewsPicksでは 下記のタイミングで E2Eテストを実行させています。 ①リリース時のカナリーデプロイ後 NewsPicks ではカナリーリリースを採用していてカナリーへのデプロイが完了した後、カナリーに向けてE2Eテストが動きます。 ②開発環境デプロイ後 動作確認をしたい場合に feature ブランチなどでデプロイ後 E2Eテストを実行できるようにしています。 本記事では主に 「②開発環境デプロイ後」 を例に紹介します。 実行方法 具
重要なのはここで、 pw.webkit.launch() とするか pw.chromium.launch() とするかで 起動するブラウザが変わるだけです。 デバイスの設定も簡単 pw.devices に主な端末のviewport, UAの情報がまとめられています。 デバイスのリスト: https://github.com/microsoft/playwright/blob/master/src/deviceDescriptors.ts const pw = require('playwright'); // iPhone11のデバイス情報を取得 const iPhone11 = pw.devices['iPhone 11 Pro']; (async () => { const browser = await pw.webkit.launch(); const context = awai
ウェブサイト制作では、游ゴシックはおすすめしない理由こんにちは、こんばんは!せきゆおう です。 游ゴシックは好きですか?僕も印刷物では使いますが、ウェブサイトでは「游ゴシックを使ってください」と指示されるまでは使いません。 また、そう指示された場合もデメリットは必ずお伝えするようにしています。 「游ゴシックってMacでもWindowsでも標準でインストールされているし、デバイスフォントとして使う際に最有力候補では?」という方も多いです。それでも僕は推奨しません。 その理由は4つあります。 ・游ゴシックはWindowsでかすれて見える ・スマホ端末に游ゴシックは搭載されていない ・実はMacOSで游ゴシックは標準では搭載されていない ・今後、システムフォントとして使えないブラウザが増える それら4つの理由を参考資料を交えつつ解説したいと思います。 その前に...游ゴシックの採用率は非常に高い
PHPでBase64とBase64 URLを相互変換(エンコード・デコード)したい! .NET/C#の記事は下記に掲載してます。 【.NET/C#】Base64とBase64 URLの相互変換(エンコード・デコード) | ネコニウム研究所 概要 この記事では、PHPでBase64とBase64 URLを相互変換(エンコード・デコード)する手順を掲載する。 Base64は、バイナリなどのデータを64種類の文字列で表現するエンコード方式です。 Base64 URLは、Base64から更にURLとして使える文字列で表現するエンコード方式です。具体的にはBase64にエンコードした文字列に下記の処理を行う。 +を-に置換する /を_に置換する 末尾の=を削除する 仕様書 環境 PHP 8.0.17 手順書 下記は、文字列をBase64にエンコードした後にBase64 URLにエンコードした文字列を
$config['permitted_uri_chars'] = '一-龠ぁ-んァ-ヴーa-zA-Z0-9a-z 0-9~%.:_-'; に変えるんだそうですが、未だにこれの意義がわからない…。 別に設定変えなくても日本語URL通るんだけど、これはもしかして Chrome がご丁寧にURLエンコードかけているのかしらん? そんな釈然としないところもあるけど、本題。(っていうか本題すぐ終わっちゃう) 問題は間隔スペースなんだよね。フォームで入力された文字をURLに渡すんだけど、どうも半角スペースが入ると、掲題のエラーが発生。そして、ネットにもコレって言う回避方法が見つからない。 こんな荒業もあったけど、こんなことしてセキュアなのか、そもそもこの制限がセキュリティ的に何を寄与しているかもさっぱりわからない。 と、いろいろ調べていくうちにエンコードの歴史的経緯なんて調べてたわけ。 技術/HTTP
LINEアプリをローカルで開発するときにエンドポイントURLがhttpsに対応していないといけなかったので調べた。 ngrokでも対応出来たけど、無料プランのため毎回URLが変わってしまう。 毎回LINE側のエンドポイントURLを変更するのは手間がかかるのでhttps-portalというDockerイメージを使って対応してみた。 日本語のREADMEもあります。 前提 Dockerがインストールされていること Docker Composeがインストールされていること セットアップ手順 Docker環境を構築する docker-compose.ymlファイルには、https-portalとwebのサービス定義が含まれています。 以下は全体の設定。 version: "3" services: https-portal: image: steveltn/https-portal:1 ports
概要 特定のIPアドレスだけを接続許可するような環境でcertbotを利用する場合 certbotサーバからのHTTPリクエストが遮断されてしまうので 通常のcertbot認証が失敗し証明書を発行・更新することができない そんな場合にDNSのTXTレコードにトークンを埋め込むという方法で certbot認証を通すことができる ちなみに公式ガイドにも記載されている内容 参考サイト 必要なもの 以下の条件を満たす場合、IPアドレス制限下でもcertbotで証明書発行を受けることができる certbotをインストール・実行できること 対象のドメインに対してサブドメインの追加とTXTレコードの追加ができること なお今回はDNSはroute53を利用する。 証明書の自動更新を実行する方法はaws cliを使ってroute53の自動更新をする例で記載する。 初回証明書発行 certbotインストール
北海道札幌市在住、サーバー専門のフリーランスエンジニアです。クラウドサービスを利用してWebサイト、ITシステムのサーバー構成設計とサーバー構築を行います。 はじめに HTTP(S)のアクセス元IPアドレスを限定して運用している、プライベート向けWebシステムが、AWS EC2上で稼働しているものとします。 このWebサーバー上で、Let’s Encrypt証明書を取得、運用する方法についてまとめます。 クラウドサービスはAWS、サーバーOSはAmazon Linuxを前提としますが、ファイアウォールを操作するAPIが公開されていれば、AWS以外のサービスでも同じ方針で解決できるでしょうし、OSもLinux系であればほぼ同じ設定でいけるでしょう。 各コマンドはrootユーザーで実行することを想定しています。 なお、 Let’s Encryptとは何か? Let’s Encryptクライアン
韓国の文在寅(ムン・ジェイン)前大統領は今月発売の回顧録で、北朝鮮の金正恩(キム・ジョンウン)朝鮮労働党総書記が、核・ミサイル開発に対する国連などによる経済制裁について「正直に言って、きつい」と吐露したと明らかにした。「経済を発展させることが自分にとって最も重要な課題なのに、制裁のせいで難しい」とも話したという。 金氏の発言は、2018年4月に南北軍事境界線のある板門店で実施された南北首脳会談でのもの。回顧録によると、金氏は文氏に対し、核開発について「核は徹底的に自分たちの安全を保障するためのものだ。使うつもりは全くない」と述べた。また「我々が核なしでも生きられるなら、何のために多くの制裁を受けながら核を頭にのせて生きるのか。自分にも娘がいる。娘の世代まで核を頭にのせて生きるようなことはしたくない」とも話したという。 金氏は、トランプ米大統領(当時)との会談への期待を口にすると共に「何の経
エンジニアEC2にDockerとDocker Composeをインストールする手順を教えてください。 EC2 (Amazon Linux 2) は簡単にDocker環境を構築できます。 AWS経験5年以上の僕が、その構築手順を詳しくご説明します。 本記事の内容 EC2へのDockerインストール手順 EC2へのDocker Composeインストール手順(システム上の全OSユーザー向け) 構成イメージ:はじめに 今回、EC2 (Amazon Linux 2) にDockerとDocker Composeをインストールします。 AWSマネジメントコンソールとSSHクライアントを使用します。 EC2にDockerとDocker Composeをインストールする前の準備 事前準備として、EC2とセキュリティグループを作成し、EC2にSSH接続します。 EC2作成 EC2はAmazon Linu
https-portal: image: steveltn/https-portal:1 ports: - '80:80' - '443:443' restart: always volumes: - ./certs:/var/lib/https-portal environment: #STAGE: 'production' #FORCE_RENEW: 'true' DOMAINS: >- example.com -> http://111.111.111.111 https-portal: image: steveltn/https-portal:1 ports: - '80:80' - '443:443' restart: always volumes: - ./certs:/var/lib/https-portal environment: #STAGE: 'production'
はじめに 以前、VGS-Zeroというラズパイで動作する自作ゲーム機を紹介させていただきました。 今回、上記の記事でも触れているVGS-Zeroのローンチタイトル「Battle Marine」(下記)をゲームギアに移植してみました。 本書はBattle Marineをゲームギアへ移植した経緯や技術的に苦労した点などを纏めたものとなります。 なお、今回ゲームギア(実機)で動作できるソフトとしてBattle Marineを開発しましたが、セガの公式なライセンス商品ではなく、飽くまでも ゲームギアと互換性のある同人ソフト となります。 何故ゲームギア? Battle Marine のゲームジャンルは「弾幕STG」です。 もしかすると、この点については議論の余地があるかもしれませんが、少なくとも私は弾幕STGとして創ったつもりです。 「Z80のゲーム機」としてはチート級のスペックのVDPを搭載して
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く