DOU #tech
10.8K subscribers
1.12K photos
13 videos
1.47K links
Статті від українських айтівців про технології. З будь-яких питань — пишіть Редакції на [email protected]

Щодо публікації вакансій пишіть @cnfccnfc.
Download Telegram
Forwarded from Web Overflow 🇺🇦
Що таке CORS? 🛑

А скільки разів ви плакали через корси? 😅

CORS розшифровується як Cross-Origin Resource Sharing або ж спільне використання ресурсів з різних джерел. Це функція безпеки, яка дозволяє серверам захищати дані та ресурси. Сервери можуть контролювати, які домени можуть доступатись до цих ресурсів.

Уявіть собі ситуацію: заходите на сайт lox.com, щоб пограти в онлайн-казино. А там десь всередині захований скрипт, який робить запит на yourbank.com/transfer-all-money. Було б дуже недобре, якби банківський сервер дозволяв запити будь-звідки.

Якщо що, приклад притягнутий за вуха 🙉

Я б назвав CORS навіть комплексом захисту, адже в цьому беруть участь і сервери, і браузери користувачів. Якщо ви слідкуєте за запитами у своїх застосунках, то могли помітити, що перед виконанням деяких з них браузер відправляє ще один запит з методом OPTIONS. Такий запит ще називають preflight. За його допомогою браузер може зрозуміти, які методи та хедери можна відправляти на цей URL та чи допускається дане джерело (Origin) для такого запиту. І якщо у відповідь на OPTIONS ви отримали такі хедери, які не проходять цю "валідацію", оригінальний запит буде заблокований.

Якщо детальніше, то не на всі запити буде йти супутній preflight запит, і у таких випадках браузер не зможе заблокувати сам запит, АЛЕ він зможе заблокувати відповідь на нього.

Тож CORS - це справді важлива система захисту в мережі. І перед вами стоїть важливий вибір - або матюкатись на нього, або ж один раз сісти та вивчити даний підхід! 💛

👉 Читати документацію

#interview
Юний розробник Тарас написав свою першу статтю про те, як створював проєкт для аналізу великого обсягу інформації за малий проміжок часу з використанням технології штучного інтелекту.

У цьому імпровізованому щоденнику розробника описані технічні рішення фронтенду та бекенду, вибір хостингу, дизайну та назви продукту. Читайте 👉 https://dou.ua/goto/mBum

#ChatGPT
Володимир Нуждін з команди розробки iOS і macOS програм в Nektony згадує про те, як проводили локалізацію застосунків на інші мови.

У цій статті коротко описані інструменти, за допомогою яких реалізовували локалізацію. До кожного пункту автор додав посилання, якими користувався, і де ви зможете отримати більше інформації 👉 https://dou.ua/goto/HL5Y

#iOS
Спите? А ми анкети рахуємо 👀
І нарахували, що потрібно ще 1 500 анкет розробників.

Заповнюйте, бо завтра знов відкладатимете 👇
Олег Васильєв, який співпрацює з EPAM у ролі ведучого інженера в B2Bits, зробив огляд використання різних AI-інструментів у роботі розробника.

Для яких випадків підходять GitHub Copilot, GitHub Copilot Х, ChatGPT, коли оптимально застосовувати той чи інший варіант, які особливості 👉
https://dou.ua/goto/2UQQ

#AI
DOU #tech
Спите? А ми анкети рахуємо 👀 І нарахували, що потрібно ще 1 500 анкет розробників. Заповнюйте, бо завтра знов відкладатимете 👇
Пишаємось тим, як чемно ви заповнюєте зарплатне опитування 🌞

Але потрібні відповіді ще 1 000 розробників! Тож не відкладайте, заповнюйте самі, кидайте в робочі чати, шукайте айтівців-сусідів, знайомтесь в кав'ярнях. Ми на вас розраховуємо 💪😉
Виконуємо синхронний код в асинхронному середовищі

Розглядаємо одночасне виконання синхронного IO-bound коду в асинхронному середовищі Python за допомогою модуля asyncio. Приклади у статті демонструють різні сценарії використання, включаючи потенційну взаємодію зі сторонніми API, обмеження кількості одночасних потоків виконання та обробку помилок 👉 https://dou.ua/goto/8R4m

#Code
Минулого літа в зарплатному опитуванні ми зібрали анкети 2 400 Back-end розробників. Давайте цьогоріч поставимо рекорд — чекаємо 3 000 анкет від вас, панове! І зробимо максимально якісну аналітику💥

До закриття анкети лишилось кілька днів. Тож не відкладайте на потім 👇
📲 iOS дайджест #54: покращення Xcode, макроси в Swift, заміна CoreData та новинки з WWDC для інженерів

