Xdebug を使用した PHP のデバッグ

Xdebug は、PHP アプリケーションの分析と最適化に役立つ強力な PHP デバッグおよびプロファイリング ツールです。ステップバイステップのデバッグ、パフォーマンス測定、スタック トレースなどの機能をサポートしているため、トラブルシューティングがはるかに簡単になり、コードに対するより良い洞察が得られます。以下は、VSCode 内で使用するための簡単なセットアップ ガイドです。

.­.­.

液体について

コーヒーとミルクが同じ高さに入っている2つの同じカップを想像してください。 コーヒーカップから小さじ1杯のコーヒーをミルクカップにすくい、かき混ぜます。 次にミルクカップから小さじ1杯の混合液をコーヒーカップに注ぎます。 そのとき、どちらのカップにより多くの異物が入っているでしょうか?

.­.­.

ChatGPT を使った Git のコミットメッセージ

Gitのコミットメッセージは軽視されがちです。 多くの人は、コミットメッセージを単に変更を保存するための必要悪としか考えていません。 意味のあるコミットメッセージは、プロジェクトの成功にとって決定的な要因です。コミットメッセージは、変更のトレーサビリティを確保し、効率的なチームコラボレーションを実現し、トラブルシューティングを迅速化します。 AIの助けを借りてコミットメッセージを自動的に作成させる理由はありません。

.­.­.

長方形の2月

例えば、2021年2月には、2月がちょうど"几帳面な"で、2月1日が月曜日となる "完全な長方形の2月 "を経験することができる。 しかし、実際にこのようなことが起こるのはどれくらいの頻度なのだろうか。また、次にこのようなことが起こるのはいつになるのだろうか。

.­.­.

CSSにおける垂直方向のセンタリング

CSSはまだ私たちのほとんどを混乱させている。CSSには何百もの貧弱な名前のプロパティがあり、それぞれが直感的でない方法で結果に影響を与える可能性がある。 ウェブ開発における要素の垂直配置は厄介で、過去にはしばしば頭痛の種だったが、ありがたいことにその時代は終わった。

.­.­.

CSSでheight: 0をheight: autoにアニメートする。

CSSのトランジションは、インタラクティブ性を生み出す良い方法です。, transition のような要素の固有変数の遷移をアニメーション化します。 auto は、何十年もの間、ウェブ開発者にとっての問題であり、唯一の選択肢は、JavaScriptを使って動的に高さを計算することだった。

.­.­.

0と1の間に整数はない

ないので、(0<n<1)

.­.­.

リフトのパラドックス

1950年、物理学者のジョージ・ガモフとマーヴィン・スターンは興味深い現象に気づいた。6階建てのビルの1階にオフィスを構えていたガモフは、6回のうち5回は、上向きに進んでいるにもかかわらず、次のエレベーターが下向きに進んでいることに気づいた。 5階に勤務していたスターンは、その逆を観察した。

.­.­.

クワイン

クィーン・プログラムクィーン)とは、実行されるとそれ自身のソース・コードを出力するプログラムのことである。 クィーンは、例えば、それが含まれているファイルの内容を出力したり、内省的な機能を使ってそれ自身の表現を出力したりするなど、「それ自身の外側に踏み出す」ものであってはならない。 その代わりに、それ自身のソース・コードを計算しなければならない。

.­.­.

bashスクリプトによるファイルローテーション

logrotateのような強力なツールを使えば、ログファイルやバックアップファイルのローテーションが非常に簡単になります。 ファイルは、一定期間後、または一定サイズに達するとローテーションされます。 リモートサーバーにこのツールがなく、リモートでSSHコマンドを実行することしかできない場合は、古いファイルを削除し、1つのリクエストしか送信しない小さなbashスクリプトを使えば、自分自身を助けることができます。

.­.­.

ベンフォードの法則

数字の世界では、しばしば驚くべきパターンに出くわすことがある。 ベンフォードの法則は、最初の桁の法則としても知られている。 この数学的現象は、多くの実世界のデータセットにおける最初の桁の頻度分布を記述しており、私たちの環境で発生する数字の性質について興味深い洞察を与えてくれる。

.­.­.

逆説的確率計算

私には2人の子供がいて、木曜日生まれの息子がいます。 娘が生まれる確率は何%でしょうか。 曜日を数字で表し、Ⓐ月曜日 、Ⓑ火曜日、Ⓓ月曜日、Ⓓ月曜日 、Ⓓ月曜日、Ⓓ月曜日、Ⓓ月曜日、Ⓓ月曜日、Ⓓ月曜日、Ⓓ月曜日、Ⓓ月曜日、Ⓓ月曜日、Ⓓ月曜日とします。

.­.­.

終末論

今まで生まれてきた人、これから生まれてくる人の数(Y)が限られているとして、その先頭からの絶対位置を(x)とすると、(0 < ¬frac{x}{Y} ¬leq 1)となり、( 0.05 < ¬frac{x}{Y} ¬leq 1)となるので、(Y < ¬frac{x}{0.05} = ¬frac{100 ¬x}{5} = 20 ¬frac{x}{0.05} = ¬frac{100 ¬x}{5} = 20 ¬frac{100 ¬x}となる。

.­.­.

酒飲みのパラドックス

次の文は「酒飲みのパラドックス」として知られています。「パブに誰かがいるから、その人が飲んでいるなら、パブにいる全員が飲んでいることになる。」 後で説明するように、その人が他の人に飲酒を奨励しているかどうか、または他の裏口が存在しているかどうかは問題ではありません。 これは数学的な一次論理の良い例です。

.­.­.

数字の推測

男の子は\(1\)\(2\) 、または\(3\)の数字を考えます。その後、女の子はその数字について1 つだけ質問することができます。 少年は「はい」「いいえ」「わかりません」としか答えることができません。 賢い質問を通じて、少女は少年が答えた後、少年が考えていた正しい数字の名前を言い当てることができました。 あなたの質問は何ですか?

.­.­.

起源のない物体

ある日、差出人のいない謎の小包を受け取ったと想像してください。 好奇心旺盛なあなたはパッケージを開けて、娘に贈る指輪を見つけました。 数十年後、ワームホールを使用してオブジェクトを過去に送り返すことができるのは彼女です。 彼女は、あなたがかつて彼女に与えた指輪を使ってこれを行い、彼女があなたに宛てたパッケージに包まれました. 問題は、リングはどこから来たのかということです。

.­.­.

GitHub アクションを使用した CI

価値の高いTravis CIの代替として、 GitHub Actionsもしばらくの間利用可能でした. 継続的統合ツールとして、GitHub コード プラットフォームに非常によく統合されており、現在は非常に安定しています. GitHub アクションは、ワークフローが実行されるリポジトリに配置された YAML 構成ファイルに基づいています。

.­.­.

スタインのパラドックス

1961 年に James と Steinは 2 次損失による推定という論文を発表しました。 未知の平均\(\mu\)と分散\(1\)をもつ正規分布データを取ります。 このデータからランダムな値\(x\)を選択し、これに基づいて平均\(\mu\)を推定する必要がある場合、直観的に\(x\)\(\mu\)の妥当な推定値です。 (正規分布が存在するため、ランダムに選択された\(x\)はおそらく\(\mu\)の近くにあります)。

.­.­.

Exchange/Office 365 への PHP によるアクセス

長い間発表されていましたが、現在の現実: Microsoft は、oAuth2 を優先して、2022 年 9 月から Exchange Online で特定のプロトコルのパスワードによる認証をオフにしました。 多くのライブラリバックアップ スクリプトの GitHub の問題は、切り替えが多くの管理者を驚かせたことを明らかにしています。 以下に、IMAP 経由で PHP 経由で oAuth2 を使用して、引き続き Exchange メールボックスのコンテンツにアクセスする方法を示します。

.­.­.

データベース内の UUID

UUID (Universally Unique Identifiers) は、テーブル エントリを一意に識別するためにデータベースなどで使用される 128 ビット値です。 これらは、ハイフンで区切られた 5 つのグループに分割された 16 進文字列として表されます (例: 09fe49b3-4d2b-471c-ac04-36c9e706b85f)。 がある 多数 ディスカッション データベースにおける UUID の長所と短所について - それらは分散システムに不可欠です。

.­.­.

Git 履歴のクリーンアップ パート 2

機密データまたはメモリ消費量が多すぎる: Git の履歴を変更する十分な理由があります。 このブログ投稿では、 BFGを使用して Git 履歴からファイルをパージする方法を説明しました。 BFG の弱点は、ダイレクト パスがサポートされていないことです。そのため、サブフォルダー内のファイルまたはフォルダーを履歴から明確に削除することはできません。 それで、代替ソリューションを検討する時が来ました。

.­.­.

WordPressのメモリ制限

tl; dr:手動で設定された値またはのデフォルト値 WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT 次の場合は効果がありません WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT PHPのメモリ制限以下(以下、 memory_limit と呼ばれる)です。 それらは、低すぎる値を設定するために使用されます memory_limit 推奨される最小値まで動的に。

.­.­.

クイックヒント:Iframeを変更する

サードパーティのiframe(ウィジェットなど)を埋め込んだ場合、CSSまたはJavaScriptのいずれかを使用してそのコンテンツにアクセスすることはできません(いわゆる同一生成元ポリシーのため)。 ただし、コードを変更するための非常に簡単な手順があります(iframe内で再ロードされる他のファイルでも)。 これを行うには、独自のPHPプロキシを介してURLをルーティングし、必要に応じてコンテンツを変更します。

.­.­.

ANTONアプリのコイン

ANTONは、1年生から10年生の生徒に最も人気のある学習アプリの1つです。 クラス。 一見、コイン(「コイン」)を取得するゲーミフィケーションの側面は、大人には奇妙に見えるかもしれませんが、それは私の子供だけでなく、モチベーションを著しく倍増させます。 それはあなたが触れないコインの小さな「クッション」さえも節約します。

.­.­.

IBANの堅牢性について

よく知られているように、ドイツのIBANは、国コード(DE)、2桁の小切手桁( ISO 7064に準拠)、銀行コード(8桁)、および口座番号(サブ口座番号を含む、10)で構成されています。 -数字、欠落している数字は先行ゼロで埋められます)、したがって22桁です。 チェックディジットを計算するために、いわゆるBBAN(銀行コードと口座番号)、およびドイツの数値の国コード\(1314\)とチェックディジット\(00\) )が形成されます。

