Блог

Думки, досвід і рішення про розробку та не тільки.

google-oauth-and-email-verification-when-authentication-flows-should-differ.png
Laravel

Google OAuth and Email Verification: When Authentication Flows Should Differ

Password login and Google OAuth can provide different guarantees about an email address, so one post-login verification rule is not always correct. This article covers when local email verification is needed, when it may be redundant, and why disabled verification should not accidentally block OAuth users.

9
how-automatic-ssh-tunnels-can-lock-you-out-of-your-own-server.png
DevOps

How Automatic SSH Tunnels Can Lock You Out of Your Own Server

SSH can stop accepting new connections even while the server is reachable, the website works, and sshd is active. One less obvious cause is an automatic SSH tunnel that reconnects too aggressively and hits an UFW LIMIT rule.

10
why-unknown-source-does-not-always-mean-your-analytics-is-broken.png
Laravel

Why "Unknown Source" Does Not Always Mean Your Analytics Is Broken

A missing traffic source does not always mean data was lost. Direct visits, copied links, messengers, mobile apps, or stripped referrers may legitimately leave the source unknown. The key is distinguishing genuinely unavailable attribution from failures in your own tracking.

13
upgrading-php-for-one-dockerized-project-without-breaking-another.png
DevOps

Upgrading PHP for One Dockerized Project Without Breaking Another

When several Dockerized projects share one machine, a PHP upgrade should remain a local change to one environment. Isolated runtimes, separate workspace containers, clear service naming, and Composer compatibility checks help prevent one project upgrade from silently breaking another.

22
run-deployment-preflight-before-maintenance-mode-not-after.png
DevOps

Run Deployment Preflight Before Maintenance Mode, Not After

If the build, dependencies, configuration, or basic checks can fail before production state changes, there is no reason to make the site unavailable first. Maintenance mode should begin only after preflight passes and only for steps that truly require a short downtime window.

19
when-a-read-only-admin-page-should-query-the-settings-table-directly.png
Laravel

When a Read-Only Admin Page Should Query the Settings Table Directly

If an admin page only displays the actual stored settings state, while multiple groups share one table, loading every Settings class may be unnecessary. For a read-only view, querying the table directly can be simpler and more precise without turning that shortcut into a write path.

29
one-off-import-scripts-are-production-code-too.png
DevOps

One-Off Import Scripts Are Production Code Too

A script that runs only once can still create duplicates, assign the wrong category, publish internal identifiers, or break bilingual content structure. If it changes production data, it deserves the same defensive thinking as regular application code.

29