en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels πŸ‘‰ If you want to see the tag, subscribe πŸ‘ˆ

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

Open in Telegram

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΎ Frontend, Backend ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ DevOps. Π’ основном ΠΎ #PHP, #Laravel, #JavaScript, #HTML, #CSS, тСстировании ΠΈ настройкС сСрвСров. https://www.dev-notes.ru @snakenf

Show more
Buy Ad
463
Subscribers
No data24 hours
-37 days
+130 days
Posts Archive
Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ для схСм Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… являСтся использованиС ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ записСй. Однако этот ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСпосрСдствСнно Π² URL-адрСсах ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π—Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ записи. Π­Ρ‚ΠΎΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π°Ρ‚Π°ΠΊΠΈ часто упускаСтся ΠΈΠ· Π²ΠΈΠ΄Ρƒ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… прилоТСниях. НСобходимо Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ случайным столбцом UUID v4, Π·Π°ΠΌΠ΅Π½ΠΈΠ² ΠΈΠΌ числовой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² URL. https://www.dev-notes.ru/articles/database/uuid-prevent-enumeration-attack/

πŸ’ АвторскиС Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Ρ‹ ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ IT Π² Ρ†Π΅Π»ΠΎΠΌ БСйчас врСмя, ΠΊΠΎΠ³Π΄Π° Π½Π° нас Π»ΡŒΡ‘Ρ‚ΡΡ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Компаний Π±ΠΎΡ€ΡŽΡ‚ΡΡ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ людСй. А Ρ‚ΡƒΡ‚ Π΅Ρ‰Ρ‘ Ρ‚Π°ΠΊ ΡƒΠ΄Π°Ρ‡Π½ΠΎ появились Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ИИ. И ΠΊΠ°ΠΊ ΠΈΡ‚ΠΎΠ³ β€” ΠΊΡƒΡ‡Π° нСкачСствСнного Π±Π΅Π·Π΄ΡƒΡˆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. ΠžΡΡ‚Π°Ρ‘Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΆΠΈΠ²Ρ‹Π΅ авторскиС ΠΊΠ°Π½Π°Π»Ρ‹, Π³Π΄Π΅ люди ΠΏΠΎΠΊΠ° Π΅Ρ‰Ρ‘ ΠΏΠΈΡˆΡƒΡ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΡ‚ сСбя ΠΈ дСлятся своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ. На днях ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ» Ρ€ΠΎΠ·Ρ‹Π³Ρ€Ρ‹Ρˆ Π±ΠΈΠ»Π΅Ρ‚Π° Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡŽ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ± авторских Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π°Ρ…. ΠŸΡ€ΠΈΡΠ»Π°Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»ΠΎΠ², ΠΎΡ‚ΠΎΠ±Ρ€Π°Π» Π°ΠΉΡ‚ΠΈΡˆΠ½Ρ‹Π΅. О ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π½Π΅Π΅ Π½Π΅ ΡΠ»Ρ‹ΡˆΠ°Π». β€’ Π”ΠΈΠ΄ΠΆΠΈΡ‚Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉ! β€” АлСксСй Π“ΠΎΠ»ΠΎΠ±ΡƒΡ€Π΄ΠΈΠ½ β€’ PHP Fart Time β€” АлСксСй Π“Π°Π³Π°Ρ€ΠΈΠ½ ΠΈ ПавСл Π‘ΡƒΡ‡Π½Π΅Π² β€’ Π“Π°Π»Π΅Ρ€Π° ΠœΠΎΡ€Π΅Π²Π° β€” Антон ΠœΠΎΡ€Π΅Π² β€’ ПЫΠ₯ ΠΈ PHP ΡƒΠΌΠΈΡ€Π°Π΅Ρ‚?! β€” Π’Π°Π»Π΅Π½Ρ‚ΠΈΠ½ Π£Π΄Π°Π»ΡŒΡ†ΠΎΠ² β€’ ΠŸΡΡ‚ΠΈΠΌΠΈΠ½ΡƒΡ‚ΠΊΠ° PHP β€” ΠŸΡ‘Ρ‚Ρ€ Мязин β€’ adelf on programming β€” АдСль Π€Π°ΠΉΠ·Ρ€Π°Ρ…ΠΌΠ°Π½ΠΎΠ² β€’ ebanoePHP β€” Артур ΠŸΠ°Π½Ρ‚Π΅Π»Π΅Π΅Π² β€’ SOER β€” Π•Π²Π³Π΅Π½ΠΈΠΉ Π‘Π΅Ρ€Π³Π΅Π΅Π² β€’ igancev.ru ΠΈ phpinfo(); β€” Иван Π“Π°Π½Ρ†Π΅Π² β€’ ArturKryukov video β€” Артур ΠšΡ€ΡŽΠΊΠΎΠ² β€’ emacsway-log β€” Иван ЗакрСвский β€’ Evgeniy Kuvshinov β€” Π•Π²Π³Π΅Π½ΠΈΠΉ ΠšΡƒΠ²ΡˆΠΈΠ½ΠΎΠ² β€’ ElisDN.ru β€” Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ ЕлисССв β€’ samdark blog β€” АлСксандр ΠœΠ°ΠΊΠ°Ρ€ΠΎΠ² β€’ dependency hell β€” Антон ΠšΡƒΡ‡Π΅Ρ€ΠΎΠ² β€’ Tolstoy Live β€” Π•Π³ΠΎΡ€ Волстой β€’ johenews β€” Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ ΠšΠΎΠ²Π°Π»Ρ‘Π² β€’ Вастрик.ΠŸΡ‹Π½ΡŒ β€” Василий Π—ΡƒΠ±Π°Ρ€Π΅Π² β€’ Beer::PHP β€” ΠšΠΈΡ€ΠΈΠ»Π» Булимовский β€’ agoalofalife β€” Илья Π§ΡƒΠ±Π°Ρ€ΠΎΠ² β€’ Alek OS β€” АлСксандр Осадин β€’ Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β€” АлСксСй Лоскутов β€’ Башок Π“ΠΎΡ€ΡˆΠΎΠΊ (DEV & MGMT) β€” АлСксандр Π―ΠΊΠΎΠ²Π»Π΅Π² Мой ΠΊΠ°Π½Π°Π» Ρ‚ΠΎΠΆΠ΅ упомянули β€” Π‘Π΅Ρ€Π³Π΅ΠΉ ΠŸΡ€Π΅Π΄Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅Π², такая Π²ΠΎΡ‚ рСкурсия πŸ˜€ ❀ РСпост привСтствуСтся.

