タグ

okinakaのブックマーク (7,204)

  • PHPの浮動小数点(float)の誤差とメモリに格納される仕組み | QUARTETCOM TECH BLOG

    PHPでは、変数に 0.1 を代入すると float 型と判定されます。 sprintf() で表示したところ小数部は53桁あり、それ以降を切り捨てる内容の警告が表示されました。 float 型の 0.1 は、なぜこのような値に変換されるのでしょうか? 浮動小数点がメモリに格納される仕組みを解説しながら理由を探ります。 10進数と2進数の表記(整数) 数値はメモリ上に2進数で格納されます。 2進表記の整数は 右端(一の位) から、2の0乗、2の1乗、2の2乗、2の3乗…を表します。2進数なので、格納される値は「0」または「1」の二通りです。「0」または「1」が格納される領域を「ビット」と呼びます。 10進数の 10 は2進数では 1010 です。「1」が格納されたビット(2の1乗と、2の3乗)の合計(2 + 8)が10進表記になります。 10進数と2進数の表記(小数) 2進表記の小数は 左

    PHPの浮動小数点(float)の誤差とメモリに格納される仕組み | QUARTETCOM TECH BLOG
    okinaka
    okinaka 2024/02/12
  • Windows10 のキーボードをAutoHotKeyでカスタマイズ ~ カーソルキーを 無変換キー+HJKL(Vim風) で操作する 他 ~ | Snow System

    ホームポジションを崩さずにタイピングしたい 長年、Windows でキーボードのカスタマイズは CapsLock キーを Ctrl キーに置き換えるのみでした。 しかし、カーソルキーを操作するとホームポジションが崩れることがストレスに感じることが多くなってきたので、AutoHotKeyを用いてキーボードのカスタマイズを行ってみました。 カスタマイズした内容で5カ月ほど利用していますが、今のところ満足していますので、これからキーボードカスタマイズしようと考えている方は参考にしてみてください。 (2021/5/8 追記)Enterキーのショートカット割当も追加し、より快適になりました! キーボードカスタマイズの内容 考え方としてはホームポジションから遠い位置にあるキーを利用しなくてもいいようにします。 CapsLock キー Ctrl キーとして利用するカーソルキーを 無変換 + HJKL で

    Windows10 のキーボードをAutoHotKeyでカスタマイズ ~ カーソルキーを 無変換キー+HJKL(Vim風) で操作する 他 ~ | Snow System
  • Caps Lockがうっとおしい…Windows 11でCapsLockをCtrlに入れ替える方法|ヤンピー叢雲 - Yangpi Murakumo

    Windowsを長く使っていると、Caps Lockキーが邪魔だと感じることがあります。例えば大文字を入力したいときに誤ってCaps Lockキーを押してしまい、入力している文章が全て大文字になってしまった、という経験はないでしょうか? 人によっては全く気にならない人もいると思いますが、僕はCapsLockとShiftキーを押し間違えることが多く、非常にストレスに感じていました。 そこでこの記事では、そんなストレスから開放されるべく、Windows 11でCaps LockキーをCtrlキーに入れ替える方法を詳しく解説していきます。 これらのキーを入れ替えることで、Caps Lockキーを誤って押すことを避けることができ、より効率的にPC操作を行うことができるようになります。ぜひ参考にしてください。 CapsLockキーをCtrlキーに入れ替える方法この章では、Caps LockキーをCt

    Caps Lockがうっとおしい…Windows 11でCapsLockをCtrlに入れ替える方法|ヤンピー叢雲 - Yangpi Murakumo
  • Amazon ECSで好きなだけ検証環境を起動できるOSSの設計・実装・運用 / YAPC::Hiroshima 2024

    https://fortee.jp/yapc-hiroshima-2024/proposal/1e9fbacd-5a50-43ef-87f1-490e85448f17

    Amazon ECSで好きなだけ検証環境を起動できるOSSの設計・実装・運用 / YAPC::Hiroshima 2024
    okinaka
    okinaka 2024/02/10
  • OpenSCADを使ったモデル作成入門(1) ~初めてのモデリングから3Dプリントまで | gihyo.jp

    Computer Aided Design(CAD)ソフトウェアとはその名の通り、コンピュータにデザイン・モデリングを補助してもらうためのソフトウェアです。 Fusion360、Blender、TinkerCADなど様々なソフトウェアがありますが、連載のこれから数回ではOpenSCADを使い、その後もっと強力なソフトウェアに移行して解説していきます。 OpenSCADは専用のプログラミング言語で記述し、その結果をプログラムが解析したのち3Dモデルとしてレンダリングしてくれるツールです。OpenSCADはFusion360などの格的なCADソフトウェアと比べると機能的には見劣りしますが、3Dモデリングに慣れていないプログラマにはとっつきやすいはずです。ブロックを組み合わせる感覚でモデリングが可能ですし、コードによって記述が可能なためコピペしながら試すことが可能です。 OpenSCADの入

    OpenSCADを使ったモデル作成入門(1) ~初めてのモデリングから3Dプリントまで | gihyo.jp
    okinaka
    okinaka 2024/02/06
  • WSL(Windows Subsystem for Linux)上のUbuntuでSeleniumとChromeDriverを使用してWebスクレイピング - Qiita

    WSL(Windows Subsystem for Linux)上のUbuntuでSeleniumとChromeDriverを使用してWebスクレイピングPythonSeleniumchromedriverWSLwebdriver_manager WSL(Windows Subsystem for Linux)上のUbuntuでSeleniumとChromeDriverをセットアップして、PythonからWebスクレイピングする方法を解説します。 環境 OS: Ubuntu 20.04.6 LTS (WSL上) Python: 3.8.10 Selenium: 4.10.0 Architecture: x86_64 CPU: AMD Ryzen 5 1600X Six-Core Processor 1. 必要なパッケージのインストール まず、Ubuntuに必要なパッケージをインストールしま

    WSL(Windows Subsystem for Linux)上のUbuntuでSeleniumとChromeDriverを使用してWebスクレイピング - Qiita
  • Lightsailでサイトを作る(その2)

    はじめに クラウドソーシングを活用してマーケティングサイトを作ることになりました。 前回は、ここまで準備したので、いよいよ主役のLightsailです。 Lightsail AWSWordPressを「早く」「安く」「簡単に」運用するには、Lightsailは良い選択肢ではないかと思います。構成を再掲しておきます。 データベース Lightsailのコンソールはかわいらしい感じで良いですね。 左のパネルで「データベース」を選んで「データベースの作成」を行います。 高可用性にするのは、後からでもできるので、デフォルトで選ばれているMySQLの新しいバージョンのまま、一番安いプランのまま、一番下の「データベースの作成」ボタンを押します。作成中になるので数分間(ちょっと長め)見守ります。ボタンを2回押すだけなので誰でもできます。 利用可能になったら、リソース名(当に何もしていなければData

    Lightsailでサイトを作る(その2)
  • Testing tips

    Testing tips by examples

    okinaka
    okinaka 2024/01/29
  • PHP tips and tricks — PHP tips and tricks 1.0.0 documentation

    okinaka
    okinaka 2024/01/29
  • 第797回 JellyfinでUbuntuをメディアサーバーにする[音楽編] | gihyo.jp

    今回はSnapパッケージのJellyfinをインストールし、メディアサーバーにします。 EmbyとJellyfin メディアサーバーはさまざまなものが出てきては消え、何を選定すればいいのか難しいです。連載だと例えば過去に第86回で取り上げていますが、現在も生き残っているものはありません。もっとも15年前の記事なので、当然ともいえますが。 比較的最近だと第533回で紹介したEmbyは現在でも開発が続いています。しかし、紹介当時のEmbyはバージョン3でFLOSS(GPL-2.0)でしたが、現在のバージョン4以降はクローズドソースとなりました。 今回紹介するのはJellyfinです。FLOSS時代のEmbyをフォークしたのがこのJellyfinであり、開発言語はC#です。Snapパッケージで提供されており、インストールも簡単です。 ちなみに現在はUbuntuにもメディアサーバー機能があります

    第797回 JellyfinでUbuntuをメディアサーバーにする[音楽編] | gihyo.jp
    okinaka
    okinaka 2024/01/25
  • ゼロからWebサービスの監視を作ることになったらどうする?ただしエンジニア正社員は一人だけとする - Pepabo Tech Portal

    こんにちは、技術部プラットフォームグループのそめやポチです。最近は生成AIとレスバトルする仕事をしています。 この記事では、GMOペパボのグループ企業であるGMOクリエイターズネットワークにおける、サービスの監視体制の構築について紹介します。 なぜGMOペパボに所属している私がGMOクリエイターズネットワークの記事を書くかというと、10月からペパボの技術部としてGMOクリエイターズネットワークのエンジニアリングをお手伝いしているからです。ペパボの技術部は特定サービスには属さず全社横断的に技術施策を実施する組織です。このたび、会社の枠を飛び越え、GMOクリエイターズネットワークが提供しているWebサービスの、主にインフラ・セキュリティ・運用周りをお手伝いすることになりました。 2023年4月にジョインしたGMOクリエイターズネットワークの技術責任者であるぼいらーさんの記事にある通り、エンジニ

    ゼロからWebサービスの監視を作ることになったらどうする?ただしエンジニア正社員は一人だけとする - Pepabo Tech Portal
    okinaka
    okinaka 2024/01/17
  • プライベートメソッドのテストは書かないもの? - t-wadaのブログ

    この文章の背景 この文章はプライベートメソッドのテストを書くべきか否かに関する knsmr さんのご質問に対して 2013/03/13 に QA@IT で回答したものです。残念ながらQA@IT のサービス終了(2020/02/28)と共にアクセスできなくなってしまったため、運営を行っていたアイティメディア株式会社様、開発を行っていた永和システムマネジメント様、そして質問をされた knsmr さんに許可とご協力をいただき、当時の回答をサルベージしてブログに転載する運びとなりました。 プライベートメソッドのテストはよく議論になるテーマですので、当時の回答を再編集し、knsmr さんのご質問も含め、ご利用いただきやすいライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で公開いたします。 目次 この文章の背景 目次 knsmr さんのご質問 私の回

    プライベートメソッドのテストは書かないもの? - t-wadaのブログ
    okinaka
    okinaka 2024/01/17
  • 3週間でテストケース管理ツールを作れるかチャレンジした話|かいり

    まだ粗々な状態ではあるのですが、ある程度使える形になったのでOSSの宣伝も兼ねて記事にしてみようと思います。 テストケース管理ツール「TestAnchor」を公開しました。特に会社等は関係なく完全に自主制作です。 発端は2023年のクリスマスイブQAエンジニアになってからというもの、E2Eのコードを書く機会こそあれど、いわゆるプロダクトのコードを書く機会はめっきり減ってしまいました。他で補填しなかった私が悪いのですがGithubの草も枯れ野原。 テストケース管理ツールを自作してみたいという思いも年単位で温めてはいたものの、何から手をつけていいかわからなかったり、そもそも環境構築で躓いてしまったりしてなかなか格的な実装にまで漕ぎつけられていませんでした。 が、なぜか2023年クリスマスイブの夜、天啓が降ってきました。 「AIのサポートもあるし、今ならもしかして作れたりするのでは……?」 何

    3週間でテストケース管理ツールを作れるかチャレンジした話|かいり
    okinaka
    okinaka 2024/01/15
  • サービス運用10年以上の重み、弁護士ドットコムのユニットテスト速度改善 - 弁護士ドットコム株式会社 Creators’ blog

    初めまして、弁護士ドットコムエンジニアをやっている @namizatork です。 第1回目で @komtaki さんが書いた 「弁護士ドットコムサービスのビジネスと共にみるマイクロサービスの進化」 がプチバズりしていたので第2回目となる今回、少し 滑らないか 心配ですが頑張って書きます。 記事では、サービス開始から10年以上が経過したサービスのユニットテストを改善したという内容をお話しします。 ユニットテスト改善チームの立ち上げ 改善前に必要なことを明確化 キックオフ ユニットテストを並列実行する GitLab parallel 時間の掛かっているユニットテストを特定する 実行方法 テストが遅い原因を特定&解決 (1) 多くのループ処理やスリープ処理を利用している (2) 誤ったsetUpやtearDownの使い方をしている (3) DBに依存しており、アクセスに時間が掛かっている

    サービス運用10年以上の重み、弁護士ドットコムのユニットテスト速度改善 - 弁護士ドットコム株式会社 Creators’ blog
  • メンテのいらないソフトウェア - 誰かの役に立てばいいブログ

    ソフトウェアエンジニアとして働き始めて 20 年以上になります。 元々ソフトウェアでいろいろ作りたくて就いた職業なので、結構な数のプロダクトを開発してきました。 私がメインで開発したもので OSS として出ているものでは、 yrmcds: memcached クローンで、レプリケーション機能などを持つ usocksd: SOCKS4/5 サーバー & ライブラリ transocks: アプリのネットワーク通信を透過的に SOCKS サーバーにプロキシする透過プロキシ coil v2: Kubernetes の CNI ネットワークドライバ moco: MySQL を自動運用する Kubernetes オペレーター accurate: Kubernetes 上で namespace ベースのソフトマルチテナンシーを実現するためのソフトウェア などがあります。これらのソフトウェアの多くは、現役

    メンテのいらないソフトウェア - 誰かの役に立てばいいブログ
    okinaka
    okinaka 2024/01/07
  • ロリポップ!データベース「MySQL5.6➡︎5.7」アップデートしてみた。【めっちゃはや!】

    ロリポップ!データベース(MySQL)のバージョンを確認 ロリポップ!データベース(My SQL )のアップデート手順【バックアップ&エクスポート】 ロリポップ!データベース(My SQL )のアップデート手順【新規データベース作成&インポート】 【重要】MySQL ファイルの編集とエラーについて PHPファイル(wp-config.php)の編集と保存 まとめ!

    ロリポップ!データベース「MySQL5.6➡︎5.7」アップデートしてみた。【めっちゃはや!】
  • New Relic APM PHPエージェントとデーモンを同じコンテナにインストールしECS Fargateにデプロイ | iret.media

    これは何か 公式手順のこれでビルドしたDockerコンテナをECS FargateにデプロイしてAPMを動かす検証手順の備忘録。 あくまで導入までの手順のため、APMのチューニングやアプリの分析などは含んでいない。 注意事項 仕組み上、任意の環境でコンテナイメージをビルドしなければならない。 NewRelic APM PHPエージェントは、PHPそのものののバージョンとPHPエージェントのバージョンの組み合わせによって対応可能なCPUアーキテクチャが異なる。 今回の検証ではPHP7.xを使用しローカル環境(M1 Mac: arm64)でビルドを試みたが、環境固有と思われるエラーによって失敗したため、Cloud9をビルド環境として用意しそこでビルドした。 実業務でPHPエージェントを導入する場合、下記の参考リンクを参照し、導入先環境に応じて対応すること。 参考リンク PHP エージェントの互

    New Relic APM PHPエージェントとデーモンを同じコンテナにインストールしECS Fargateにデプロイ | iret.media
  • 翻訳レビューをやってみた - 天の月

    2023年のふりかえりにも書いたように翻訳レビューを2件担当させていただきました、 レビューさせていただいた具体的なの紹介はしかるべきタイミングでしようと思っているのですが、今回は翻訳レビューをさせてもらって感じたことや翻訳レビューをさせてもらうにあたって色々勉強させてもらったことなどを、今後翻訳レビューをやるか検討されている方の参考になればと思い書いてみます。 翻訳レビューにかかる時間 翻訳レビューをどうやってやるのか? 翻訳レビューをやる上で必要なもの 翻訳レビューをやったことで得られるもの 参考書籍 翻訳レビューにかかる時間 これはによってまるで違います。時間に寄与する変数としては、 翻訳レビュー時点での翻訳の出来(もう世に出しても大丈夫な状態という最終チェック的な形でレビューを出すのか、一旦翻訳をしてみた状態で誤訳や誤字脱字なども幾つもある状態なのか、で全然変わってきます) ペ

    翻訳レビューをやってみた - 天の月
  • DynamoDBでできないこと

    この記事について 記事は、筆者が普段AWSの各種サービスを使って感じた感想・気づきをもとに、クラウドアーキの設計やサービスのより良い使い方Tipsを考察するシリーズです。 第二弾も第一弾に引き続きDynamoDBについてです。 DynamoDBはkey-value型のNoSQLであり、従来よく使われていたRDBとは異なるDB特性・クエリ特性を持っています。 そのためRDBを設計するときと同じようなノリでスキーマ設計・テーブル設計を行うと、後から「この操作をやらせるならDynamoDBじゃないほうが良かったんじゃないか?」ということが発覚しがちです。 記事では筆者が遭遇した「DynamoDBでやらせてみたら苦労した・できなくて設計変更を強いられた」というユースケースをまとめることで、DynamoDBのクエリ特性や適性を考察することを目指します。 使用する環境・バージョン 2024/1/1

    DynamoDBでできないこと
  • SQLiteがバージョン管理システムとしてGitを採用しない理由

    GitLinuxカーネルのソースコード管理に用いるために開発された分散型バージョン管理システムで、GitリポジトリをホスティングするGitHubのユーザー数は1億人を超えます。一方、軽量データベースのSQLiteの開発においてはGitではなくFossilというバージョン管理システムが利用されており、SQLiteの開発陣が「なぜGitを使用しないのか」という理由を公式サイトで説明しています。 Why SQLite Does Not Use Git https://sqlite.org/whynotgit.html なお、Fossilがどんな機能をもつバージョン管理システムなのかについては下記の記事を読むと分かります。 GitGitHubの機能をひとつのバイナリに詰め込んだ「Fossil」レビュー - GIGAZINE 1:Gitは適切な状況認識を提供しない SQLiteにどんな変更が加え

    SQLiteがバージョン管理システムとしてGitを採用しない理由
    okinaka
    okinaka 2024/01/01