.­.­.

ゲームの数学Dobble

最後の家族の夜に、ゲームDobble (Harry Potter Edition)が子供たちによって熱狂的にテーブルに運ばれました。 5回目の敗北(トランプで私のカードの目に見えるヒットがない)の後、私は驚いたことに、すべてのプレーヤーがすべてのラウンドで常にヒットを見つけることができると言われました。 しかし、私の不信はさらにラップを失ったことでのみ認められました-子供たちは単に速くなりました。

.­.­.

ビットコインのブロック時間

あなたが知っている:2つのビットコインブロック間の予想時間は平均\(10\)分です。 今、あなたは重要なビットコイン取引を行っており、それが次のブロックに表示されるかどうか、そしていつ表示されるかを熱心に待っています:

e50bfacc95975a4e7545d83d8954645f

.­.­.

コロナ数学

11.11.2021のRKI週報では、集中治療室の60歳以上のコロナ患者の\(36\%\)がすでに完全にワクチン接種されていることが22ページに記載されています。 この年齢層では、 \(87\%\)この時点で完全にワクチン接種されていました(18ページを参照)。

.­.­.

SISTRIX可視性インデックスの計算

XoviとともにSISTRIXツールは、SEOの分野でドイツで最も広く使用されている分析プログラムです。 可視性インデックスは、Google検索でのページの可視性の準標準としての地位を確立しています。 その計算に含まれるパラメータは、例えばここここここここここで説明さていますが、正確な計算式は公式には公開されていません。 以下は私の6か月間の個人調査の結果であり、完全または正しいとは主張していません。

.­.­.

小数

有限の10進数は、分母が10の累乗である分数の表現が異なるため、小数と呼ばれます。 そうです:

$$\frac{z}{n} = \frac{q_1}{1} + \frac{q_2}{10} + \dots + \frac{q_k}{10^k}$$

\(k \in \mathbb{N}\)および\(q_k\)は、カンマの直後の\(k-1\)番目の場所です。

.­.­.

クイックヒント:ノードのバージョンを自動的に変更する

ノードバージョンの迅速なインストールと変更にnvmの使用をお勧めします。 あなたが明示的にプロジェクトに必要なノードのバージョンを指定したい場合は、package.jsonと同じフォルダに正確なバージョン番号(例えば「12.10.0」)と.nvmrcというファイルを置きます。 ここでフォルダーに変更すると、ファイルの次の拡張子〜/ .bash_profile for bash、コマンドnvm useを実行ます。これにより、このバージョンが自動的に設定されます。:

fe497e1c7f9f1547263eb3bffe15f9f6

.­.­.

今日コンテナクエリを使用する

レスポンシブウェブデザインが登場して以来、開発者は、ブラウザのビューポートのサイズではなく、実際のサイズに基づいてDOM要素をデザインする可能性について質問してきました(メディアクエリの助けを借りて)。 実際、コンテナクエリ(最初は要素クエリ)は、おそらくブラウザがまだ持っていない最も要求されたCSS関数です。

.­.­.

Gitの履歴をクリーンアップする

パスワードなどの機密データは.envファイルに含める必要があり、可能であれば、Gitリポジトリに保存しないでください。 しかし、それはおそらく私たち一人一人に少なくとも一度は間違って起こったことでしょう。私たち自身のプライベートMaps APIキーを誤って偽装することなくGitHubGistsで(「パブリック」として)素敵なGoogle Maps JSAPIスクリプトをすばやく公開しました。

.­.­.

クリップパスを使用して画像からSVGを切り取ります

SVGを使用して画像を切り取りたい場合は、CSSプロパティのclip-pathを使用することをお勧めします。 次のスクリプトはでこぼこの障壁をトリガーします。SVGはIllustratorを使用して保存でき、SVGの(相対または絶対)URLを指定でき(ChromeはこれまでネイティブでインラインSVGのみをサポートします)、ネックラインも完全に応答します。

.­.­.

クイックヒント:WP_Queryと複数行フィールド

強力なWordPressWP_Queryクラスのmeta_query属性を使用して、メタフィールドに特定の値を持つ投稿をフィルタリングできます。 複数行のメタフィールドを作成し(たとえば、高度なカスタムフィールドを使用して)、このフィールドに改行で区切られた特定の値を含む投稿のみを検索する場合は、MySQLの正規表現の世界をお勧めします。

.­.­.

Adobe Animate アニメーションをネイティブに統合

以前の記事で、APNG エクスポートの迂回路を介して、 Adobe Animate のアニメーションを Web サイトに簡単に統合する方法について説明しました。 HTML5 キャンバス エクスポートを介したネイティブの方法もありますが、すでに取り組んでいる人は、それが隅々まで行き詰まっていることに気付くでしょう (不十分なレスポンシブ サポート、既存の Web サイトへの面倒な統合、アニメーションごとの異なるフレーム レートなし、など) .)。 ライブラリadobe-animate-embedは、ここでの解決策を提供します。

.­.­.

API キーのない Google マップ

通常、Google マップを統合する場合はMaps JavaScript API を使用します。これには API キーが必要であり、アクセス数が多いほどコストを過小評価してはなりません。 mapboxOpenStreetMapなどの優れた代替手段がありますが、Google が提供するさまざまな機能をまだ実現していません。 Google 自体も、目的に使用できる共有機能を介して API キーを使用しない方法を提供しています。

.­.­.

Adobe Animate APNG エクスポート

アニメーションPNGファイルのブラウザーサポートが非常に優れているため、 Animate CCで作成されたアニメーションをAPNGに簡単にエクスポートして、単純な<img>タグでWebサイトに組み込むことができます。 これは、JavaScriptを生成するAnimateCCの公開メソッドに代わるシンプルで高品質な方法です。実行する手順を以下に説明します。

.­.­.

WordPress検索を展開

メタフィールドなどを使用してネイティブのWordPress検索を拡張する場合は、起動されたフィルターを確認することをお勧めします。 post_searchフックは、ページ付けが引き続き機能し、検索の今後の改善がキャンセルされないようにするために推奨されます。 次のコードは、 REGEXP関数とExtractValue関数を使用して、この検索を拡張し、すべてのメタフィールドに入力された検索語の1つを含む投稿を含めます。

.­.­.

ゴデルの傑作

KurtGödelが1931年に彼の有名な不完全性定理を発表したとき、それは数学的論理の基礎を揺るがしました:彼は、可能な基礎として設定できるすべての公理は、数に関するすべてのステートメントを証明するために必然的に不完全であると反論しました-そしてそれを破壊しました数学理論の一貫性を証明するというヒルベルトの夢。

.­.­.

API経由でWhatsAppを使用する

すべてのデータ保護の懸念にもかかわらず、 WhatsAppは依然としてドイツのお気に入りのメッセンジャーアプリです。 特別なWhatsAppBusiness Appに加えて、Facebookは公式インターフェースであるWhatsApp Business APIも作成し、企業にとってより興味深いものにしています。 WebアプリケーションからプログラムでWhatsAppメッセージを送信する場合は、他の方法もあります。

.­.­.

CSSを使用してオーバーレイの背後にあるページをぼかします

たとえば、オーバーレイ(GDPRアクション主義の時代のルール)などの要素を使用していて、オーバーレイの背後の領域を柔らかくしたい場合、スタッキングコンテキストの問題に遭遇することがよくあります。 たとえば、要素が絶対位置または固定位置にある場合、フィルターが適用されていない場合とは異なる方法で突然表示されます。 しかし、救済策があります。

.­.­.

クイックヒント:Apacheを使用した分割テスト

単純なURL分割テストにGoogleOptimizeのような強力なツールを使用する必要はありません。また、.htaccessを介してApacheを解決することもできます。 次のコードスニペットは、訪問者を2つのページhttps://vielhuber.de/test1.php(バリアント1)とhttps://vielhuber.de/test2.php(バリアント2)の両方のバージョンに均等に分散します。 ランダム化は、現在のサーバー時間に基づいています。

