Затишна Галера

@zatishna_galera


Голова Одеського центру розробки DataArt та Delivery Director, капітан Затишної Галери, ділитимуся: завданнями із співбесід (QA/Delivery/Management), статтями, вакансіями, новинами зі світу IT. Контакт: [email protected] ; Patreon: patreon.com/CozyGalley

Затишна Галера

22 Oct, 14:00


Це вже майбутнє?

@Zatishna_Galera

Затишна Галера

22 Oct, 12:01


Ось ще один приклад того, як «заліковка» працює на вас.

Міра Мураті, за чутками, вже залучає інвестиції у свій сольний проєкт після OpenAI. Звісно, йдеться не про такі гроші, як у Іллі Суцкевера, але $100 млн це $100 млн.

Готовий зібрати $100, я не жадібний, на прізвище Капітана. Якщо вам цікаво у нас є Patreon з дуже крутими каютами на нашій Галері.

@Zatishna_Galera

Затишна Галера

22 Oct, 11:30


IT-компанія DataArt запрошує взяти участь у щорічній Міжнародній олімпіаді зі спортивного програмування Proggy-Buggy Contest, яка відбудеться 26 жовтня 2024 року о 13:00 (за київським часом).

Маємо категорії для Початківців, Професіоналів та Супергероїв!
Готуємо призи для переможців у головних та додаткових номінаціях, а також сертифікати для всіх учасників. Брати участь можна індивідуально або з командою до 3-х осіб.