PHP ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ваТнСйшими инструмСнтами для эффСктивного ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΈ манипулирования структурами Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ массивы, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Ρ‚.Π΄. Они ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ чистый ΠΈ эффСктивный способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими массивами Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ всСго массива Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим PHP ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ ΠΈΡ… использованиС для ΠΎΠ±Ρ…ΠΎΠ΄Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… структур Π΄Π°Π½Π½Ρ‹Ρ…. https://www.dev-notes.ru/articles/php/php-iterators-for-walking-through-data-structures/

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ срСды Laravel ΠΏΠΎΠ΄ Windows, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Vagrant/Homestead, Laravel Sail ΠΈΠ»ΠΈ Laragon, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ рСсурсоёмкими. Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Π±ΠΎΠ»Π΅Π΅ Π½Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ установку, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ! Нам ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя выполнСния слоТных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с 13 с. Π΄ΠΎ 1,5 с., Ρ‡Ρ‚ΠΎ составляСт прирост ΠΎΠΊΠΎΠ»ΠΎ 800%! https://www.dev-notes.ru/articles/devops/how-to-setup-a-real-fast-local-laravel-development-environment-for-windows/

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ declare(strict_types=1), ΠΊΠΎΠ³Π΄Π° PHP Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ стоит Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π° ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ. Вакая установка обусловлСна слабо Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ€ΠΎΠ΄ΠΎΠΉ PHP ΠΈ растущим спросом Π½Π° строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ возмоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ популярныС языки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Java. ОбС стратСгии Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ (слабая ΠΈ строгая) ΠΈΠΌΠ΅ΡŽΡ‚ свои ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся Π² ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ. https://www.dev-notes.ru/articles/php/why-use-declarestrict-types-1-in-php/

Π― написал A Modern CSS Reset ΠΏΠΎΡ‡Ρ‚ΠΈ 4 Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄, ΠΈ, Π΄Π°, ΠΎΠ½ Π½Π΅ слишком Ρ…ΠΎΡ€ΠΎΡˆΠΎ сохранился. НСсколько Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ я Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ Π½Π° Π½Π΅Π³ΠΎ снова ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ, ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ, вСроятно, это Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ идСя β€” ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. Π― знаю, Ρ‡Ρ‚ΠΎ Ρƒ мСня уТасный послуТной список Π² области сопровоТдСния open source. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π·Π°Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» ΠΈ просто ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ это вмСсто Π½Π΅Π³ΠΎ. Π”Π΅Π»Π°ΠΉΡ‚Π΅ с Π½ΠΈΠΌ Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅! Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ ясным, это сброс CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для мСня ΠΈ для нас Π² Set Studio. Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° я Π³ΠΎΠ²ΠΎΡ€ΡŽ "ΠΌΡ‹", я имСю Π² Π²ΠΈΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π½ΠΎ нас. https://www.dev-notes.ru/articles/css/a-more-modern-css-reset/