.­.­.

分岐関数の表記について

中括弧は、大文字と小文字を区別する関数定義の表記に使用されます。 この表現も削除でき、関数をそれなしの表記に縮小できるかどうかという単純な問題を追求します。 たとえば、関数

$$f: \mathbb{R} \to \mathbb{R}, f(x) = \left\{\begin{matrix} 42, & \text{falls } x = 0 \\ x, & \text{sonst} \end{matrix}\right.$$

1行の項を使用した4つの基本的な算術演算の助けを借りて?

.­.­.

GoogleSheetsの日付シリーズ

Google Sheetsでデータを視覚化すると、 \(x\)軸がテキスト値の欠落しているギャップを自動的に埋めることができないという問題が発生します\(x\)暦週など)。 この問題を解決するには、連続した一連の日付を生成し、発生したセルをカウントしてから、累積合計を視覚化します。

.­.­.

クイックヒント:PHP clearstatcache

間違いを見つけてください:

72aaa2dbd201d49fc2ee429ebf68f15b

.­.­.

Google TranslationAPIハッキング

Googleは、Google Cloudの一部として、使用量ベースのコスト構造を備えたGoogle TranslationAPIを提供しています。 キーなしで使用できるが、ほんの数回の要求の後で機能することを拒否する、文書化されていないAPIもあります。 Google Chromeのウェブサイト翻訳機能を使用すると、目立った制限なしにページを非常に高品質に翻訳できることがわかります。

.­.­.

クイックヒント:Gitの自動タグ付け

GithubComposerにリンクする場合は、 gitタグを介してバージョン番号を割り当てる必要があります。 次のコマンドラインコマンドは、現在の日付を判別し、バージョン番号で( SemVerに従って)それを増やします。 たとえば、バージョン1.1.0は1.0.9の後に続きます。 タグが割り当てられていない場合、バージョンは自動的に1.0.0でタグ付けされます。 薄っぺらなフックgitフックのようツールは、このシンボルの砂漠を短くします。

8cd852c96ec1e60e8a5ac1f3614b2397

.­.­.

MySQLトリガーの編集

残念ながら、 MySQLはALTERTRIGGER機能を提供していません。 既存のトリガーを編集するには、最初にトリガーを削除してから再生成する必要があります。 CREATE TRIGGERステートメントは、 information_schemaを介して間接的に読み取ることができます。 これにより、迂回してトリガーを変更できます。 これを行うには、次のSELECTコマンドの結果を変更し(事前にデータベースとトリガー名を変更します)、クエリを実行します。

.­.­.

VanillaJSで変更イベントをトリガーする

VanillaJSは、 ES6以降、ほぼすべての分野でベテランのjQueryと同等であり、現在でははるかに優れています。 したがって、レガシーコードをjQueryから徐々に移行することで成果が得られます。 ただし、手動変更イベントをトリガーする場合は注意が必要です。 たとえば、 document.addEventListenerjQuery.change()ではトリガーされません。 次の概要は、特別な機能をまとめたものです。

.­.­.

PHPとJSでCookieを制御する

独自のスクリプトまたはサードパーティのスクリプトによるCookieの設定は、PHPとJavaScriptを使用して細かく制御できます。 これは、 Planet49に対する裁判所の判決後のCookieソリューションの実装には十分なソリューションではありませんが(ここでは、Google Analyticsなどの追跡ツールがCookieを追跡せず、その結果、Cookieを設定しないことが重要です)、理にかなっています。通常、Cookieをホワイトリスト/ブラックリストに登録します。

.­.­.

Windowsのスクリプトを介してデバイスを非アクティブ化する

電力を節約したり、自分の監視パラノイアを減らしたりするために、自分のコンピュータで使用されていないデバイスを完全に切断することをお勧めします。 サウンドボックスやWebサイトなどのデバイスは、デバイスマネージャーを介して従来の方法で非アクティブ化/アクティブ化できます。 すべてがスクリプトを介して機能します。 これを行う標準的な方法は、以前はdevconでした。 Windows 10は、 PowerShellを介してこれを行うためのより便利な方法を提供するようになりました。

.­.­.

Skypeの背景のぼかし

Skypeには、やや隠された優れた機能があります。ビデオ送信の場合、ビデオボタンをクリックして[背景をぼかす]機能を使用すると、背景を自動的にぼかすことができます。 人工知能の助けを借りて、これは深度情報がなくてもどんなカメラでも機能します。 その後、全体がよりプロフェッショナルに見え、バックグラウンドでプライベートまたは重要でないものを隠します。

.­.­.

IllustratorからのSVGエクスポート

SVGは、今日のWebで中心的な役割を果たします。 アイコンフォントが置き換えられただけでなく、CSSまたはJavaScriptを介した操作の可能性も提供します。 Adobe IllustratorからWeb用のベクターグラフィックをSVGとして保存する場合は、落とし穴を回避し、読み込み時間を短縮するためにいくつかの設定を行う必要があります。これについては、次の記事で説明します。

.­.­.

プロジェクトオイラー:格子パス

Project Eulerは一連のエキサイティングなプログラミングの問題であり、多くの場合、数学的な背景があります。 問題は、妥当な実行時間で目標を達成するために高度なアルゴリズムを開発しなければならないような方法で提起されることがよくあります。 今日、私たちは問題15:格子経路を解決します。これは、単純な組み合わせ手段で解決策を見つけることができます。

.­.­.

WordPressの自動更新

WordPressは、バージョン3.7以降、バックグラウンドアップデートをネイティブに実装し、マイナーリリース用に自動的にアクティブ化しました。 フィルタを使用すると、動作をより正確に制御でき、正確に何が自動的に更新されます。 すべてのマイナー、メジャー、プラグイン、テーマ、および翻訳の更新の永続的な完全自動インストールは意図されていませんが、それ以外の場合は簡単に実行できます。

.­.­.

OPcachePHPブートアップの最適化

たとえば、 WordPressJoomla、またはLaravelに基づいており、ユーザー固有のコンテンツがないWebサイトの場合、すべてのページを静的HTMLキャッシュに保持し、バックエンドで変更が行われたときにのみ手動(または自動)でキャッシュを再生成することをお勧めします。 ただし、ページにセッションとCookie、または言語と場所に依存する動的コンテンツが含まれている場合は、 OPcacheが適しています。

.­.­.

Google Sheets:式の拡張

数式をGoogleSheets内の列全体に展開するには、便利なARRAYFORMULA関数を使用することをお勧めします。 残念ながら、これはQUERYINDIRECTなどの他の重要な機能と組み合わせて機能しません。そのため、 Google Apps Scriptを使用してロジックを完全に個別にプログラミングするか、式を最後の行まで手動でコピーする必要があります。

.­.­.

シンプソンパラドックス

シンプソンのパラドックスは、簡単に理解できると同時に、統計における驚くべき現象の1つです。 データのグループが特定の傾向を示すたびに発生しますが、グループを組み合わせるとその傾向は逆転します。 簡単な例の助けを借りて、パラドックスはすぐに理解することができます。

.­.­.

クイックヒント:Googleタグマネージャー

Google Tag Managerは、追跡スクリプトを統合するための事実上の標準としての地位を確立しています。 これにより、責任(オンラインマーケティングとプログラミング)が明確に分離され、他方では、追加の展開チャネルを介して追跡をすばやく設定および変更できます。 トリガーを設定するための2つの小さなヒントを次に示します。

.­.­.

クイックヒント:FRITZ!ボックスWLANホットスポット

FRITZ!OS 07.10以降、インターネットに障害が発生した場合、FRITZ!Boxは一時的に携帯電話のワイヤレスホットスポットをフォールバックとして使用できます。 この機能は、 [インターネット]> [データへのアクセス]> [インターネットプロバイダー]> [WLANを介した既存のアクセス]の下に隠されています。 その後、FRITZ!ボックスはそれ自体がルーターとして機能し、ネットワークに独自のアドレス範囲を提供します。 インターネットが再び利用可能になったら、設定をリセットするだけです。 また、 [WLAN]> [ワイヤレスネットワーク]> [2.4GHz周波数帯域がアクティブ]および[インターネット]> [データへのアクセス] > [IPv6]> [IPv6サポートがアクティブ]のオプションにチェックマークを付ける必要がありました。

.­.­.

フラワーオブライフ

Flower of Lifeは、おなじみの、花のような幾何学模様で、寺院、原稿、そして何千年もの間ポップカルチャーでかなり長い間見られてきました。 このパターンは、難解性にも影響を及ぼします。 この時点ではこれらすべてを無視し、いくつかの等間隔の重なり合う円で構成される幾何学的形状の単純な構築に集中します。

.­.­.

Outlookでのメールの遅延

SlackDiscordをめぐる破滅のすべての予言にもかかわらず、非同期通信媒体の電子メールは、世界中のビジネス部門で主要な通信媒体です。 MerlinMannのInboxZeroに加えて、いわゆる電子メールの遅延、つまり電子メールの配信の遅延など、毎日の大量の電子メールに対処するための他の多くの戦略があります。