Правила Proggy-Buggy Contest:
☑️Участь безкоштовна.
☑️ Змагання проходять онлайн, але ви можете завітати до одного з R&D центрів DataArt чи партнерських хабів.
В Одесі запрошуємо приєднатись до олімпіади офлайн, за адресою вул. Садова, 3 (Комп'ютерна академія IT Step). На вас чекає нетворкінг з представниками DataArt та іншими учасниками, а також можливість виграти спецальні призи.
☑️ Для участі необхідно зареєструватись за посиланням, дотримуючись інструкцій на сторінці.
☑️Усі учасники та команди мають розв’язати 13 задач за 42 хвилини.
☑️ Для розв’язання задачі необхідно створити консольний додаток, використовуючи мову програмування зі списку (повний перелік можна знайти в розділі «Compilers» на сайті proggy-buggy.com).
☑️ Не всі задачі мають розв’язання (це родзинка Proggy-Buggy Contest). Дізнатись більше можна у розділі FAQ на сайті www.proggy-buggy.com
☑️ Кожен учасник або команда можуть використовувати лише один пристрій, з якого рішення відправляються на сервер для перевірки.
☑️ Під час змагань забороняється використовувати онлайн-ресурси, такі як Google або ChatGPT.
☑️ Офіційні результати будуть опубліковані через 2-3 дні після завершення конкурсу.
☑️ До участі у Proggy-Buggy Contest не допускаються учасники, які перебувають на території Російської Федерації, а також інших санкціонованих територіях.

Реєстрація триває до 25 жовтня 2024 включно.
Реєструйтесь вже зараз: https://proggy-buggy.com/register/
Офіційний сайт: https://proggy-buggy.com/

@Zatishna_Galera

Затишна Галера

22 Oct, 09:52


Вам нічого не нагадав дизайн нових машин від Маска? Ось і продюсеру «Того, хто біжить по лезу 2049» нагадав, хоча, якщо чесно, там ще з десяток фільмів де машини були схожі, наприклад, «Я робот».

Продюсер не пальцем зроблений і подав позов проти Маска через порушення авторських прав. Крім того, на самому заході були використані і зображення згенеровані ШI в стилістиці фільму.

Ох і часи, ох і звичаї, до суду подають всі на всіх.

@Zatishna_Galera

Затишна Галера

21 Oct, 14:00


Приблизно так я в'їжджаю в робочий тиждень. Тримаємося, не розкисаємо.

@Zatishna_Galera

Затишна Галера

21 Oct, 12:01


Х робить доступними дані користувачів для навчання ШI іншими компаніями. Раніше така можливість була тільки у Grok.

Поки деталі не зрозумілі, але, звісно, це все не буде безкоштовно. Політика запрацює 15 листопада.

@Zatishna_Galera

Затишна Галера

21 Oct, 10:00


Цікава історія з Uber і Lyft. Компанії почали блокувати додаток для водіїв.

З одного боку, це робиться для того, щоб убезпечити водіїв і пасажирів. Адже не можна ж 24 години сидіти за кермом. З іншого боку, у США є закони, які примушують компанії платити водіям за те, що вони перебувають «на лінії», і платити в такому разі їм потрібно навіть за час між поїздками.

Тепер водіїв не пускають між поїздками в додаток, якщо ймовірність знайти їм пасажира низька. Але за фактом, логіка роботи цього нововведення не зрозуміла.

@Zatishna_Galera

Затишна Галера

21 Oct, 09:35


#ЧарівнийКомпас 🧭
1️⃣6️⃣1️⃣ Завдання 161

Як тестувати пагінацію?

Новий тиждень - нова п'ятірка запитань. Сьогодні починаємо питання з теорії тестування.

У разі тестування пагінації сторінок може здатися, що це легка справа. Але за фактом, там досить багато перевірок, про які варто не забувати.

1️⃣Базові перевірки навігації:

Перехід кількома сторінками за номерами сторінок. Перевіряємо перехід і відображення сутностей на різних сторінках. Наприклад, «1», «2», «3».

Перехід кнопками «Наступний/Попередній». Зазвичай у пагінації є можливість переходу на наступну або попередню сторінку окремими кнопками. Це теж варто перевірити.

Перехід на першу або останню сторінку. Перевіряємо можливість перейти на першу або останню сторінку за допомогою окремих навігаційних елементів управління.

2️⃣ Перевіряємо зміст сторінки:

Перевіряємо відображення унікальних сутностей за заданою кількістю. Дуже часто можна змінювати кількість сутностей, які відображаються на сторінці. Це може бути «10», «25», «50» і так далі. Кількість сторінок залежно від кількості сутностей на сторінці має змінюватися.

Відсутність дублікатів сутностей. Якщо збереження товарів і їх видача налаштовані правильно, то не повинно відображатися жодних дублікатів. Тільки унікальні сутності.

Порядок виведення сутностей. Найчастіше на таких сторінках є можливість упорядкування сутностей за різними градаціями - ціна, алфавітний порядок, час додавання тощо. Це все теж впливає на видачу результату на сторінках пагінації.

3️⃣ Corner cases:

Перевірка видачі результату, якщо сторінок більше «1», а на останній сторінці залишається тільки 1 сутність. Перевіряємо, як відображається і функціонує можливість переходу на наступну сторінку, коли у нас активна остання.

Перевіряємо, як відпрацьовує пагінації, якщо у нас лише 1 сторінка з сутностями. Усі кнопки повинні чи бути відсутні, чи бути не активні.

Перевіряємо, як у нас відбувається відображення в разі відсутності сутностей потрібної категорії в загалі.

Перевіряємо правильність відображення пагінації в момент додавання ще однієї сутності, яка є ключовою для наявності +1 сторінки в пагінації.

Перевірка URL. Кожна нова сторінка при пагінації повинна мати відповідний URL. Зазвичай це номер сторінки в кінці URL (наприклад, page=2)

Перевірка збереження сеансу. Під час оновлення сторінки або відновлення сеансу поточний стан пошуку та пагінації має бути збережений і не оновлюватися на початковий стан.

Перевіряємо швидкість роботи переходу і відкриття сторінок за великої кількості сутностей, що потрапляють під вибірку.

Не забуваємо перевірити відображення для мобільних телефонів.

Перевірте великі номери сторінок, коли сутностей для видачі занадто багато. Наприклад «100» або «1000».

Перевірте можливість переходу на конкретну сторінку за допомогою зміни її номера в URL. Що буде якщо вбити такий номер, котрого в дійсності немає?

Як бачите, при детальній перевірці пагінації перевірок досить велика кількість. Дуже часто саме ця функціональність працює погано і з помилками, тому їй варто приділити належну увагу під час тестування.

@Zatishna_Galera

Затишна Галера

20 Oct, 15:02


Пам'ятаєте окуляри від Meta і Ray-Ban? Ті, що мають камеру.

Розумник зумів прикрутити до них розпізнавання особистості. Тепер можна отримати безліч даних про людину, на яку ти дивишся.

@Zatishna_Galera

Затишна Галера

20 Oct, 12:00


Цікаве дослідження про те, як ігри, в які ви грали в дитинстві, впливають на заробіток зараз.

96% опитаних впевнені, що ігри позитивно вплинули на їх поточний заробіток. Для більшості це була Nintendo з іграми Mario Kart, Tetris, Zelda і GTA.

Ті хто грав заробляють у середньому на $5451 на рік більше. Але найвищі зарплати у тих, хто грав у PlayStation (сонібої - це наш час). Їх зарплати в середньому більші на 12%, ніж у ПК бояр.

Але найбільше заробляють ті, хто грав у FIFA.

Не думаю, що це репрезентабельна статистика, але, як мінімум, цікава.

@Zatishna_Galera

Затишна Галера

20 Oct, 10:09


Гарні новини для любителів читати книжки. Amazon оновив кілька продуктів своєї лінійки Kindle.

Kindle Paperwhite - ще тонший і більший екран. Плюс став швидшим.

Colorsoft - нова моделька, має кольоровий екран із розміром 7 дюймів, вміє в бездротову зарядку та автопідсвітку.

Kindle Scribe - ще одна нова моделька. Підтримує нотатки. Можна вбудовувати прямо в текст.

Якби я свого часу не перейшов на паперові книги, то, можливо, навіть оновив свій Oazis.

@Zatishna_Galera

Затишна Галера

19 Oct, 14:02


З комічного. Meta провела чергову хвилю скорочень, але це вже не ново. Цікаво те, щонайменше 25 осіб було звільнено за неправильне використання ваучерів.

Компанія роздає своїм співробітникам ваучери в розмірі $25 на їжу. Але спритні IT-шники вирішили, що харчуватися їм не варто і витратили ці ваучери на різні домашні побутові витрати. Наприклад, на келихи, порошок, ліки тощо.

Чесно, це якісь драконівські методи. Можна ж було поговорити, у будь-якому разі інженерам треба їсти і їжу вони купували.

@Zatishna_Galera

Затишна Галера

19 Oct, 12:01


Не секрет, що Капітан великий фанат Spotify, що і вам рекомендує. Ще один аргумент на цей бік - кількість аудіокниг на платформі подвоїлася до 300 тисяч штук.

Spotify майже подвоїв зростання продажів аудіокниг на ринку США (без нього приріст 14%, а з ним 28%).

Дуже подобається, як останнім часом Spotify розвиває свій сервіс, побажаємо їм і далі бурхливого зростання.

@Zatishna_Galera

Затишна Галера

19 Oct, 10:09


ЄС оцінила те, як спритно Бразилія зуміла прогнути Маска, і тепер планують повторити таку саму історію.

Регулятори активно розглядають компанію Х на предмет штрафів і вирішили, що варто розглядати не Х окремо, а одразу в купі зі SpaceX, Neuralink, Boring і xAI. У такому разі штраф до 6% від річного глобального доходу може вже вилитися у вкрай велику суму. Єдина компанія, яка не потрапить у цей «пакетний» штраф - це Tesla. Вона публічна і не може бути розцінена, як компанія, що потрапляє під повне управління Маска.

Запасаємося попкорном і спостерігаємо.

@Zatishna_Galera

Затишна Галера

18 Oct, 16:04


Ну і як завжди, сьогодні пʼятниця і самий час оновити моральку та фізичний стан. Настрій я вам підніму ось цим відосиком! Для чого ще цей ваш ШI потрібен!

@Zatishna_Galera

Затишна Галера

18 Oct, 13:11


#ЗатишнийDigest

👍 П'ятничний digest новин зі світу IT:

За цей тиждень цікавих новин набралося не так і багато:

1️⃣ MISTRAL ВИПУСТИЛИ МАЛІ ШI МОДЕЛІ

Модель 3B і 8B, розроблені для запуску на мобільних пристроях, відкривають нову лінійку моделей від компанії. Лінійка отримала назву Ministral.

2️⃣ STARSHIP ВИКОНАВ УСІ ЗАВДАННЯ ПОЛЬОТУ

Mechazilla схопила бустер, що повернувся, а сам Starship успішно приводнився. Трохи погнулися «крила», але це не критична проблема і, гадаю, в новій версії корабля вже буде прибрана. Це воістину історична подія з точки зору космічних польотів.

3️⃣ NETFLIX ЗБІЛЬШИВ КІЛЬКІСТЬ ПЕРЕДПЛАТНИКІВ БІЛЬШЕ НІЖ НА ТРЕТИНУ

Мова про передплатників рекламного рівня. Їх приріст за квартал становив 35%. Виторг компанії теж зріс, на 15% до $9,83 млрд.

4️⃣ QUALCOMM ВИРІШИЛА ПОЧЕКАТИ З КУПІВЛЕЮ INTEL

Компанія хоче дочекатися результатів виборів у США і вже після них приймати рішення. Розумно. А ще б придумати, як це продати регуляторам...

5️⃣ OPENAI НЕ БУДЕ ПРИБУТКОВОЮ ДО 2029 РОКУ

OpenAI очевидно генерує гроші та генерує багато, близько $100 млрд на рік. Але і витрат у компанії величезна кількість. Прогнозується, що навіть зі зростанням виторгу, збитки триватимуть до 2029 року.

6️⃣ NVIDIA ВИПУСТИЛА NEMOTRON

Це ШI моделька, яка базується на LLAMA, але дороблена самою Nvidia. Дуже багато ледачих авторів бездумно почали репостити інформацію про те, що вона краща за GPT-4o. Не вірте бездумним репостам в інтернеті, перевірити це можна, наприклад тут, де наочно видно, що моделька програє.

@Zatishna_Galera

Затишна Галера

17 Oct, 14:02


Слідом за новиною від Google та Microsoft про їх угоди про будівництво електростанцій з малими ядерними реакторами підтягнувся і Amazon.

Вони інвестують понад $500 млн. Уже анонсовано кілька проєктів і одним з основних партнерів є Dominion Energy. Основний споживач - AWS.

@Zatishna_Galera

Затишна Галера

17 Oct, 10:02


Mistral випустили цілу нову лінійку моделей - Ministral (хтось скажіть їм, що з неймінгом у них явні прблеми).

Представлені у двох розмірах - 3B і 8B.

@Zatishna_Galera

Затишна Галера

16 Oct, 11:00


#iOSКомпас 🧭
7️⃣2️⃣ Завдання 72

Яка диспетчеризація використовується для Extensions?


З вами знову той самий автор каналу @badlinkschannel. Сподіваюсь вам ще не набридла ця ідея капітана галери про iOS розробника.

🤔 Механізм, який використовується для виклику методів, доданих через розширення (extensions), називається статичною диспетчеризацією. Це означає, що виклик методу, визначеного в розширенні, вирішується на етапі компіляції, а не під час виконання програми.

🔣 Статична диспетчеризація

Означає, що компілятор заздалегідь визначає, який метод буде викликано. Це призводить до таких особливостей:
1️⃣ Продуктивність: Оскільки виклик методу вирішується під час компіляції, це може підвищити продуктивність, зменшивши накладні витрати, пов’язані з динамічною диспетчеризацією, як-от пошук у таблиці віртуальних методів.
2️⃣ Передбачуваність: Статична диспетчеризація робить поведінку програми більш передбачуваною, оскільки точно відомо, який метод буде викликано, без впливу можливих змін в ієрархії класів або перевизначень методів.
3️⃣ Обмеження на перевизначення: Методи, додані через розширення, не можуть бути перевизначені нащадками типу, до якого вони додані. Це означає, що якщо ви додаєте метод до протоколу через розширення, і цей метод потім реалізується в класі, який відповідає цьому протоколу, виклик цього методу через екземпляр класу використовуватиме реалізацію з класу, а не з розширення.

🤓 Приклад:

protocol MyProtocol {
func defaultMethod()
}

extension MyProtocol {
func defaultMethod() {
print("Called from protocol extension")
}
}

class MyClass: MyProtocol {
func defaultMethod() {
print("Called from class implementation")
}
}

let myInstance: MyProtocol = MyClass()
myInstance.defaultMethod() // Вивід: "Called from class implementation"


У цьому прикладі, хоча myInstance типізований як MyProtocol, метод defaultMethod викликається з реалізації в класі MyClass, а не з розширення протоколу, завдяки статичній диспетчеризації, яка вирішується під час компіляції.

#️⃣ Статична диспетчеризація робить розширення потужним інструментом для додавання функціональності до існуючих типів, але вимагає розуміння її впливу на поведінку програми, особливо стосовно спадкування та перевизначення методів. Це підвищує продуктивність і передбачуваність за рахунок гнучкості, яку може запропонувати динамічна диспетчеризація.is

@Zatishna_Galera