Π’ Laravel валидация Ρ„ΠΎΡ€ΠΌ являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ для обСспСчСния бСзопасности ΠΈ точности ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ FormRequest ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ эту Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ хранятся Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ классС, Π° Π½Π΅ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΈ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, связанныС с запросом, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠΎΠ»Π΅. https://www.dev-notes.ru/articles/laravel/form-requests-deep-dive/

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ зависимостСй Composer являСтся Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ способом управлСния зависимостями Π² PHP-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. Вся соврСмСнная PHP-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° нСмыслима Π±Π΅Π· Composer. Но Π·Π½Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Composer ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ΅, ΠΊΡ€ΠΎΠΌΠ΅ установки ΠΈ обновлСния зависимостСй? ИмСнно Ρ‚Π°ΠΊ! Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡŽ Ρ‚Π°ΠΊΠΈΠ΅ возмоТности Composer, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ Π·Π½Π°Π»ΠΈ. И ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π² Composer. https://www.dev-notes.ru/articles/php/lesser-known-composer-tricks-tips/

Frontend-прилоТСния ΠΈΠ³Ρ€Π°ΡŽΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² обСспСчСнии бСспСрСбойной Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π’ соврСмСнной взаимосвязанной сСти, Π³Π΄Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСны сторонниС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ API, обСспСчСниС Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠΉ бСзопасности ΠΈΠΌΠ΅Π΅Ρ‚ пСрвостСпСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ бСзопасности ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΊΡ€Π°ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, нСсанкционированному доступу ΠΈ ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΡŽ Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΠΈ Π±Ρ€Π΅Π½Π΄Π°. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ расскаТСм Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CORS ΠΈ CSP для обСспСчСния бСзопасности Π²Π°ΡˆΠΈΡ… Π²Π΅Π±-страниц. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π½Π΅Π΄Ρ€Ρ‘Π½ врСдоносный скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΡ…ΠΈΡ‰Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ пСрСнаправляСт ΠΈΡ… Π½Π° ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ сайты. Π‘Ρ‚Ρ€Π°ΡˆΠ½ΠΎ, ΠΏΡ€Π°Π²Π΄Π°? Но Π½Π΅ стоит Π±ΠΎΡΡ‚ΡŒΡΡ! ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ рСализация CORS ΠΈ CSP позволяСт Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ наши frontend прилоТСния ΠΈ ΠΎΠΏΠ΅Ρ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠ³Ρ€ΠΎΠ·Ρ‹. https://www.dev-notes.ru/articles/security/securing-front-end-apps-with-cors-and-csp/

ΠœΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² сплитов для получСния Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ области просмотра. Устали ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ сплитов Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΌΠΈ? ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр сплитов ΠΈΠ»ΠΈ список быстрых исправлСний Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹? Π Π°Π·Π΄Ρ€Π°ΠΆΠ°ΡŽΡ‚ слишком Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ строки Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сплита? НуТно Π΅Ρ‰Ρ‘ нСсколько строк Π² ΠΎΠΊΠ½Π΅ :Git, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ понятно, Π½Π° Ρ‡Ρ‚ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ? Π’ Vim мСня это сильно Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ°Π»ΠΎ. Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ я Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½Π½ΠΎ мирился с этим. https://www.dev-notes.ru/articles/vim/resize-splits/

ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SQL ΠΎΡ‡Π΅Π½ΡŒ просто. Однако ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠΆΠ½Ρ‹ зависимыС соСдинСния, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ лишь нСбольшоС подмноТСство Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ LATERAL соСдинСния Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ воспроизвСдён Π² SQL. ΠŸΡ€ΠΈ объСдинСнии Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† строки ΠΎΠ±Π΅ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой Π½Π° основС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… условий. Однако Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, трСмя послСдними ΠΊΡƒΠΏΠ»Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ покупатСля, стандартноС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ соСдинСниС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ: ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½Π½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΊΡƒΠΏΠ»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ трСмя строками для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ покупатСля. Π’Π°ΠΊ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ объСдинСниС, Π² Π½Π΅Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ всС строки, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ критСриям объСдинСния. Но ΠΏΡ€ΠΈ Π»Π°Ρ‚Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ присоСдинСнии вмСсто Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ присоСдинён подзапрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ покупатСля, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ эквивалСнтному Ρ†ΠΈΠΊΠ»Ρƒ for-each Π² SQL. https://www.dev-notes.ru/articles/database/for-each-loop-lateral-join/

Π’ Laravel Ρ„Π°Π±Ρ€ΠΈΠΊΠΈ ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. https://www.dev-notes.ru/articles/eloquent/factory-relations-deep-dive/