.­.­.

数字のスパイラル

過去数日間、私はStackExchangeで整数のスパイラルに関する次の質問を調査してきました。 次の整数スパイラルの\(n\)番目の要素の座標の閉じた式を探しています。これは、原点から外側に、さらに無限に伸びています。:

..  9 10 11 12
23  8  1  2 13
22  7  0  3 14
21  6  5  4 15
20 19 18 17 16
.­.­.

GoogleSheetsの読み取り権

Google Sheetsを使用する場合、ワークシート、列、および行を編集するための細かいユーザーベースのルールをスプレッドシート内で定義できます。 残念ながら、読み取り権を制限する方法はありません。 ただし、これは多くのシナリオで非常に役立ちます。 したがって、顧客に関係するチケットのみを表示するか、従業員に作業中のプロジェクトのみを表示します。

.­.­.

ヤーンプラグアンドプレイ

npmは、Node.jsのデフォルトのパッケージマネージャーです。 Facebookは、 Yarnと呼ばれる代替のパッケージ管理ソリューションを長い間開発してきました。 Yarnは、標準ソリューションとしてGithub readmesから徐々に消えているようであり、公式サイトの統計は、パッケージのごく一部のみがYarnによって実行されていることを示しています。 それにもかかわらず、それは箱の外で考える価値があります。

.­.­.

PDFをLaTeXに変換する


タイプ設定システム\(\TeX\)は、1977年に伝説的なDonald E.Knuthによって開発されました。 ソフトウェアパッケージ\(\LaTeX\)は、科学論文を作成する際の標準的なレパートリーの一部です。 次の2つのツールを使用すると、すでに生成されたPDFと手書きのメモを完全に自動的にTeXに変換できます。 結果は非常に有望です。

.­.­.

シミュレーションの議論

Nick Bostromのシミュレーションの議論は、驚くほどシンプルで明確です。 それは私たちがシミュレーションに生きていることを証明しようとはしませんが、代わりに3つの可能性をエレガントに定式化します。そのうちの1つは真実でなければなりません。 Elon Muskも同様の論文を提唱しており、この論文は広く一般に知られています。 公式は14年以上前のもので、同じくらい多くのページが短いです。 中心的なステートメントは、理解しやすくコンパクトです。

.­.­.

WPML + ACF使用時の重大なバグ

多言語対応用の強力なWPMLプラグインと、独自のフィールド用の高度なカスタムフィールドは、多くのインストールで標準装備されています。 誤動作とデータ損失が相まって発生すると煩わしいです。 この件に関するバグレポートは数年前のものであり、未回答です(ここここここここここ)。 問題を詳しく調べたところです。

.­.­.

Facebook In AppBrowserでのファイルのアップロード

一部のAndroidスマートフォンでは、アドバタイズまたはリンクされたランディングページ内のアップロードフィールドでaccept属性が指定されている場合、FacebookとInstagramの両方のアプリ内ブラウザ(現在)が正しく動作しません。 したがって、ボタンには機能がありませんでした。 Facebookアプリの外部にある通常の外部ブラウザでページを開くと、すべて問題ありません。 これは、(それが長いために報告されている、特に以来迷惑です時間)が、回避策で解決することができます。

.­.­.

Chrome Devtools:DOM要素を移動する

Google Chromeの開発者ツールは、ブラウザ市場で最も強力なツールの1つです。 GoogleがYouTubeで圧縮形式で提示する新機能が毎月提供されます。 しかし、多くの場合、それは人生のささいなことです。 Google ChromeでDOM要素を削除する場合は、削除キーを使用してこれを行うことができます。 しかし、今日だけ、DOM要素もドラッグアンドドロップを使用して簡単に移動できることに気づきました。:

.­.­.

クイックヒント:git status --r

Gitユニバースの黄金のルールは、「早くそして頻繁にコミットする」です。 夜が少し長かった場合、または自分のコンピューターの現在の状況の概要が必要な場合は、コマンドを使用すると

d8a38f92d0baa14f9d4568826c13ad46

現在のフォルダーまたは任意のサブフォルダーにあるすべてのリポジトリの「gitstatus」で、値を概要に集約します:

.­.­.

Linux用WindowsサブシステムのLAMPスタック

最適な開発環境を探す場合、Windows 10は、 XAMPPWAMPMAMPなどの完全なソリューション、手動によるネイティブインストール、 VagrantScotch Box )やDockerDevilboxLaradock )などの仮想化ソリューションを提供します。 しかし、無料の構成可能性、実際のワイルドカードSSL証明書、ローカルネットワーク内のすべてのエンドデバイスからのアクセス、高い安定性とパフォーマンスなどの要件のため、1つを除いてすべてのソリューションが失敗しました。

.­.­.

Laravelの雄弁な関係のための秘訣

Laravelの強みの1つは、そのエレガントな構文です。 Laravelに多くのモデルと関係がある場合(データベース内のテーブルが多いため)、トラバースはあまり洗練されていないコードで終わることがよくあります。 時間の経過とともに、3つの小さな拡張機能が私に証明されました。これを以下に簡単に紹介します。 いくつかの継承、魔法の方法、カスタムコレクションを使用するだけです。

.­.­.

.gitへのパブリックアクセスを防止する

バージョン管理Gitは現在、ほぼすべてのWebプロジェクトおよびすべての環境(本番環境を含む)で標準となっています。 Gitは常にサブフォルダー.gitを作成します。これが、Webサイトのパブリックフォルダーのレベルにある場合は、機密ファイルにパブリックにアクセスできます(たとえば、 /。git / logs / HEADを呼び出すと、最後のコミットが表示されます) 。 それはあなたがディレクトリリストなしで、サードパーティ(!)のGitリポジトリのクローンを作成する方法を詳細に説明しています。

.­.­.

Node.js / npm /ルートのないComposer

以前のブログ投稿でHerokuを使用してNode.jsを無料でホストする方法について説明しました。 次に、数行のコードを使用して、ルート権限なしで他の共有ホストにNode.jsnpm 、およびComposerインストールする方法を示します。 これを使用すると、パッケージをインストールしたり、Vue.jsアプリケーションをデプロイしたり、Express.jsサーバーを起動したりできます。 私たちは常にユーザーディレクトリで作業し、 nvm (ノードパッケージマネージャー)を使用します。

.­.­.

PHP <7.2の連想配列のバグ

PHP <7.2では、正しくアクセスできなくなった配列を作成できます:

91367d1c4636fd753b381406024e303c

あなたはそれでいくつかのことをすることができます。

.­.­.

SSH接続の直後にコマンドを実行する

次のコマンドは、SSHを介してサーバーへの接続を確立し、いくつかのコマンドを実行し(たとえば、サブディレクトリに変更してgit statusを送信します)、シェルを開いたままにします。 .bashrcファイルがロードされ、色付きのサブシェルが有効になります。 秘訣は、必要なコマンドを使用して一時ファイル/ tmp / initfileを保存し、コマンド--init-fileを使用してサブシェル(この場合はbash)を開始することです。 このinitfile内では、痕跡を残さないように、同じファイルがすぐに再度削除されます。

.­.­.

管理者としてのネットワークドライブ

ネットワークドライブをWindowsExplorerに統合する場合、これはシステム全体には適用されず、現在のユーザーアカウントにのみ適用されます。 これは、管理者権限で実行されているアプリケーションでは、このネットワークドライブにアクセスできないことを意味します。 これは簡単に変更できます。HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ Systemの下のレジストリに値1を指定してEnableLinkedConnectionsという新しいDWORD(32ビット)を作成し、再起動します。 統合されたネットワークドライブは、どこにでも表示されます。 統合されたネットワークドライブは、どこにでも表示されます。

.­.­.

クイックヒント:ドライブとしてフォルダを含める

何度も使用するWindowsのローカルフォルダにすばやくアクセスしたい場合は、独自のドライブ文字を割り当てるだけです。 たとえば、パスC:\ Users \ David \ Downloadsを指定できないため、「Connectnetworkdrive」を介した迂回のみがあります。 解決策として、ドライブのいわゆる管理共有を入力します。これは、すべてのフォルダーにデフォルトで存在します。上記の例では、これは\\ localhost \ c $ \ Users \ David \ Downloadsになります。

.­.­.

カエルを捕まえる

カエルがナンバーラインを飛び回り、あなたはそれを捕まえようとします。 ジャンプとキャッチは常に交互に行われます。 カエルは位置\(s \in \mathbb{Z}\)から始まり、移動するたびに\(z \in \mathbb{Z}\)距離をジャンプします( \(z>0\)場合、ジャンプします右に、そうでない場合は左に)。 \(z\)はすべてのジャンプで同じです。 スナップは、整数位置の指定で構成されます。 \(z\)\(s\)も知らない。 常にカエルを捕まえる方法があることを示します。

.­.­.

Windows10の長いファイル名

