タグ

ブックマーク / qiita.com (855)

  • 【PHP8.2】動的プロパティが禁止される - Qiita

    $dt = new DateTime(); $dt->hoge = 1; var_dump($dt->hoge); // 1 PHPでは未定義のプロパティに値を突っ込むと、特に何の抵抗もなくプロパティが生えます。 しかし、他の多くの言語ではこのような動作にならず、未定義プロパティを突っ込もうとするとエラーになります。 ということでこれを禁止しようというRFCが提出されました。 以下はDeprecate dynamic propertiesのRFCの紹介です。 PHP RFC: Deprecate dynamic properties Introduction 宣言されていないプロパティに書き込みを行うと、PHPでは何もエラーが出ずに動的にプロパティが作成されます。 現代のコードにおいて、これが意図的に行われることはほとんどありません。 このRFCでは、動的プロパティを非推奨とし、将来的に削

    【PHP8.2】動的プロパティが禁止される - Qiita
    iww
    iww 2023/12/09
    『stdClassを継承していないクラスに動的にプロパティを作成することは、PHP8.2では非推奨にします。 PHP9ではErrorExceptionとなります。』 自分には死刑宣告だった
  • 「0.1+0.2≠0.3」を説明できないエンジニアがいるらしい - Qiita

    この記事はNuco Advent Calendar 2023の4日目の記事です。 弊社では、経験の有無を問わず、社員やインターン生の採用を行っています。 興味のある方はこちらをご覧ください。 はじめに 後輩に 「なぜ0.1+0.2≠0.3になるんですか?」 と聞かれて答えられますか? コンピュータの計算では「0.1+0.2」は「0.3」になりません。 これを理解していないと予期せぬ重大なバグを生み出す可能性があります。 分からない方、どうぞ安心してください。 この記事を読んだ全員が「0.1+0.2≠0.3」を理解できるように分かりやすく説明していきます。 コンピュータが計算を間違う理由 まず、そもそも「0.1+0.2=0.3」で正しい!「0.1+0.2≠0.3」なんてあり得ない! という方のために、プログラミング言語のフォーマット処理を経ない、コンピュータの計算結果を見てみます。

    「0.1+0.2≠0.3」を説明できないエンジニアがいるらしい - Qiita
    iww
    iww 2023/12/05
    まあできない理由が説明できてやっと半人前、 0.1+0.2=0.3 にする方法を優しく提示するのが先輩の務めですね。 という話
  • Linuxディストリビューションについて調査メモ - Qiita

    Linuxディストリビューションとは? アプリケーションなどをパッケージにして、すぐ使用できる状態にしたものディストリビュージョンと呼ぶ。 来、ディストリビュージョンは、流通 や 分配 を意味する Linuxディストリビュージョンは、つまり、Linuxを利用するに当たって、アプリケーションなどパッケージ化して、すぐ使用できる状態にしたものたちを指す Linux単体では、Linuxカーネル を意味する 核部分のみ存在しても利用する事はできないため、様々なアプリケーションが存在する Linuxディストリビューションのトレンド Linuxディストリビューションには様々なものがある 代表どころ Red Hat Enterprise Linux (RHEL) アメリカのRedHat社が開発 主に、大規模システムのサーバーに利用されてる Fedora RedHat社が支援するFedora Proje

    Linuxディストリビューションについて調査メモ - Qiita
    iww
    iww 2023/11/30
    /etc/issue
  • 2022-07-27 ping: socket: Operation not permitted - Qiita

    環境 Vagrant box rockylinux/8 v5.0.0 - Vagrant Cloud (vagrantup.com) ロケールは「en_US.UTF-8」 発生した事象 Rocky Linux 環境を Vagrant box で作成し、 vagrant ユーザで SSH ログインして ping コマンドを実行したところ、「ping: socket: Operation not permitted」というエラーが出た。 root ユーザで実行したところ成功した。 [vagrant@localhost ~]$ ping -c1 8.8.8.8 ping: socket: Operation not permitted [vagrant@localhost ~]$ sudo su - Last login: Wed Jul 27 06:56:51 UTC 2022 [root@l

    2022-07-27 ping: socket: Operation not permitted - Qiita
  • 3の倍数と3の付くシーケンス番号でアホになるルータ - Qiita

    これは何ですか? 3の倍数と3がつくシーケンス番号のときだけアホになる(遅延する)ルーターをつくった そのヘンテコなルーターの紹介記事です! Dockerでつくったので、掲載のソースコードをコピペすれば、誰でも再現可能かと思いますので、ぜひに! 完成品はコチラ★ 画面左がルーター / 画面右がクライアント(PINGを打つ係) ナベアツ式ルールに従って、アホになっている(1秒遅延している) アホじゃないときは、1ミリ秒以下の応答ですね お待ちかねのゾーン🐥 30~39は全部アホになる ちゃんと(?)、1秒遅延してからPINGを転送している なぜつくった? Rust勉強のため(ネットワークプログラミングを勉強中) ルーター自作でわかるパケットの流れを読んで、回線遅延装置をつくってみたくなったため(その足掛かりとして) 詳細 先にお見せしたルーターやPING打つクライアントは、すべてDocke

    3の倍数と3の付くシーケンス番号でアホになるルータ - Qiita
  • RockyLinux8.5 で Delegate を動かす - Qiita

    Delegate の入手 ・ 以下からソースコードをダウンロードします。 Delegate のコンパイル makeの実施 ファイルを展開し、makeします。 In file included from readycc.c:2: readycc.c: 関数 ‘int ready_cc(FILE*)’ 内: ../include/fpoll.h:15:30: エラー: ‘FILE’ {aka ‘struct _IO_FILE’} has no member named ‘_egptr’ #define READYCC(fp) (fp->_egptr - fp->_gptr) ^~~~~~ readycc.c:8:14: 備考: in expansion of macro ‘READYCC’ else return READYCC(fp); ^~~~~~~ ../include/fpoll.h:

    RockyLinux8.5 で Delegate を動かす - Qiita
  • libgit2の内部データ構造: strmap - Qiita

    libgit2の内部ではハッシュテーブルが使われていたりしますが、C言語標準ライブラリにはハッシュテーブルはありません。ここで公開されている外部のライブラリkhash.hをラップして作られています。コードリーディングメモです。 khashとは何か MITライセンスですが、著者はプロフィールを隠しています。 このブログはanonymousなブログだ ... 俺は完璧主義者だ。もし、読者がこのブログを書いている私を知っているなら、 私は出来る限りすべてを完璧にし続けたいと思うだろう。 それは私を神経質にして、何を書くにしても疲れ果ててしまうだろう。 もし読者が私が誰かを知らないのであれば、自分を解放することができて、 心が赴くままに書き続けられるだろう。 (意訳) こういう厨二病な感じ、嫌いじゃないです。とはいえ、ちょっと古いですがここのエントリーに書かれているベンチマークの結果を見ると、トッ

    libgit2の内部データ構造: strmap - Qiita
  • E1187: Failed to source defaults.vim が出ないようにする - Qiita

    E1187: Failed to source defaults.vim が出ないようにする いつの頃からか、Cygwin のパッケージをアップデートしたら以下のようなエラーが出るようになっていたのを対応したメモ. $ vi E1187: Failed to source defaults.vim Press ENTER or type command to continue $ vi --version VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Feb 13 2022 22:07:03) ~~~ 中略 ~~~ system vimrc file: "/etc/virc" user vimrc file: "/home/Marco/.virc" 2nd user vimrc file: "~/.vim/.virc" user exrc fil

    E1187: Failed to source defaults.vim が出ないようにする - Qiita
  • PowerShellでGUIアプリを作って、勤怠を少しだけ効率化した話 - Qiita

    この記事はPowerShellアドベントカレンダー2019に参加しています。 Excel開いて勤怠表入力するのすごく面倒 私のアルバイト先では、アルバイト学生の勤怠は各自が既定のExcelシートに毎日出勤時間、休憩入り、休憩終了時刻、退勤時間を記入し、それを月末に提出するという形をとっています。しかし、朝出勤してエクセルを開いて記入し、休憩の前にエクセルを開いて記入し、退勤前にエクセルを開いて記入するという作業は非常に面倒です。そこでこの面倒な作業を効率化し、さらにGUIアプリを作ったことがなかったので何か一つ小さなものを作ってみようと思い立ちました。それもPowerShellで... なぜPowerShellなのか 実は当初は自分だけで使うつもりだったので、Pythonとかで書けばいいかな~と考えていました。しかし学生バイトも多くいて、そういった人たちにも使ってもらいたいことを考えると、

    PowerShellでGUIアプリを作って、勤怠を少しだけ効率化した話 - Qiita
  • 英語が話せてプログラムも書けるようになったのでより就職が難しくなった件について - Qiita

    英語が話せてプログラムも書けるようになったのでより就職が難しくなった件について 最初の記事にも書きましたが、日を離れて10年以上、外資系の企業にて外国人と働き、または交渉事などをまとめ、何処に行ってもそれなりに不自由しない英語力を獲得し、さらにロックダウン中から2年あまり、毎日毎晩独学でコードを書き続けたことによって獲得したプログラミングスキルによりウェブアプリなどを自作できるようにまでなった訳ですが、そうして身につけた能力をフルに生かして条件の良い働き口を見つけてこましたろ と思った時に、そういった能力が身を助けるどころか、よりレッドオーシャンの荒波に我が身を晒すことになったことに気付き、愕然としてこの記事を執筆しています。 英語ができることによって競争が激化 例えば、自分は英語も話せて、プログラミングも出来ますよ となった場合、勿論グローバルな企業にて雇用されることを期待する訳ですが

    英語が話せてプログラムも書けるようになったのでより就職が難しくなった件について - Qiita
    iww
    iww 2023/10/06
    『日本企業って、弊社はグローバルな人材を なんていってるけど、あれはあくまでも建前であって、本当の意味でグローバルな人材なんてかなり厄介で使いづらく、海外経験は下手するデメリットにしかならない。』
  • CentOS stream 8でサービスを登録しようとしたらエラーが出た話 - Qiita

    [root@local hoge]# systemctl enable hoge.service The unit files have no installation config (WantedBy, RequiredBy, Also, Alias settings in the [Install] section, and DefaultInstance for template units). This means they are not meant to be enabled using systemctl. Possible reasons for having this kind of units are: 1) A unit may be statically enabled by being symlinked from another unit's .wants/ o

    CentOS stream 8でサービスを登録しようとしたらエラーが出た話 - Qiita
  • 【PHP8.0】PHP8で警告のエラーレベルが軒並み厳しくなる - Qiita

    多くの警告について、PHP8.0でエラーレベルが変更されます。 これはReclassifying engine warningsというRFCで受理されたものです。 提案者はいつものNikita。 影響の大きい未定義変数アクセスについては個別に紹介しましたが、ここではそこで紹介しなかった細かい警告について見ていきます。 これまでE_NOTICEだった警告の一部がE_WARNINGに、これまでE_WARNINGだった警告の一部が例外になります。 E_WARNINGを抑制するような書き方をしている場合、PHP8では動かなくなる可能性が高いので気をつけましょう。 現在E_NOTICE以下であればいきなり動かなくなることはありませんが、そもそも抑制する書き方がよくないので、なるべく修正した方がよいでしょう。 エラーレベルの変更がない警告も並んでいるので、もしかしたら全警告が列挙されてるのか?と思った

    【PHP8.0】PHP8で警告のエラーレベルが軒並み厳しくなる - Qiita
  • SSDをSecure Erase機能で安全に消去する - Qiita

    注意 この記事ではSSDのデータ消去について扱います。 データの消去はディスクを他人に譲渡する際などにやるべきことですが、当然データは消えてしまうので操作ミスに注意してください。 誤った手順での消去や、消去の失敗はSSDがロックされることに繋がり、アクセス不能になってしまう場合もあるようです。 言うまでもないことですが、自己責任でお願いします。 SSDにおけるデータ消去の問題と解決策 SSDはフラッシュメモリによってデータを記録していますが、従来のHDDとは違った特徴を持ちます。 そのため、単純にddコマンド等でデータを上書きするのがデータ消去における最適な方法とは言えません。 現在流通している大半のSSDでは、データを安全に消去するためのSecure Erase機能が用意されています。 これによって容易にSSDのデータ消去を行うことができ、かつ消去後のパフォーマンス低下を抑えることができ

    SSDをSecure Erase機能で安全に消去する - Qiita
    iww
    iww 2023/10/02
    hdparm で ATA Secure Erase ができる
  • Apache2.4で、アクセス制限の記述方法が変更されていた - Qiita

    事象 Apache2.2をyumインストールしていた環境から、Apache2.4環境に移行するために、2.4をソースビルドでインストールしました。 その際に、必要な設定とあわせてバーチャルホストも設定。2.2の設定内容を、そのままconf/extra/httpd-vhosts.confに記述しました。 <VirtualHost *:80> ServerName sandbox ServerAdmin test@example.com DocumentRoot /home/sandbox/htdocs/ ErrorLog /home/sandbox/logs/error_log CustomLog /home/sandbox/logs/access_log combined <Directory /home/sandbox/htdocs> Options FollowSymlinks Inc

    Apache2.4で、アクセス制限の記述方法が変更されていた - Qiita
  • @JhonnyBravoのマイページ - Qiita

    posted articles:Linux:45%Docker:10%仮想化:9%Java:8%Security:8%

    @JhonnyBravoのマイページ - Qiita
  • man systemd 日本語訳 - Qiita

    man systemd で表示されるマニュアルの日語訳。 名前 systemd, init - systemd システムとサービスを管理するマネージャー。 概要 説明 systemd は、 Linux オペレーティングシステム用のシステムとサービスを管理するマネージャーです。 起動時に最初のプロセスとして(PID 1 として)実行すると、ユーザースペースサービスを起動ならびに管理する init システムとして機能します。 SysV との互換性のために、 systemd が init として呼び出され、 PID が 1 でない場合、 telinit が実行され、すべてのコマンドライン引数が変更されずに渡されます。 つまり、通常のログインセッションから呼び出された場合、 init と telinit はほぼ同等です。 詳細については、 telinit(8) を参照してください。 system

    man systemd 日本語訳 - Qiita
  • PHPのThread Safetyが有効になっているかを調べる - Qiita

    tags: php PHPには,スレッドセーフ版とノンスレッドセーフ版というのがある. TS版,NTS版とか,PHP TS, PHP NTSとか呼ばれたりもする. 自分の環境で有効になっているかを確認するには,phpinfo()の出力や,php -iの出力を確認すればよい phpinfo()の結果を見るとわかる。Thread Safetyの項がenabledならスレッド・セーフ版、disabledならノン・スレッド・セーフ版である。 https://clover.fcg.world/2017/03/19/8093/#toc1 確認方法 linux linuxで確認する場合は以下.

    PHPのThread Safetyが有効になっているかを調べる - Qiita
    iww
    iww 2023/09/27
    Thread Safety => enabled になってるか確認
  • MySQLの照合順序 - Qiita

    やってみた MySQLの照合順序、UTF-8の日語で使える照合順序はいくつかあるけど、 実際にどんなマッチの仕方をするのかわからなかったので、ちょっとやってみた。 ちなみに、MySQLUTF-8で日語を扱う場合に使用可能な照合順序はしたの3つ。 utf8_bin utf8_general_ci utf8_unicode_ci 確認したかったのは、半角・全角、小文字・大文字がどんな感じでマッチするのかという事。 ながーいので、結果を utf8_bin キャラクターコードが完全に一致するもののみマッチする。 utf8_general_ci アルファベットの大文字・小文字は区別せずにマッチする。 ただし、区別しない文字は、半角は半角の大文字・小文字、全角は全角の大文字・小文字のみ。 半角小文字と全角小文字同士はマッチしない。 utf8_unicode_ci 下記がマッチする。 アルファベッ

    MySQLの照合順序 - Qiita
    iww
    iww 2023/09/20
    普段はutf8_binでいいけど、手間をかけずに雑にあいまい検索させたいときはutf8_unicode_ciが良いのかな
  • Linux: コマンドのパーミッションは正しいはずなのにsystemdからの起動で「Permission denied」が出た話 - Qiita

    [root@testhost ~]# uname -a Linux testhost 4.18.0-331.el8.x86_64 #1 SMP Thu Aug 19 16:49:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux [root@testhost ~]# echo $SHELL /bin/bash [root@testhost ~]# ls -l /usr/lib/systemd/system/test.service -rw-r--r--. 1 root root 131 Aug 25 21:51 /usr/lib/systemd/system/test.service [root@testhost ~]# cat /usr/lib/systemd/system/test.service [Unit] Description = TEST [

    Linux: コマンドのパーミッションは正しいはずなのにsystemdからの起動で「Permission denied」が出た話 - Qiita
    iww
    iww 2023/09/15
    systemctl enable などで Failed to enable unit: Access denied が出たときは SELinuxを停止する
  • WordPressをFargateで運用時、エラー対応 [AH01630: client denied by server configuration: /var/www/html/server-status] - Qiita

    [Thu May 1 xx:xx:xx.xxxxx 2022] [authz_core:error] [pid 694] [client xxx.xxx.xxx.xxx:43092] AH01630: client denied by server configuration: /var/www/html/server-status client IPから、海外のbotがhttps://ドメイン/server-statusにアクセスしていることが分かりました。 この対応について説明します。 事前構築 以下を記事通り、wordpressをfargateで構築済み 基的に下記のDockerfileをビルド後、ECRにpushし、デプロイしただけです。 FROM wordpress:5.8.1-php7.4-apache RUN set -ex; \ apt-get update && apt

    WordPressをFargateで運用時、エラー対応 [AH01630: client denied by server configuration: /var/www/html/server-status] - Qiita
    iww
    iww 2023/09/14
    Require all granted