Π’ΠΈΠΏ null являСтся Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ PHP, Ρ‚.Π΅. ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: null. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим всС способы Ρ€Π°Π±ΠΎΡ‚Ρ‹ со значСниями null Π² PHP. https://www.dev-notes.ru/articles/php/all-the-ways-to-handle-null-values/

Если Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡Π°Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с UUID, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΌΠ°Π»ΠΎ вопросов ΠΎ Π½ΠΈΡ…. ΠœΡ‹ постараСмся ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённыС ΠΈΠ· Π½ΠΈΡ…. https://www.dev-notes.ru/articles/laravel/uuid-in-laravel-common-questions/

Π§Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ строки, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΡŽ качСства Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ сниТСнию ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎΡ†Π΅ΡΡ очистки ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ рСализуСтся Π² ΠΊΠΎΠ΄Π΅ прилоТСния со слоТным ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Однако ΠΎΠ΄ΠΈΠ½ SQL-запрос ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ вСсь процСсс, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² строк ΠΈ количСства Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ. https://www.dev-notes.ru/articles/database/delete-duplicate-rows/

TypeScript основываСт ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π½Π° Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² (Type Inferences) ΠΈ аннотациях Ρ‚ΠΈΠΏΠΎΠ² (Type Annotations), ΠΈ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ расскаТСм ΠΎ Π½ΠΈΡ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Одной ΠΈΠ· ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… особСнностСй TypeScript являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ β€” статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ отнСсСны ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это провСряСтся Π²ΠΎ врСмя компиляции. Π­Ρ‚ΠΎ отличаСтся ΠΎΡ‚ синтаксиса JavaScript, динамичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт свободно ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±Π΅Π· нСобходимости ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ присваиваСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΈΡ… Ρ‚ΠΈΠΏΡ‹ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НаиболСС Π²Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ использования статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² являСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ошибок Π½Π° этапС компиляции, Ρ‡Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сразу Π²ΠΈΠ΄Π½ΠΎ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² ΠΊΠΎΠ΄Π΅ нСсоотвСтствиС Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Π­Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ эффСктивный ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с динамичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ языками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ошибок Π²ΠΎ врСмя выполнСния. Π’ TypeScript ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ привязаны ΠΊ Ρ‚ΠΈΠΏΠ°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Π’ TypeScript сущСствуСт Π΄Π²Π° основных способа прСдставлСния Ρ‚ΠΈΠΏΠΎΠ²: Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² (Type Inference) ΠΈ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² (Type Annotations). Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎΠ± аннотациях Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ², ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ. Π”Π°Π²Π°ΠΉΡ‚Π΅ погрузимся Π² Ρ‚Π΅ΠΌΡƒ. https://www.dev-notes.ru/articles/typescript/type-inferences-and-annotations/

МягкоС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записСй Π² Laravel позволяСт ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ записи ΠΊΠ°ΠΊ "ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅", Π° Π½Π΅ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… навсСгда. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСвСроятно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Laravel поставляСтся со встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ soft delete! Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ soft delete Π² Laravel Eloquent, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² модСль Ρ‚Ρ€Π΅ΠΉΡ‚ SoftDeletes, создайтС ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ с ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ deleted_at ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ->delete() для ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΈ записСй ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… с ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ сохранСниСм ΠΈΡ… Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Π΄Π°Π½Π½ΠΎΠΌ пошаговом руководствС ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Laravel. https://www.dev-notes.ru/articles/eloquent/how-to-soft-delete/

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² PHP ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π±Π΅Π· нСобходимости создания всСго массива. Π­Ρ‚ΠΎ позволяСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти. https://www.dev-notes.ru/articles/php/generators-in-php/

Laravel ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΈΠ· вашСго прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ фасада Mail. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ внСшнСго ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ сСрвСра, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ SMTP-сСрвСра Gmail, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ элСктронныС письма с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Gmail Π² Laravel, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π² ΡƒΡ‡Ρ‘Ρ‚Π½ΠΎΠΉ записи Gmail ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Gmail SMTP Π² Ρ„Π°ΠΉΠ» Laravel .env. ПослС этого Π²Ρ‹ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный Π² Laravel фасад Mail для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ писСм Π² своём ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим этот процСсс Π² подробностях. https://www.dev-notes.ru/articles/laravel/how-to-send-email-using-gmail/

Π’ Laravel ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ конструктор запросов. Он ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π»Π΅Π³ΠΊΠΎ ΠΈ просто ΠΏΠΈΡΠ°Ρ‚ΡŒ SQL-запросы. Одним ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² являСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Where, ΠΈ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство способов упрощСния слоТных запросов. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ способ использования where β€” просто статичСски Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ Model::where('name', 'Ahmed')->first(). https://www.dev-notes.ru/articles/eloquent/query-builder-where/

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° - Statistics & analytics of Telegram channel @dev_notes_ru