У цьому випуску Сергій Бутенко з MacPaw зібрав матеріали про створення макросів, як працює симулятор visionOS, нові фреймворки в iOS-всесвіті та кращі API з WWDC 👉 https://dou.ua/goto/xh9s

#iOS

До речі, розігруємо iPhone 14, не пропустіть 😉
У цій статті .NET dev Владислав Огородніков пропонує свій підхід до вирішення проблеми ручного копіювання пропертей з BL-моделі у DTO-модель та її підтримки в актуальному стані 👉 https://dou.ua/goto/OumF

Матеріал буде корисний розробникам, які працюють з Data Transfer Object, адже містить приклади коду і посилання на бібліотеку AutoDto, яка вирішує описану проблему.

#Data
Data flow у SwiftUI. Або чому не все так просто, як здається

У цій статті розглядаємо data flow та data managment у SwiftUI. Владислав Мартяк, iOS Developer у компанії NERDZ LAB, розбирається з різними інструментами для керування потоком даних у SwiftUI, описує їхні відмінності та особливості 👉 https://dou.ua/goto/dPMu

#iOS #Mobile
Рік тому Олександр Зіневич вперше почув про WebContainers і те, що браузери та сучасний веб розвинувся настільки, щоб виконувати Node.js безпосередньо у браузері.

Раніше це працювало лише у Google Chrome, але вже цього року технологія стала фактично кросбраузерною і підтримується більшістю сучасних браузерів. У статті Олександр досліджує цю технологію детальніше і ділиться своїми думками та рішеннями 👉 https://dou.ua/goto/PBp4

#FullStack
Андрій Петрик з колегами з компанії Avenga зібрали усі найгарячіші Java-апдейти, події та інший корисний контент червня для нашої ІТ-спільноти 🔥

Читаємо та поширюємо! 👉
https://dou.ua/goto/czFZ

#Java #Digest
Вадим Фрунза, Flutter Developer в ІТ-компанії Customertimes — про Firebase-сервіси, які можуть підтримувати бекенд будь-яких мобільних чи вебзастосунків 👉 https://dou.ua/goto/HhfE

#Flutter
Сьогодні о 19:00 в каналі @frontend_dou відбудеться перший войсчат фронтенд-спільноти DOU!

Обговорюватимемо тренди у розробці, фреймворки та тенденції ринку 😎
Починаємо о 19:00, всі охочі зможуть приєднатись зі своїми запитаннями. Тож підписуйтесь та не пропустіть!
Зустрічайте першу статтю літнього циклу про зарплати українських розробників 💥

Scala, Rust і Go залишаються мовами з найвищими медіанними зарплатами, а зарплати розробників рівня Senior зменшились на $100 💰

Ми провели чергове опитування українських айтівців щодо їхніх зарплат і представляємо актуальну аналітику 👉 https://dou.ua/goto/FdTX
Олег Новосад розповідає, як він підключав LiqPay до Flutter для мобільного застосунку «Давай займемось текстом», а також про те, як обирали саме цю платіжну систему, з чим виникали складнощі та що затримувало узгодження програми в онлайн-магазині застосунків Apple 👉
https://dou.ua/goto/q2s2

#Flutter #Mobile
Дмитро Омелян, Mobile applications developer та учасник спільноти, вирішив описати створення моделі кубика Рубіка у 10 рядків JavaScript. Читаємо та коментуємо 👉 https://dou.ua/goto/E7hp

#JavaScript
Чергова добірка яскравих та важливих для дизайн-спільноти новин — корисні статті, цікаві відео та подкасти, актуальні меми, без яких працювалось би набагато важче.

Читаємо та поширюємо контент від наших друзів з Awesomic 👉 https://dou.ua/goto/L7zQ

#Design
Force DI є потужним інструментом, який дозволяє гнучко розбудовувати архітектуру та перевикористовувати код. Однак недоцільне або неправильне використання цього інструменту може призвести до збільшення складності коду.

Віталій Драпак, Salesforce Developer в RedTag, у цій статті на прикладах показує, як ефективніше працювати з Force DI 👉 https://dou.ua/goto/NOY2

#Architecture
Середня компенсація QA, які працюють на TypeScript, продовжує зростати: $3350 сьогодні проти $3000 пів року тому й $2750 рік тому🐞

Далі за рівнем зарплат йдуть фахівці з Java ($2838) і C#/.NET ($2750). Дещо нижчі зарплати у тих, хто працює з Python ($2500) і JavaScript ($2220).

Що ще? Читаємо за лінком👉 https://dou.ua/goto/qugb
The Ultimate Guide to Microsoft Publisher