Вхід Реєстрація
Реклама
Ваше рекламне місце
Забронюйте цей слот без конкуренції на обраний період.
Купити рекламу →
Логотип телеграм спільноти - Затишна Галера
Додано 06 січ 2025

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

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

👥 Кількість підписників

2 703
Середній/День:: -1
Середній/Тиждень:: -2
Середній/Місяць:: -11

👁️ Середній перегляд на повідомлення

615
Середній/День:: 614
Середній/Тиждень:: 579
ERR: 22.75%

📊 Кількість повідомлень на день

2.6
Останній день: 0
Середнє за тиждень: 1.9
Середнє за день: 2.6

Історія зміни статуса

Офіційно не підтверджена 2025-01-06

Стіна

Статистика telegram каналу

👁 836 25-12-19 15:05
#ЗатишнийDigest👍 П'ятничний digest новин зі світу IT:1️⃣ OPENAI ВІДКРИВАЄ ПРИЙОМ ЗАЯВОК ДЛЯ СВОГО МАГАЗИНУChatGPT запускає свій магазин додатків всередині ChatGPT. Загалом достатньо очікуваний крок, нам уже показали багато прикладів таких додатків (той самий Photoshop, про який ми писали минулого тижня). Додатки можна буде викликати через «@».2️⃣ COURSERA КУПУЄ UDEMYОдна освітня платформа поглинає іншу. Круто, що тут скажеш, дві мої улюблені освітні платформи тепер будуть одним цілим, таке ми схвалюємо. Сподіваюсь, регулятори теж.3️⃣ ВИЙШОВ GEMINI 3 FLASHЧудова моделька, яка за багатьма показниками ліпша за 2.5 Pro, при цьому супер дешева. Мільйон токенів контексту, текст, аудіо, картинки на вхід, але на вихід лише текст. Міркування можна вимкнути. Ціна порівняно з 2.5 Flash за токен стала вищою, але обіцяють більшу ефективність, що в сумі має не занадто розгойдати загальну вартість.4️⃣ OPENAI ВИКОТИЛИ GPT IMAGE 1.5Вийшла відповідь на Google NanoBanana, але вже від OpenAI. Що стало краще - робота з реалізмом, у модельку додали «міркування», генерація стала сильно швидшою, за заявами аж у 4 рази, але здається максимум у рази 2, а швидше в 1.5.5️⃣ VOLKSWAGEN ЗАКРИВАЄ ЗАВОД У НІМЕЧЧИНІМова про завод у Дрездені. Справи у німецького автопрому якось не дуже, а китайці продовжують давити.6️⃣ CHATGPT НАЙБІЛЬШЕ ЗАВАНТАЖУВАНИЙ ЗАСТОСУНОКПравда, це на ринку США і за 2025 рік, і для Apple. Позаду - Google, TikTok, YouTube та інші. Минулого року ChatGPT був 4-им.@Zatishna_Galera
👁 680 25-12-17 12:40
#iOSКомпас 🧭1️⃣3️⃣3️⃣ Завдання 133Розкажи про механізм скасування в `Operation`З вами знову той самий автор каналу @badlinkschannel. Сподіваюсь вам ще не набридла ця ідея капітана галери про iOS розробника.🤔 В `Operation` (раніше `NSOperation`) у `Foundation` є вбудований механізм скасування, який дозволяє коректно завершити операцію, якщо вона більше не потрібна. Але важливо: скасування не перериває виконання автоматично - код усередині операції повинен сам перевіряти прапорець `isCancelled` і завершуватися.🔣 Як працює скасування `Operation`?Виклик `cancel()` лише ставить операцію в стан скасування `(isCancelled = true)`.Після цього операція не припиняється автоматично й продовжить роботу, якщо не перевірятиме `isCancelled`.Тому всередині `main()` треба робити ручні перевірки і завершувати роботу самостійно.class MyOperation: Operation { override func main() { for i in 1...10 { if isCancelled { return } print("Виконується крок \(i)") sleep(1) } }}let queue = OperationQueue()let operation = MyOperation()queue.addOperation(operation)DispatchQueue.main.asyncAfter(deadline: .now() + 3) { operation.cancel()} 🔣 Скасування асинхронних операційДля асинхронних операцій `(isAsynchronous = true)` однієї перевірки `isCancelled` недостатньо. Розробник повинен вручну оновлювати стани `isExecuting` та `isFinished`, щоб `OperationQueue` могла коректно керувати життєвим циклом операції.class AsyncOperation: Operation { private var _executing = false private var _finished = false override var isAsynchronous: Bool { true } override var isExecuting: Bool { get { _executing } set { willChangeValue(for: \.isExecuting) _executing = newValue didChangeValue(for: \.isExecuting) } } override var isFinished: Bool { get { _finished } set { willChangeValue(for: \.isFinished) _finished = newValue didChangeValue(for: \.isFinished) } } override func start() { if isCancelled { isFinished = true return } isExecuting = true executeTask() } private func executeTask() { DispatchQueue.global().asyncAfter(deadline: .now() + 3) { if self.isCancelled { self.complete() return } print("Асинхронна операція завершена") self.complete() } } private func complete() { isExecuting = false isFinished = true }}let queue = OperationQueue()let asyncOp = AsyncOperation()queue.addOperation(asyncOp)DispatchQueue.main.asyncAfter(deadline: .now() + 1) { asyncOp.cancel()} 🔣 Скасування залежних операційСкасування операції не скасовує залежні автоматично - але якщо залежність не завершиться `(isFinished = true)`, залежні просто не будуть запущені. Вони не отримають статус `isCancelled`, але не виконаються.let op1 = MyOperation()let op2 = MyOperation()op2.addDependency(op1)let queue = OperationQueue()queue.addOperations([op1, op2], waitUntilFinished: false)op1.cancel() Якщо потрібне автоматичне скасування всього ланцюжка, це треба реалізовувати вручну.@Zatishna_Galera
👁 765 25-12-15 16:05
#ЧарівнийКомпас 🧭2️⃣1️⃣9️⃣ Завдання 219Для чого потрібен Host в HTTP/1.1 і що буде без нього? Заголовок Host вказує, до якого саме сайту або віртуального хосту звертається клієнт.Це важливо, тому що: одна IP-адреса може обслуговувати кілька сайтів (virtual hosting), серверу потрібно розуміти, який саме сайт має обробити запит.Приклад запиту: GET /api/users HTTP/1.1Host: api.example.com Якщо ми будемо звертатися лише по IP-адресі, то сервер не зрозуміє, що звернення йде саме до api.example.com.🔣 Що буде, якщо Host опуститиВ HTTP/1.1 заголовок Host обов’язковий за стандартом. Якщо клієнт його не передав, можливі кілька варіантів:Сервер поверне 400 Bad Request. Це найкоректніша і найчастіша поведінка. Деякі сервери можуть повернути «дефолтний» сайт або сторінку, але за дефолтом у більше кейсів це все таки буде 400, якщо Host відсутній.Заголовок Host потрібен, щоб сервер зрозумів, до якого домену і віртуального хосту належить запит. В HTTP/1.1 він обов’язковий. Під час тестування API через curl або автотести можна випадково забути Host і отримати дивні помилки. Це часта причина багів, коли на UI у вас усе працювало, а в автотестах ні.@Zatishna_Galera
👁 798 25-12-12 11:03
TGA ЗАКІНЧИЛАСЯ І ТАМ Є НА ЩО ПОГЛЯНУТИПройшов Новий рік для геймерів. Із номінацій: Всіх порвала Clair Obscur: Expedition 33. Просто почитайте номінації, які вона взяла: Game of the Year, Best Narrative, Best RPG, Best Score and Music, Best Debut Indie Game, Best Art Direction, Best Independent Game. Arc Raiders - Best Multiplayer На жаль, Death Stranding 2 не взяв нічого. Хідео більше не геній? Half-Life 3 теж не показали. Ех. А ось що показали і від чого сердечко б’ється швидше - Star Wars: Fate of the Old Republic. Легендарна серія повертається. За справу взялися творці оригіналу і трьох частин Mass Effect Показали Control: Resonant. Нова гра у всесвіті Control. Divinity - обіцяють, що буде найбільша гра, коли-небудь випущена студією. Star Wars: Galactic Racer - чисто для дідів. Хто пам’ятає, були такі гоночки давним-давно, як у першому епізоді Star Wars. 4Loop - від творців Left4Dead. Черговий кооп, який обіцяє багато веселощів. Total War: Warhammer 40,000 - величезні битви у всесвіті брутальних мужиків і ксеносів.І ще безліч цікавинок, з усім списком можна ознайомитися за посиланням.@Zatishna_Galera
👁 811 25-12-08 14:05
#ЧарівнийКомпас 🧭2️⃣1️⃣8️⃣ Завдання 218Як працює UDP checksum і що станеться у разі її невідповідності?Часте питання в контексті теми про відмінності між UDP і TCP.🔣 Як працює UDP checksumУ UDP є поле checksum - вкрай важливе поле, що відповідає за контрольну суму, яка допомагає перевірити, чи не було пошкоджено дані в пакеті під час передавання.🔣 Вираховується вона так: Береться вміст UDP-пакета: (заголовок, дані (payload), псевдозаголовок з IP (source IP, dest IP, protocol, довжина)). Усе це складається за певним алгоритмом Результат інвертується → виходить checksumПід час отримання відбувається те саме – контрольна сума рахується знову й порівнюється з тією, що прийшла в пакеті. Якщо суми збігаються – пакет вважається коректним, інакше ні.🔣 Що відбувається при невідповідності checksum?Як ви памʼятаєте, UDP - це ненадійний протокол, він не виправляє помилки й не виконує повторні запити в такому випадку. Саме це і є основна відмінність від TCP.Якщо контрольна сума неправильна, пакет просто відкидається приймаючою стороною, жодного retry чи переривання не відбувається - і ви далі насолоджуєтесь, наприклад, потоковим відео, втративши якийсь кадр.Як кажуть, втратили - та й забули.#️⃣ UDP checksum - це контрольна сума, що перевіряє, чи не пошкодився пакет під час передавання. На основі цієї перевірки приймається рішення - відкинути пакет або прийняти.@Zatishna_Galera
👁 826 25-12-05 15:53
#ЗатишнийDigest👍 П'ятничний digest новин зі світу IT:1️⃣ X БУВ ШТРАФОВАНИЙ ЗА DIGITAL SERVICES ACTОтже, X став першою компанією, якій виписали штраф за новим законом. Штраф становитиме $140 млн. Все через оманливе враження від синьої галочки верифікації - яка перестала бути ознакою справжньої верифікації й перетворилася просто на «покупну послугу», - але не лише через це. Також фігурує відмова надати доступ до публічних даних для досліджень.2️⃣ NETFLIX КУПУЄ WARNER BROS. DISCOVERYСума угоди - $82,7 млрд з урахуванням боргів. Угоду схвалили ради директорів компаній - тепер справа за регуляторами. Тепер Netflix отримає багато франшиз, включно з «Гаррі Поттером» та проєктами DC. Планують закрити її за рік‑півтора; якщо щось піде не так - Netflix заплатить WBD $5 млрд. Регулятори точно матимуть питання - подивимось.3️⃣ У CLOUDFLARE ЗНОВУ ПРОБЛЕМИСьогодні знову впало багато сервісів і ресурсів в інтернеті через проблему на боці Cloudflare, але, за словами, її вже виправили.4️⃣ ANTHROPIC ПЛАНУЄ IPOЗа чутками, вони найняли Wilson Sonsini - тих, хто виводив на біржу Google, LinkedIn та Lyft. Компанія хоче випередити OpenAI. Наразі оцінюється у $500 млрд або більше.5️⃣ AMAZON ПРЕДСТАВИЛИ TRAINIUM 3Це 3 nm чип, обіцяють приріст у швидкості в 4 рази та можливість об’єднати до мільйона чипів.6️⃣ САУДІВСЬКИЙ ФОНД СТАЄ МАЙЖЕ ПОВНИМ ВЛАСНИКОМ ELECTRONIC ARTSЗ’явилися підтвердження, що фонд умудрився не просто взяти участь у угоді, а майже захопити компанію повністю, ставши власником 93.4%.7️⃣ MICRON ЙДЕ З СПОЖИВЧОГО СЕГМЕНТУКомпанія, що випускає пам’ять, вирішила продавати свій продукт лише для дата-центрів і ШІ. В цілому логічно, але шкода, що у них приблизно 20% ринку пам’яті, яка й так подорожчала в рази за останній час. Буде дорожче!8️⃣ СЕМ АЛЬТМАН ОГОЛОСИВ «ЧЕРВОНИЙ КОД»OpenAI серйозно занепокоєна успіхами конкурентів, особливо Google. У зв’язку з цим Альтман закликає всіх співробітників мобілізуватися й активно взятися до роботи. Деякі ініціативи компанії тимчасово заморожують, наприклад, рекламу всередині продуктів.9️⃣ SPOTIFY ВИПУСТИВ WRAPPED 2025Як і кожного року, Spotify підбив підсумки для своїх користувачів. Цього разу до звичної статистики додали кілька нововведень. По‑перше - тепер можна дізнатися, до якої вікової категорії вас зарахували за вашими аудіо смаками; а ще ви можете змагатися з друзями та порівняти статистику.@Zatishna_Galera
👁 644 25-11-10 16:31
#ЧарівнийКомпас 🧭2️⃣1️⃣4️⃣ Завдання 214Що таке Project Closure Report?🤔 Project Closure Report – це формальний фінальний звіт про весь перебіг роботи над проєктом після його завершення. У ньому представлені фінальні результати, досягнення цілей і узгодженості з клієнтом.Мета цього звіту – формально закрити проєкт і зафіксувати результати. Але в ньому зазначаються не лише досягнення, а й виявлені проблеми та lessons learned для майбутніх ініціатив.🔣 Основний зміст виглядає так: опис проєкту цілі, поставлені на проєкті аналіз виконання за строками, бюджетом і обсягом робіт контрактні зобов’язання lessons learned підтвердження приймання клієнтом і складнощі, якщо були інформація для передачі проєкту на підтримку іншій команді, якщо це актуальноДокумент корисний як фінальна «галочка», що ми як виконавець більше нічого не винні клієнту і виконали свої зобов’язання. Але він може бути цінним не лише формально, а й для внутрішнього розвитку команди, адже містить lessons learned, які можна використати й на інших проєктах.Щоб витиснути з нього максимум користі, я б радив ставитися до нього не просто як до формального документа для захисту від питань після закриття, а й як до практичного інструменту для команди. Тому справді варто зібрати верхньорівневий фідбек від команди та ідеї, що саме можна було б зробити інакше, якби був шанс запустити проєкт спочатку.@Zatishna_Galera
👁 733 25-11-03 12:42
#ЧарівнийКомпас 🧭2️⃣1️⃣3️⃣ Завдання 213Чим відрізняються deliverables від outcomes?Deliverables і outcomes можуть здатися не досвідченому менеджеру чимось схожим або, не дай Джобс, однаковим - через особливості перекладу цих термінів. Але насправді це два різні поняття, і якщо не розуміти різницю між ними, є ризик потрапити в неприємну ситуацію з клієнтом - коли ви не зрозумієте, що саме він має на увазі.🤔 Deliverables - це конкретні артефакти, які ми створюємо для клієнта в межах проєкту. Це може бути документ, діаграма, алгоритм або навіть цілий застосунок. Тобто все, що ми передаємо замовнику як результат нашої роботи.🤔 Outcomes - це результат, якого досягає клієнт завдяки тим deliverables, що ми передали. Грубо кажучи, це business value нашої роботи: покращення показників, зростання кількості користувачів, підвищення відмовостійкості тощо.🤓 Простий приклад:Ми розробляємо для клієнта новий онлайн-магазин замість поточного, зробленого на якихось старих технологіях.Deliverable у цьому випадку - новий інтернет-магазин.Outcomes - наприклад, вища стійкість до навантажень, більш чутливий інтерфейс, поліпшена безпека тощо.Можна сказати, що deliverables - це те, що ми робимо, а outcomes - навіщо ми це робимо.Розуміти цю різницю критично важливо, інакше можна дуже неприємно встряти, коли не розумієш, що саме маєш задиліверити клієнту - і навіщо.@Zatishna_Galera
👁 791 25-10-22 16:38
OPENAI ВИПУСТИЛИ СВІЙ БРАУЗЕРChatGPT Atlas – ШІ браузер на базі Chromium. В нього інтегровано багато ШІ‑функцій. Є можливість чатитись із ботом прямо з вкладки, дізнаватись про вміст сторінки, ставити питання. Є Agent Mode. Уміє за вас клі́кати, водити курсор і так далі. Наприклад, можна йому сказати, що ви хочете приготувати борщ, і щоб він склав продуктовий кошик для його готування та зайнятися своїми справами в інших вкладках, потім повернутись, підтвердити оплату і все. Крім цього є можливість роботи з контекстом, можна запитати бота, а на якому саме сайті ви дивились якісь товари, просто за описом - і він вам знайде та відкриє цю лінку з вашої історії. Пошук за замовчуванням - ChatGPT.Тренування за замовчуванням на даних з браузера не проводиться. Вже доступний всім користувачам безкоштовно на MacOS. Agent Mode - тільки для платних підписників.В цілому цікаво, я спробую його використати деякий час, хоча, чесно кажучи, на даний момент революції не побачив. Скоріше прикольне розширення для браузера в плані роботи з ChatGPT. Або ж ChatGPT, загорнутий в UI/UX браузера. Вірогідно, в майбутньому замінить мені Chrome, але на даній стадії - навряд чи. Поки все ж багато чого немає, що є там. Зручніше працювати в Chrome з відкритою вкладкою ChatGPT, ніж у ChatGPT Atlas мати урізаний функціонал повноцінного браузера.@Zatishna_Galera
👁 688 25-10-20 17:03
#ЧарівнийКомпас 🧭2️⃣1️⃣1️⃣ Завдання 211Що таке Organizational Change Management і як його впроваджувати в IT-проєктах?Починаємо нову п’ятірку питань про менеджмент. Поговоримо про Organizational Change Management.🤔 Organizational Change Management (він же управління організаційними змінами) - це підхід до управління переходом окремих людей, команд чи всієї організації з поточного стану в цільовий. Головна мета такого процесу - забезпечити, щоб зміни були ефективно впроваджені й правильно сприйняті всіма учасниками. Це можуть бути нові процеси, системи управління та все, що так чи інакше впливає на роботу команди.Organizational Change Management особливо важливий під час впровадження нових рішень, міграції з однієї системи на іншу, нових методів автоматизації, змін у вже усталених процесах розробки або переходу на нові інструменти.Наприклад, ви вирішили перейти зі Scrum на Kanban або підвищити мачурність вашої розробки та впровадити автоматичний CI/CD - усе це потрапляє під Organizational Change Management.Щоб зробити цей процес якомога менш болісним для команди й ефективним, його варто організувати в кілька етапів:1️⃣ Оцінка масштабу змін і зацікавлених сторінВизначаємо, кого саме ці зміни зачеплять, що вони змінять у поточних процесах, які ризики це несе.2️⃣ Формування плану змінРозробляємо детальний план переходу. Як будемо навчати команду, що нам для цього потрібно, як будемо комунікувати тощо.3️⃣ Комунікація змінПроводимо детальну комунікацію з командою. Пояснюємо причини цих змін, показуємо їм розроблений план. Важливо донести до команди причини змін, а не імплементувати все «бо ми так вирішили».4️⃣ Навчання та підтримкаПроводимо необхідні тренінги з командою.5️⃣ Закріплення змін і отримання зворотного зв’язкуЗбираємо фідбек від усіх зацікавлених людей, якщо є важливі зауваження - підлаштовуємо процес під них.6️⃣ Вимірювання ефективностіПеревіряємо, чи справді зміни приносять ті покращення, заради яких ми їх планували.#️⃣ Часто ми впроваджуємо зміни, яких вимагають наші клієнти, і часто натрапляємо на спротив команди. У таких випадках особливо важливо пояснювати їм причини таких побажань з боку клієнта й доносити до клієнта зворотний зв’язок від команди. При цьому все одно будуть невдоволені люди в команді - робота з такими людьми особливо важлива. Важливо показувати їм, що з часом ці зміни приносять заплановані покращення і що вони працюють, а не були затіяні просто заради «бажання щось змінити».@Zatishna_Galera