Windowsでnpmを使用している場合だけでなく、現在ほぼ30年前の制限に遭遇します。これにより、フォルダーとファイルへのパスが最大255文字に制限されます。 これはNTFSのせいではなく、 LFNのせいです。 これは、厄介なバグやオペレーティングシステム間の非互換性につながります。 WSLの時代には、これは残念な状態であり、幸いなことに、しばらくの間レジストリで自分自身を修正することができます。

.­.­.

LocalhostのLaravelキュー

生産環境内のPHPフレームワークLaravelでは、ワーカーとスーパーバイザー、たとえばRedisに保存されているジョブが確実に処理されるようにします。 localhostでこれから完全に独立させたい場合は、同期ドライバーを使用して、常にジョブをすぐに実行します。 これには、現在のPHPプロセスがブロックされ、ジョブが処理されるまで要求がハングするという欠点があります。

.­.­.

クイックヒント:GoogleAnalyticsで目標をバンドルする

Google AnalyticsのJavaScriptライブラリanalytics.jsを使用すると、Webサイト上のすべてのイベントを追跡できます。 これらのイベントは、たとえば、滞在期間、訪問者の最大スクロール深度、またはフォームの送信などの他の個々のアクションの正確な測定値です。 たとえば、広告キャンペーンを評価したり、後でA / Bテストを実行したりする場合は、いわゆるターゲットプロジェクトを作成します。

.­.­.

実用的なキャッシュの無効化

サーバー側のレンダリングは、Webサイトとアプリケーションの標準レパートリーの一部になりました。 Google Chromeなどのブラウザも、以降の呼び出しの読み込み時間を最小限に抑えるために、可能な限りキャッシュする傾向があります。 CSS / JS /イメージファイルのキャッシュ無効化は、 mod_pagespeedExpires / Cacheコントロールヘッダー、キャッシュマニフェスト、またはファイル名の後の個々のパラメーターを介して非常に実用的かつ直接的に解決できます。

.­.­.

ビットバケットキーとSSHキー

プロバイダーのBitbucketは、リポジトリレベルで書き込みアクセス権を持つSSHキーを保存する可能性を(有料の標準およびプレミアム料金でも)提供していません。 個人のSSHキーを本番サーバーに保存することはできません。そうしないと、現在作業中の他のすべてのプロジェクトにそこからアクセスできます。 いわゆるアクセスキーがありますが、これらは読み取り権限のみを許可します。

.­.­.

ネットワークドライブ経由のWindowsSysinternals

Mark RussinovichによるSysinternalsのツールは、どのWindowsコンピューターにも欠けてはなりません。 常に最新バージョンを手元に置きたい場合は、ネットワークドライブとして統合できます。 コマンドnetuse s:\\ live.sysinternals.com \ DavWWWRootコマンドラインで十分です(通常のユーザーとして)。 次に、PsList、PsKill、ProcessExplorerなどの優れたツールをドライブSに移植できます。

.­.­.

クイックヒント:Googleシートとカレンダーウィーク

特定の日付の暦週を出力するときは、Google Sheetsで注意する必要があります(Microsoft Excelの場合と同様)。 関数= CALENDAR WEEK(TODAY())は、年の最初の日が常に暦週1に割り当てられるアメリカの標準を使用して計算します。 ドイツでは、これは別の方法で定義されます。ここで、最初の暦週は、少なくとも4日が新年に入る週です。 Google Sheetsでは、問題を解決できます( = SHORTEN((TODAY()-DATE(YEAR(TODAY()-REST(TODAY()-2; 7)+3); 1; REST(TODAY(TODAY( )-2; 7)-9))/ 7)および変更された= CALENDAR WEEK(TODAY(); 21) )特別に設計された関数= ISOWEEKNUM(TODAY())で簡単に。

.­.­.

Chrome58の自己署名SSL証明書

Let's Encrypt以降、暗号化されたWebサイトが標準になりました。 ローカル開発でも、SSL証明書は不可欠になっています(たとえば、 navigator.geolocationではローカルでSSL暗号化が必要です)。 Chromeのバージョン58以降、CN(共通名)のサポートは廃止され、SAN(サブジェクト代替名)が必須になりました。 その結果、Chromeは突然、従来作成されていたすべてのSSL証明書を受け入れなくなりました。

.­.­.

二人の年齢の二倍

同じ日に生まれておらず、 \(A\) \(B\)より若い2人の\(A\)\(B\)を考えてみましょう。 表示:正確に2つの年齢コンステレーション\(a,b \in \mathbb{N}\) 、適用されます: \(2\cdot a = b\) 。 我々最初のセット\(d \in \mathbb{R}^+\)の間の年齢差として\(A\)\(B\)出生時の\(A\)\( d = d_0 + d_1 \)\( d_0 \in \mathbb{N}_0, d_1 \in \mathbb{R}, d_1 \in [0;1[\) 。 ここで、 \(A\)誕生後の任意の時点\(x \in \mathbb{R}^+\) \(A\)\(x = x_0 + x_1\)\(x_0 \in \mathbb{N}_0, x_1 \in \mathbb{R}, x_1 \in [0;1[\) \(x = x_0 + x_1\)\(x_0 \in \mathbb{N}_0, x_1 \in \mathbb{R}, x_1 \in [0;1[\)

.­.­.

Gitと空のフォルダ

Gitはフォルダを認識せず、ファイルのみを認識しているため、空のフォルダ構造は最終的にリポジトリに格納されません。 ただし、多くのフレームワークやプロジェクトではこれが絶対に必要なので、最終的にはそこにあるはずです。 一般的な方法は、フォルダー構造を暗黙的に指定する、いわゆるプレースホルダーファイル(多くの場合、.gitkeepと呼ばれる)を作成することです。 これらのファイルは簡単に作成でき、必要に応じて、フォルダー内の他のファイルが無視されるようにすることもできます。

.­.­.

Herokuを使用した無料のNode.jsホスティング

Node.jsのホスティングは、特にドイツ語圏の国では、まだあまり普及していません。 アメリカのクラウド会社Herokuは、ここでソリューションを提供しています-さらには無料です。 「インフラストラクチャではなくアプリを構築する」というパラダイムに常に気づきますが、それでも制限はほとんどありません。 例として、 PhantomJSに基づく小さなcronジョブを実装しています。このジョブは、毎日Webサイトを廃棄し、ページタイトルを電子メールで送信します。

.­.­.

Cantorのペアリング機能

対角引数に加えて、Georg CantorはCantorペアリング関数\(\mathbb{N}^2 \to \mathbb{W}, \quad c(x,y) = \binom{x+y+1}{2}+x = z\)も開発しました\(\mathbb{N}^2 \to \mathbb{W}, \quad c(x,y) = \binom{x+y+1}{2}+x = z\) 、任意の2つの数値\(x,y \in \mathbb{N}\)を新しい数値\(z \in \mathbb{N}\)エンコードします。 たとえば、 \(c(3,4)=\binom{3+4+1}{2}+3 = \binom{8}{2}+3=\frac{8!}{6!\cdot 2!} +3 = 31 = z\)番号\(31\)内の番号\(3\)および\(4\)一意のコーディング。 表示:値のセット\(\mathbb{W} = \mathbb{N}\) 、つまり\(z\)はすべての自然数を想定しています。

.­.­.

地球とエンドウ豆

地球( \(r_1 = 6370km\)のボールとして)とエンドウ豆( \(r_2 = 2mm\)ボールとして)を見て、赤道上にロープを\(r_2 = 2mm\)て、表面にしっかりと配置します。 次に、両方のロープをそれぞれ1メートル長くします。 両方のロープが再び赤道上に完全に伸びているはずです-それらはもはや完全に表面上にあるのではなく、赤道上に浮かんでいます。 ロープは地表からどれくらいの高さで、エンドウ豆の上でどれくらいの高さで浮かんでいますか?

.­.­.

アナログクロックの確率

ダイヤルの右半分にあるアナログ時計の3つの手は、1日の何パーセントにありますか? まず、24時間のうち12時間(50%)ごとに右側にある時針を見てください。 この時点から、分針は12時間のうち6時間で右側(25%)になります。 この6時間のうち、秒針は右側に3時間費やしています(12.5%)。

.­.­.

Laravel:雄弁な関係を扱う

Laravelは、Eloquentを使用してデータベースとの通信を非常に簡単にします。 Eloquent Relationshipsを使用する場合、動的変数を呼び出すとき(PHPの魔法のメソッドを使用)、モデルのインスタンスは新しい変更を反映しませんが、最初に呼び出されたときに永続的に保存されることに注意してください。

.­.­.

Bitbucket:Git履歴からフォルダーを削除します

BitbucketでGitをホストする場合、2 GBのハード制限があります。これを超えると、リポジトリへの読み取り専用アクセスのみが可能になります。 これを防ぐには、たとえば、コミットから大きなフォルダまたはファイルを遡及的に削除できます。 ただし、他の場合(アクセスデータが履歴に入力された場合、またはnode_modulesがマスターに戻った場合)、Gitの性質に反して、Gitの履歴を遡及的に操作する必要があります。

.­.­.

DomainFactoryからのSSL証明書をIISに統合する

Let's Encryptの時代には、暗号化されたWebサイトが標準になりました。 ただし、特に信頼できる所有者検証を備えたワイルドカードまたは拡張証明書も必要になることがよくあります。 プロバイダーDomainFactoryは、外部でも使用できる安価なSSL証明書を提供します。 現在のIISでのセットアップは、 OpenSSLの助けを借りてCSRなしで成功します。 以下では、これに必要な手順を簡単に示します。

.­.­.

数字を推測するときの逆説的な勝利戦略

Thomas M. Coverは、1987年の「コミュニケーションと計算における未解決の問題」で次の驚くべき質問をしました。プレーヤー\(X\)は、ランダムに選択された2つの異なる自然数\(A\)\(B\)を2つの異なるものに書き込みます。一枚の紙を下向きにしてテーブルに置きます。 プレーヤー\(Y\)は、これらの紙の1つをランダムに選択し、番号を確認して、この番号がまだテーブルに裏向きになっている他の番号よりも小さいか大きいかを判断する必要があります。

.­.­.

サッカー&線形代数

サッカーの試合が始まると、ボールはフィールドの中央に置かれ、シフトとターンによってフィールドの周りを45分間移動します。 後半の初めに、ボールは再びフィールドの中央にあります。 線形代数の簡単な方法で、サーフェス上の無限の数のポイントが常に元の状態とまったく同じ位置にあるか、正確に2つあることを示します。

.­.­.

Laravel:ブレードテンプレートのデバッグ

Laravel 5でブレードテンプレートをデバッグする場合、*キャッシュされたビューを参照する意味のないエラーメッセージが表示されることがよくあります。 以前は、誰もが優れていました。バージョン4のデバッグビューには、より便利な機能が含まれており、視覚的にも優れていました。 数行のコードで、 whoops (「クールな子供のためのPHPエラー」)の助けを借りてこの機能を取り戻すことができます。

.­.­.

JavaScriptによるロゴの調和のとれた表示

参照、パートナー、顧客のいずれであっても、複数のロゴを調和して並べて表示したい場合が多くあります。 ロゴの比率はほとんど一貫していません。 デザインのサイズ表現については、直感に従うことがよくありますが、ロゴの領域を等しくすることで、視覚的に魅力的な表現を正確に計算する方法もあります。 次の例では、数行のJavaScriptでこれを行うことができます。

.­.­.

PHP / JSの変数が存在するかどうかを確認します

PHPとJavaScriptの変数を日常的に操作する場合、変数が空であるかどうかというクエリに出くわすことがよくあります。 チェックの目的で、ネイティブ関数とその違いを知ることは価値があります。 迷惑なことに、変数が存在するかどうかを直感的に確認する簡単な方法はありません。 以下のマトリックスは、これが何を意味するかを示しています。 ただし、必要なものは小さなヘルパー関数で後付けすることができます。

.­.­.

Sipgate.ioによる大規模な電話

sipgate.ioを使用して SipgateはエキサイティングなクラウドAPIを作成しました。このAPIを使用して、インターネットテレフォニーの多数のオプションを利用できます。 アカウントは無料です。また、機能ストアで無料の送信者番号を設定するオプションもあります。 sipgate.ioのドキュメントはまだ拡張可能ですが、公式のSipgate APIを少し読むだけで、エキサイティングなことをすぐに実現できます

.­.­.

SQLでの再帰

SQLに基づくリレーショナルデータベース管理システムは、条件付きで階層型クエリまたは再帰的クエリにのみ適しています。 ArangoDBなどの他のシステムここで優れています(これについてはGOTO 2016で素晴らしい話がありました)。 ただし、一般的なテーブル式を使用してSQLで再帰クエリを生成し、すべての祖先と子孫のクラシックな親/子テーブルをクエリすることもできます。

.­.­.

WordPress:アーカイブページを非アクティブ化

w3techs.comによると、現在、世界中のすべてのWebサイトの約27.4%がWordPressの助けを借りて運営されています。 多くの場合、これらはブログではありません。 WordPressは、多くの場合未使用のURLを自動的に生成し、Googleによってインデックス付けされた非常に多くのリンクを生成するため、Webサイトの運営者は画面に表示することさえできませんでした。 これらはすべて、簡単なコマンドで非アクティブ化できます。

.­.­.

PDFフォームフィールドの名前を一括で変更

私のように、何千ものフォームフィールド名の名前を変更するのが面倒な場合は、Acrobatに含まれているJavaScriptコンソールが理想的です。 これでは、JavaScriptコードを実行できるだけでなく、PDF内のすべてのコンテンツ(フォームフィールドを含む)にアクセスすることもできます。 JS APIには名前を変更するためのネイティブ関数がないため、フォームフィールドはすべてのプロパティとともにコピーされ、新しい名前が付けられます。

.­.­.

ショップウェア:バリアントの変更を修復する

Shopware 5では、既知の問題はまだ解決されていません。相互に排他的な構成オプションを使用して相互に依存するバリアントを含む記事を作成すると、フロントエンドで一部の組み合わせを選択できないため、注文できない場合があります。 プラグインの助けを借りて、問題は現時点で簡単に修正することができます。

.­.­.

素数の無限大のための1行

素数の無限大の多くの証拠があります-要素の本からのよく知られているユークリッドの定理は、基本的な数理論のコースで欠落していません。 2015年のAmericanMathematical Monthly(issue 122)で、Sam Northshieldは、1行の形式で、それほどエレガントな矛盾の証拠を公開しました。

.­.­.

Windowsコマンドラインを明るくする

鈍いWindowsコマンドプロンプトは、いくつかの簡単な手順で視覚的にアップグレードできます。 そのため、コマンドラインの色とサイズを調整できるだけでなく、機能的に拡張することもできます(バッファーを増やし、多数のUNIXツールをインストールします)。 コマンドプロンプトはPowerShell6.0または新しいWindows10 Bash Shellに近づきませんが、日常のタスクのために非表示にする必要はありません。

.­.­.

Joomlaの動的URL

コンテンツ管理システムでは、URLは常に事前に固定されているとは限らないため、事前に静的に作成されるのではなく(投稿またはメニュー項目として)、データベースのオブジェクトをアドレス指定します。 WordPressと同様に(ここで説明)、Joomlaで動的URL構造を構築することもできます(内部エイリアスシステムとは無関係)。 ここではJRouterを使用できます。または、.htaccessでワンライナーを使用できます。

.­.­.

JavaScript PasteJacking

最新のブラウザは、JavaScriptを使用してユーザーのクリップボードの読み取りと書き込みを行うことができます。つまり、JavaScriptを操作することもできます。 基盤となるテクノロジーはすでに古いものですが、インターネット上で(「PasteJacking」という名前で)攻撃がますます増えており、経験の浅いユーザーにとってこの可能性を利用しています。 JavaScriptでの実装は平凡です。

.­.­.

PostgreSQLの列を入れ替える

SQLテーブル列の交換は、MySQLの標準レパートリーの一部です。これは(まだ)PostgreSQLではサポートされていません。 公式ウィキは独自の記事を問題に捧げていますが、ビュー、インデックス、トリガーもサポートする実用的なソリューションを示していません。 次のクラスは、コマンドラインで(またはLaravel 5で直接)このジョブを実行します(MySQLとPostgreSQLの両方)。

.­.­.

Windowsエクスプローラーのクイックヒント

Windows Explorerのフォルダでコマンドプロンプトをすばやく開きたい場合は、マウスの右ボタンで(1レベル上)クリックし、フォルダのShiftキーを押したまま、コンテキストメニューから[ここでコマンドプロンプトを開く]を選択します。 フォルダ内にいるときに、別のより高速な方法を見つけました。ここで、現在のフォルダパスをクリックし、「cmd」と入力して、Enterキーを押して確定します。

.­.­.

WordPressカテゴリ:ツリービュー/継承

WordPressで階層カテゴリ(分類)を操作する場合、一方ではバックエンドでのチェック済みカテゴリの表示が混乱し、他方では、投稿が子カテゴリに配置されている場合、投稿が自動的に親カテゴリに分類されないことに気付くでしょう。 強力なフックシステム(アクションとフィルターの形で)を使用して、わずか数行のコードで両方をまっすぐにすることができます。

.­.­.

PHP7と宇宙船オペレーター

スカラーデータタイプのタイプヒント最適化されたパフォーマンスなどの新機能に加えて、PHP 7には、多くの新しい便利な言語拡張機能も備わっています。 「宇宙船オペレーター」はついにPHPの世界に入りました(RubyとPerlのプログラマーは長い間それを知っていました)。 \($a <=> $b\)は、両方のオペランドが等しい場合にのみ\(0\) \($a <=> $b\)返し、左側のオペランドが大きい場合は\(1\) \($a <=> $b\)返し、それ以外の場合は\(-1\)返します。

.­.­.

IIS 7.5 PHPFastCGIタイムアウト

IIS 7.5でFastCGIを介してPHPを統合する場合、各スクリプトはデフォルトで600秒(10分)後に中止されます。 php.iniの既知の変数「max_execution_time」を変更しても、これには影響しません。FastCGI設定を調整する必要があります。 このため、IISは、関連する変数を管理するための快適なインターフェイスを提供します。

.­.­.

確率論のパラドックス

確率の条件付き理論は、直感に反する解決策を備えた美しいタスクをもたらします。 よく知られている兄弟の問題に加えて、別の例を簡単に説明します。「現在、2人の子供がいます。一方は男の子で、木曜日に生まれました。もう一方の子供も男の子である確率はどれくらいですか?」

.­.­.

Git、Shopware、および空のフォルダー

Gitファイルバージョン管理システムは、無駄がなく、高速で、移植性があります。 Gitは常にオブジェクト、つまりファイルを処理します。 フォルダは、ファイルが含まれている場合にのみ作成されます。それ以外の場合、Gitはそれらを記録しません。 これは、いくつかのプロジェクトで不快な副作用があります。 たとえば、Shopwareショップシステムは、機能するためにフォルダ構造を厳密に順守することに依存しています。

.­.­.

ショップウェア:個別の送料

Shopwareには、計算に具体的に介入できる強力な送料モジュールがあります。 この場合、次のシナリオを実装します。記事ごとの送料は、最初に記事の重量に応じて決定されます(重量制限が指定されています)。 特別な例外がある場合にのみ、各アイテムに固定送料を設定できるようにする必要があります。

.­.­.

WordPressの動的パーマリンク

WordPressパーマリンクシステムは、構造タグの助けを借りて、あなた自身のニーズに非常にうまく適合させることができます。 %postname%の設定は、おそらく最も一般的で実用的なソリューションです。 ただし、実際の動的リンクを実装する場合は、最初に独自のコードでシステムを拡張する必要があります。

.­.­.

WordおよびExcelの破損したハイパーリンク

Word / Excelドキュメントからハイパーリンクを開くと、標準のブラウザが目的のURLで起動すると思われます。 不思議なことに、これは当てはまりません-不快な副作用を引き起こし、前述のオフィスプログラムのセッション/ Cookieベースのログイン保護ページへのリンクを不可能にします。

.­.­.

父の日のパラドックス

今日の父の日のために、娘は彼女の父が彼女の父が切望していた彼女自身を描いた絵を彼女の父に与えています。 娘は「あなたが望んでいた写真をあなたにあげます。私のプレゼントは驚きです」と言います。 父親は驚いて、この声明の真実を熟考します。

.­.­.

HTTPSを使用する場合と使用しない場合の動的スクリプトの統合

暗号化されていないスクリプトを<head>領域に含め、既存のSSL証明書が暗号化されたページを呼び出すと、これらのスクリプトはブロックされるため、実行されません。 プロトコルを単に省略した場合、Webサイトがhttps経由でアクセスされると、すべてのスクリプトが暗号化された形式で自動的に呼び出されます。//-それ以外の場合は暗号化されません。

.­.­.

ドロップダウンメニューの使いやすさ

多次元のドロップダウンメニューを操作する場合、間違ったサブメニューが誤って開かれたり、目的のサブメニューが誤って閉じられたりするという問題が発生することがよくあります。 この効果は、すでに展開されているサブメニューに移動しているときに、マウスポインタがトップレベルの対応するメニューを離れたときに発生します。

.­.­.

ショップウェア:バリアントを自動的に非アクティブ化

Shopwareでは、すべてのバリアントの在庫レベルが0以下の場合、実際の注文に対して記事全体が非アクティブ化されます。 これをバリアントベースで実装するために、小さなプラグインをプログラムしました。Bootstrap.phpを以下に示します。

.­.­.

SSLを使用したダブルパスワードクエリ

次のコンステレーションには常に不快な副作用があります。サイトをhtaccess / htpasswdで保護し、同時にSSL接続を強制する場合は、常に同じパスワードを2回入力する必要があります(httpの場合は1回、httpsの入力が成功した後)。 Apache 2.4で導入された構成セクションの助けを借りて、問題に簡単に対処できます。

.­.­.

JavaScriptの複数行の文字列

JavaScriptを使用してプログラミングする場合、コードの数行に複数行の文字列を入力しても、複数行の文字列を実現できないことに気付くことがよくあります。 PHPやRubyなどの他の言語でのタスクは問題ではありませんが、JavaScriptを使用すると、最初は回避策を回避することしかできません。回避策の使用は、個人的な好みやブラウザーのサポートによって決定されます。

.­.­.

UTF-8とumlautsを使用したPHPのメール()

PHPを使用した電子メールの送信は、 PHPMailerなどの強力なクラスを使用して実装するのが最適です。 便利なラッパー機能により、UTF-8コンテンツの使用、画像の埋め込み、数行のコードで暗号化された添付ファイルの送信が可能になります。 オーバーヘッドを節約したい場合で、推奨事項に反して、PHP関数mail()を使用すると、遅くともumlautsとUTF-8を使用するときに問題が発生します。

.­.­.

GooglePageSpeedインサイトとグーグルアナリティクス

W3C Markup ValidationServiceGooglePageSpeedInsightsなどの検証ツールは、Webサイトのコードとパフォーマンスを客観的に評価するのに役立ちます。 特にGoogleは、上記のような概念で業界全体に影響を与えています。また、画像の圧縮とキャッシュに関する厳密で有用なガイドラインも提供しています。 しかし、Googleが自力で踏み出すこともあり得ます。

.­.­.

ようこそJavaScript2.0

JavaScriptはWebとECMAScriptを支配し、言語のコアは成長しています。 今年の半ばに予定されている新しい仕様(ES6またはJS2)は、今日すでに試してみることができる多くの革新をもたらします。 Firefoxは、現在持っている最高のサポートを、しかし、のような、いわゆるtranspilersてpolyfillsグーグルTraceurはまた可能です。 以下は、ES6の新機能の概要です。

.­.­.

0,99999... = 1?

学校でも大学でも:次の方程式が正しいかどうかという質問が\( 0,99999... = 1 \)\( 0,99999... = 1 \)興味深い質問: \( 0,99999... = 1 \) 。 方程式の左側では無限大が\(0,99999... = A\) 、名前を付けます: \(0,99999... = A\) 。 係数\(10\)と単純な代数変換を掛けた後、最初の驚くべき洞察が得られます。

.­.­.

SQL:インデックスにもかかわらずパフォーマンスが低い

SQLデータベースの次のパフォーマンスの問題に直面しました。約1,000,000エントリの「users」と呼ばれるSQLテーブルで、今日の登録数の決定に許容できない28秒かかりました。 登録の時間は、「作成済み」列に「Ymd H:i:s」形式で保存されました。

.­.­.

小さなチェスの問題

よく知られている騎士の問題女王の問題に加えて、チェスの世界には他にも多くの刺激的な質問があります。 以前のブログエントリで2つの小さな好奇心に触れました。 チェスの問題を数学的に扱うと、数学が多くの質問に対して非常に単純でわかりやすい答えを提供することがすぐにわかります。

.­.­.

OneDriveでオンラインで利用可能なファイル

場合 OneDrive, ドロップボックス, グーグルドライブ, OwnCloud, Box.net: ファイルを保存するボックスに関係なく、サービスはほとんど同じです。 すべてのデスクトップおよびモバイルシステムで使用可能なクライアント、標準の暗号化されていないファイル、および共有オプションは、わずかに異なります。 ただし、Windows 8.1以降システムに永続的に統合されているOneDriveには、オンラインで利用できるファイルのみという特別な機能があります。

.­.­.

PHP:Windowsでのumlautsを使用したファイルアクセス

Webサーバー上のファイルは、常にスペースなし( "this is a picture.jpg"ではない)、umlautsまたは特殊文字( "football.jpg"ではない)、バックスラッシュ( "Arbeit \ Auto.jpg"ではない)、小文字( ""ではない)である必要があります。 test.JPG ")。 しかし、最近、顧客プロジェクトの任意のファイル名を持つ多数のファイルにアクセスして処理する必要がありました。

.­.­.

ランキングリストを決定するためのSQLクエリ

今日、私は顧客プロジェクトに取り組んでいるときに次のタスクに遭遇しました。列「id」と「score」を持つSQLテーブル「user」を取得し、「score」に基づいてすべてのユーザーのランキングを決定します。同じスコアで同じランキングを取得します。 このタスクは、ユーザー定義変数を使用して直感的かつ簡単に解決できます

.­.­.

Facebook SDK:サーバー側でトークンを確認する

Facebook SDKを使用する場合(より正確には、RESTインターフェイス内にFacebookログイン機能を実装する場合)、クライアントがFacebookから受け取ったトークンは、以降の操作を実行する前に、サーバーによって有効性を確認する必要があります。 。

.­.­.

Chrome DevTools:DOM要素に対処する

Chrome、Firefox、Opera、Safari、さらにはInternet Explorer:十分に設計された開発者ツールは、数年前までFirefoxと人気のFirebugプラグインのユニークなセールスポイントでしたが、強力な開発者ツールは現在、すべてのブラウザの標準スコープの一部であり、発見することがたくさんあります。与える。

.­.­.

SQLを使用したファイルシステムへのアクセス

MySQLで、ファイルシステムを利用して、ファイルやフォルダの存在やその内容などの貴重な情報を取得するための優れたオプションに出くわしました。 これは、php関数file_existsの代わりとして非常に役立ちます。これは、ファイルの存在に関する情報を、さらに並べ替えおよび集計関数のクエリで引き続き使用できるためです。

.­.­.

キャンバスでアニメーション化された背景

アニメーション化されたベクターの背景は、フルスクリーンの写真やビデオを特徴とするWebランドスケープに多様性を加えることができます。 これがロード時間と幅広いハードウェアおよびソフトウェアのサポートと密接に関連していると便利です。 1つの解決策はキャンバスです。 JavaScriptによって制御されるHTML要素は、現在のすべてのブラウザーでサポートされており、モバイルデバイスで高性能に再現されます。

.­.­.

HTML要素のアスペクト比を修正

Web開発者は、たとえばimg要素とは対照的に、サイズもアスペクト比も固定されていないHTML要素を操作するのが恥ずかしいことがよくあります。 多くの場合、これらのオブジェクトが応答して動作することを実現したいが、幅と高さの比率は維持されます。 CSSは、デフォルトでは、ここでは直感的なソリューションを提供していません。 しかし、垂直パディングプロパティの助けを借りて、あなたはあなたの目標を達成することができます。

.­.­.

ストック写真の使用に関する裁判所の判決

ケルン地方裁判所が先週RedTubeスキャンダルに戻って、物議を醸すIPアドレスの放棄を承認することを決して許可されなかった後、それは決定14 O 427/13で別の非常に物議を醸す疑わしい判断を提供します:ストックの著者-特定の写真エージェンシーからの写真にも、URLを介してその写真に直接アクセスして名前を付ける必要があります。

.­.­.

さようならブロック&インライン-ようこそHTML5

HTML5仕様の革新は数多くあり、それらの多くはすでにブラウザランドスケープの大部分でサポートされています。以下では、要素をネストするためのルールに対する興味深い変更を強調したいと思います。 HTMLは常にブロック要素とインライン要素を区別してきました。 たとえば、HTML4のドキュメントタイプ定義では、ブロック要素としてh1、p、およびdivを指定し、インライン要素としてa、span、imgを指定します。

.­.­.

IISおよびApacheでのHTTPロギング

Unix上のApacheとWindowsシステム上のIISはどちらも、HTTPリクエストをファイル形式ですぐにログに記録します。 自分のWebサイトへのリクエストは、ハッキング攻撃から保護するために、手動および自動で定期的に評価および分析するだけでなく( AWStatsなどのログファイルアナライザーによって)行う必要があります。 広く使用されている構成での関連するログファイルのパスは、たとえば次のとおりです。:

  • /var/log/apache2/access.log (例:Ubuntu 12.04、Apache 2.2)
  • C:\inetpub\logs\LogFiles\W3SVC1\u_ex<YYMMDD>.log (例:Windows Server 2012 R2、IIS 8.5)
.­.­.

Joomla、IISおよびディレクトリ権限

Windows Server 2008R2上のJoomla3.2をIIS7.5と統合すると、ディレクトリ権限に関する問題が発生することがよくあります。これは、あまりにも寛大に選択された設定では不十分に解決されることがよくあります。 次のソリューションは安全で完全に機能します:

  • IIS_IUSRSグループには、C:\ inetpub \ wwwroot \:読み取りと実行、フォルダーの内容の表示、読み取り、書き込みの権限が必要です。
  • IIS_IUSRSグループには、C:\ Windows \ Temp \:読み取りと実行、フォルダーの内容の表示、読み取り、書き込みの権限が必要です。
  • ユーザーIUSRはIIS_IUSRSグループに属している必要があります([コンピューター管理]> [ローカルユーザーとグループ]> [グループ])

PHPを介してアップロードされたすべてのファイル(SSHやFTPなど)に対してさらに特別なディレクトリ権限が必要な場合は、フォルダC:\ Windows \ Temp \にこれらを設定することもできます。 PHPを介してファイルをアップロードする場合、PHPは最初にこのファイルを一時パスにコピーし、次に最終パスにコピーします。 ファイルが一時ディレクトリに到着した場合、ファイルはその権限を継承し、最終ディレクトリに移動した後もそれらを保持します。

.­.­.

匿名オンライン:不可能ですか?

NSAスキャンダルの時代に、当局や秘密サービスのデータ収集マニアから逃れるために、匿名でネットワークをナビゲートできるかどうか、そしてどのようにナビゲートできるかを考えているのは、ネットワークに精通したユーザーだけではありません。 ただし、これは多くの場合、エラーや誤った仮定につながります。 中心的な誤解は、IPアドレスの難読化に対する匿名性の低下です。

.­.­.

McFIT-新しいロゴ、新しい画像

ディスカウントフィットネスチェーンMcFITはそれ自体を一新しました。 バナナの形をした明るい黄色のマスコットが青い文字を飾りましたが、無煙炭色の背景にある黄色の弓が巧みに互いにループし、抽象的な構造を形成しています。 FDPの色である青と黄色は、ロゴだけでなく、他のすべてのMcFITブランドの印刷物にも取って代わられます。

.­.­.

Photoshop:時間を遡る

ThomasとJohnKnoll兄弟が1987年にAdobePhotoshopの開発を始めたとき、私はまだ生まれていませんでした。 今日、2013年には、このソフトウェアは一般的に最も人気のあるプログラムの1つであり、画像編集における誰もが認めるマーケットリーダーです。 AdobeとComputerHistory Museumのおかげで、ソフトウェアは後世のために非常に特別な形で保存されるようになります。

.­.­.

王のゲームにおける好奇心

チェスは何世紀にもわたって人々を魅了してきました-そのルールは簡単に習得でき、その信じられないほどの深さは経験豊富なプレイヤーだけがアクセスできます(残念ながら私は彼らの一人ではありません)。 以下では、2つの簡単な質問に対処します。正しい一連の動きによって、黒の王が2人の白の女王に同時に攻撃される位置に到達することは可能ですか? これは2つの白い塔でも可能ですか?

.­.­.

大ヒットの代わりにDocu-soap:48fps

映画は通常、毎秒24フレームで記録および再生されますが、ほぼ100年前の標準フォーマット「24p」がぐらつくようです。 24fpsプロジェクションの不快な副作用(中速カメラパン中の強いけいれんなど)を防ぐために、フレームレートを48フレーム/秒以上に2倍にする作業が長い間行われてきました。

.­.­.

ウェブサイトでスペルを確認する

自動スペルチェックと文法チェックは現在、単語処理プログラムの標準装備ですが、Webサイトのスペルチェックを自動的にチェックすることは、これまで比較的面倒でした。 Google Chromeは、複数行の入力フィールド(textarea)の統合チェックにより、この方向への第一歩を踏み出しました。 現在、これをWebサイト全体で可能にするサービスがあります。

.­.­.

リンク内の電話番号-セキュリティリスク?

数週間、訪問者が電話番号をタップしてモバイルデバイスで電話アプリを開くことができるようにする方法について報告しました。 現在、SIMカードを取り返しのつかないほどブロックしたり、ユーザーが何もしなくてもデバイスを工場出荷時の設定にリセットする可能性が出てきました。

.­.­.

興味深いメールの好奇心

行きたい場所に確実に到達するために、ドメイン名と電子メールアドレスは常に小文字にする必要がありますか? それとも、これは完全に無関係ですか? たとえば、Googleメールサーバーには、興味深い効果を持つ奇妙な設定があります。これについては、次の記事で簡単に紹介します。

.­.­.

日常のトピックにおける証券取引所価格の設計

私はドイツのテレビのさまざまな番組のデザインを綿密にフォローしています。 企業の設計を永続的に保持するプログラムはほとんどありません。 午後10時15分にテレビ画面の前で行われるその日のトピックに関する会議の夜の儀式は、最近私に腹痛を引き起こしています。ここ数か月間、現在の証券取引所の価格の表示には、完全に紛らわしい配色が選択されています。

.­.­.

電話番号を正しくリンクする

独自のWebサイトをモバイルデバイス用に最適化する場合は、さまざまな画面サイズ、最適化された読み込み時間、操作の特別な機能(ホバー効果など)に注意を払うだけでなく、デバイスの特別な機能も考慮する必要があります。 これには、電話をかけることも含まれます(一部の人は忘れているかもしれません)。

.­.­.

ブログのコンテンツが重複している

多くの場合、異なるWebサイトの同じコンテンツがGoogleによって罰せられます。それでも、Googleアルゴリズムはインテリジェントであり、ヘッダーとフッターの要素が同じままであるかどうか、または異なるURLでテストパッセージ全体に2回到達できるかどうかを認識します。 エキサイティングな質問は、Googleがブログ記事の概要ページをどのように扱うかです。

.­.­.

WordPressのセキュリティを強化する

現在最も人気のあるコンテンツ管理システムWordPressのセキュリティは、2本の小さなネジを回すことで大幅に向上させることができます。 5分と2行のコードしかかかりません。 この問題はさまざまなプラグインで解決できますが、私は意図的にプラグインのないソリューションに限定しています。

.­.­.