iOS дайджест #36: MVVM на Combine, Swift 6, конференції 2020

У випуску: 10 заповідей iOS-розробки, книга SwiftUI, план на Swift 6, пам'ятка по роботі з форматтерами, багато бібліотек і трохи про функциональщину. Статті Mac Pro Xcode compiling times
Mac Pro коштує набагато дорожче топового Macbook або Mac Mini, але наскільки ж він швидше компилит? Спойлер: не набагато швидше. Thinking in SwiftUI
Ось і obj-c.io наспіли з книгою по SwiftUI. Обіцяють 5+ годин відео, приклади коду, але це все за $79. Downloading and Caching Images in SwiftUI
Класична задача — завантажити, закешувати і відобразити картинку. Тільки тепер на SwiftUI. Exploring Swift 5.2's new features functional
Не можу сказати, що мені подобаються зміни в Swift 5.2, але в будь-якому випадку класно, що мова розвивається. On the road to Swift 6
Продовжуючи тему — вже є план на Swift 6. 2020 iOS Conference Calendar
Рік тільки почався, а купа конференцій вже почали підготовку.

Опубліковано: 22/02/20 @ 11:00
Розділ Різне Читати далі...

Slim Docker image, або Як зменшити вагу Java-додатки

Вітаю, дорогий читачу DOU! Мене звати Ростислав, я Java-розробник в DGN Games, де працюю вже третій рік. Це продуктова міжнародна компанія, де велика команда займається створенням онлайн-ігор. Тут я отримав величезний досвід як в підтримці і доопрацювання високонавантаженої системи, так і в побудові микросервисной архітектури програми з нуля з використанням сучасного Spring Boot стека (включаючи всіма улюблений Kubernetes). У цій статті не буде інформації про складання кастомних ОС, порівняння існуючих ОС, версій Java, документації по роботі з Docker, так як мається на увазі, що ти вмієш написати свій Dockerfile і зібрати образ на його основі. Зате буде розповідь про те, як мені вдалося побудувати Docker-образ вагою всього ~100-200 МБ, що базується на Debian Buster slim , з використанням Java (версія 13.0.2). В чому проблема Якщо ти читаєш цю статтю, значить, так само, як і я, цікавишся новими технологіями у світі Java.

Опубліковано: 21/02/20 @ 11:00
Розділ Різне Читати далі...

Open source: що це, для чого і як розпочати

Понад 8 років я працюю у сфері розробки програмного забезпечення, переважно з JavaScript і RoR, і всі 8 років беру участь в open source. Серед проєктів, участю в яких пишаюся найбільше — Botpress та Spree . Уперше з open source мені довелося мати справу ще в школі, коли я пробував запускати Linux замість чергового «перевстановлення Windows» у собі й своїх близьких. Згодом почав використовувати його й у роботі, проте не наважувався брати участь. Свій перший PR я відкрив до Spree, з яким саме тоді працював і якому бракувало перекладу українською. Його прийняли, і вісь тоді я зрозумів, що, виявляється, це не лише не так і складно, а й можна поєднувати роботу із задоволенням. Але цю статтю пишу не для того, щоб розповісти, що в Open Source робив я. Моя мета — пояснити, чому open source потрібні ві.

Опубліковано: 20/02/20 @ 11:00
Розділ Різне Читати далі...

DOU Ревізор у Львові: «Офіс Elitex з видом на Оперу»

Цього разу DOU Ревізор завітав до львівського офісу Elitex . Головний фокус аутсорсингової компанії спрямований на JavaScript-розробка, проте також команда має справу з технологіями Java, Python та .NET. Компанія працює з клієнтами з США, Великої Британії, Європи, Ізраїлю та Сінгапуру. Компанія заснована у 2015 році та зареєстрована у Британії, а єдиний офіс розробки знаходиться у Львові. Команда налічує 45 осіб, 30 з них — технічні спеціалісти. Найбільше в команді senior-позицій, трохи менше middle-, а найменше — junior-спеціалістів. В околицях і поблизу Вже два роки офіс Elitex знаходиться за адресою вулиця Городоцька, 2 навпроти Львівського оперного театру.
Оскільки офіс розташовано в історичному центрі міста, команда має можливість обирати місце для обіду з вичерпного переліку закладів поблизу. Популярністю користуються паби «Феркель», де чек обійдеться у суму до 100 грн, та «Когут», у якому вартість бізнес-ланчу складає 89 грн.

Опубліковано: 19/02/20 @ 08:00
Розділ Різне Читати далі...

10 інструментів ефективної роботи, або Забудьте про багатозадачності

[Павло Обід — засновник Growth Factory — навчальної платформи для IT-підприємців, організатор конференції Outsource People, CEO Sloboda Studio — RoR agency] Про принципи ефективного планування часу можна почитати в попередньому матеріалі про особистої ефективності. Тут ми зосередимося на інструментах, які допомагають виконати заплановане. 1. Контроль витрат енергії Є такі таски, які займають не дуже багато часу, але вимагають багато енергії. Для мене це монотонна, одноманітна робота, наприклад, набирати текст. Вона втомлює, хоча мозок у процесі майже відключається. Дуже сильно емоційно виснажують складні переговори. Власниця одного з наших офісів — дуже важка в спілкуванні жінка, і спілкування з нею я делегував операційного директора. Лекції та виступи на публіці для мене теж дуже енергетично затратні. Але вони і дають енергію. Враховуйте енергетичні витрати на завдання в своєму плані на день.

Опубліковано: 18/02/20 @ 08:00
Розділ Різне Читати далі...

Чим незадоволені українські програмісти? Глас народу 2019

Оцінюючи свої компанії для рейтингу роботодавців , українські IT-фахівці ставили оцінки за різними критеріями, а також в коментарях уточнювали, що саме їм не подобається (якщо поставили бал нижче середнього). З більш ніж 5 тисяч коментарів ми вибрали найтиповіші і найцікавіші скарги та побажання. До речі, якщо ви ще не голосували в рейтингу за свою компанію, то зробіть це зараз . Компенсація Оцінювали матеріальну компенсацію та корпоративний соцпакет. Респонденти залишили 1301 коментар, в яких найчастіше скаржилися на непрозорий та нерегулярний процес перегляду зарплат, неоплачувані овертайми, невелику кількість днів відпустки та лікарняних, а також відсутність компенсації спортзалу та медичного страхування. «Керівник ніколи не ініціює обговорення зміни матеріальної компенсанції і задоволення поточною позицією, як у інших компаніях це робиться раз у пів року.

Опубліковано: 17/02/20 @ 08:01
Розділ Різне Читати далі...

BA дайджест #7: 20 уроків від аналітика з 20-річним досвідом, Top skills for 2020

Всім привіт! В цьому номері ви знайдете найбільш гідні матеріали за січень-лютий серед тих, що потрапили мені до рук, а також кілька більш ранніх статей, які мають актуальність й сьогодні. Також, якщо в когось є ідеї тим, які варто висвітлювати в дайджесті — пишіть в коментарях :) Приємного читання! Цифри в дужках біля заголовків — приблизний час на вивчення матеріалу Статті Загальна Acceptance Criteria: Purposes, Formats, and Best Practices (8 хв). Дуже хороший огляд для початківців, щоб отримати загальне уявлення про підходи до роботи з критеріями приймання. How to Run a Prioritization Session Using the MoSCoW Framework (8 хв). Ще один відмінний огляд. Автор пояснює тонкощі застосування техніки, а також надає свій шаблон в Google Sheets для фіксації прийнятих рішень. MVP: balancing 'value' and 'minimums' (6 хв).

Опубліковано: 15/02/20 @ 11:00
Розділ Різне Читати далі...

Використання Defer Go

Привіт, мене звуть Ярослав. Вже рік я займаюся Go-розробкою в компанії Evrius . У цій статті опишу добре відомі приклади використання команди defer Go та покритикую, коли defer зайвій. Відповідно, початок статті буде розрахований на початківців, а продовження — на вже досвідчених. Defer і порядок у коді Defer — команда для відкладеного виконання дії перед завершенням основної функції. Defer схожий на пружину, яка в люту зиму зачиняє відчинені двері. Популярний приклад, це закриття файлу або закриття з'єднання єднання до БД: func FileOperationsExample() error { f, err := os.Create("/tmp/defer.txt") if err != nil { return err } defer f.Close() // запис у файл або інші операції return nil } Ще один приклад для блокування та розблокування: import "sync" type CurrencyRateService struct { map data[string]map[string]float64 m sync.RWMutex } func (s *CurrencyRateService) Update(map data[string]map[string]float64) { s.m.Lock() defer s.m.Unlock() s.

Опубліковано: 14/02/20 @ 11:00
Розділ Різне Читати далі...

Розробка opensource - та приватність Composer-пакетів: як це робити і навіщо

У цій статті продемонструємо розробка PHP-пакету, розберемося, для чого це робити та як автоматизувати рутинні дії для його підтримки. Стаття буде цікава програмістам будь-якого рівня, які планують створити свій opensource-пакет, або тим, хто, розробляючи приватний пакет, хоче знайті шлях інкапсулювання складної логіки поза межами основного репозиторію. Composer Майже кожен PHP-розробник знає про Composer . Це менеджер пакетів, який революціонував PHP і давши дуже потужний поштовх для розвитку цієї мови. Тепер для того, щоб використати у своєму проєкті напрацювання інших девів, розробникам не треба завантажувати PHP-файли, копіювати код і робити інші, дивні для сучасної розробки, налаштування. Достатня просто знайте потрібний пакет на packagist.org і виконати команду composer require author/package-name або composer install, якщо потрібно встановити пакети з попередньо сконфігурованого файлу composer.json.

Опубліковано: 13/02/20 @ 11:00
Розділ Різне Читати далі...

Як подружити розробника і менеджера

Всі компанії, а тим більше проекти, різні: відрізняються завдання, підходи і команди. Їх об'єднує лише одне — напруженість між менеджерами і розробниками. В попередній статті я писав про те, що значить бути лидом (а це багато в чому означає бути менеджером). Напевно, такий досвід дозволяє інакше поглянути на ситуацію і спробувати копнути тему глибше, ніж «технарі проти гуманітаріїв» або «виконавець проти керівника». А розібравшись, подумати, чи варто воно того, чи ні. У будь-якій статті на DOU про менеджерів легко знайдеться хоча б один з наступних коментарів:
«Scrum не потрібен, адже діди п'ятирічками нейромережі на перфокартах писали». «Менеджери — дармоїди. Тільки вимоги дайте, а далі ми самі». «Мітинги — зло. Домовляйтеся без мене, але щоб по-моєму вирішили». «Софт-скіли для софт-людей. Краще про код думайте». «JavaScript мову, Front-End не програміст». Читаючи примітивні висловлювання з таким посилом, стає соромно за своїх колег.

Опубліковано: 12/02/20 @ 11:00
Розділ Різне Читати далі...

Маніпулюємо користувачами: інстинкти

It ain't what you don't know that gets you into trouble. It's what you know for sure that just ain't so.Mark Twain Вступ Привіт, мене звати Ян, і я намагаюся застосовувати свій більш ніж 10-річний досвід роботи з даними та системами в ІТ до своїх проектів і бізнес-починань. Це друга стаття з серії «Маніпулюємо користувачами». У першій публікації ми розглянули маніпуляції з допомогою логіки та емоцій, тут же ми спустимося на рівень нижче, і приділимо увагу триггерам і інстинктам — святого Граалю маніпуляцій і спотвореного сприйняття. Вирішивши присвятити свій проект AI.Decider поліпшення якості прийнятих рішень користувачами за допомогою NLP-технологій (не плутати з НЛП) і спеціалізованих інструментів для поліпшення продуктивності, я зіткнувся з великою проблемою — лінню роду людського.

Опубліковано: 11/02/20 @ 11:00
Розділ Різне Читати далі...

$2000 за рекомендацію та робота в оточенні друзів. Як працюють реферальні програми в ІТ

За даними опитування DOU , фахівці ІТ-сфери активно користуються реферальними програмами: 26,5% шукачів знаходять роботу завдяки рекомендаціям знайомих. Це найпопулярніший канал пошуку. І це не дивно. Працедавці задоволені, бо реферали допомагають закривати «складні вакансії», створювати більш дружню та комфортну атмосферу в колективі, і навіть розвивати власний бренд. Працівники теж у виграші: крім можливості отримати фінансову винагороду чи інший цінний подарунок, є шанс збудувати сильну команду з однодумців. Розглянємо реферальні програми докладніше. Ми поспілкувалися з представниками ІТ-компаній, фахівцями, що радять знайомих на відкриті вакансії або ж самі знайшли роботу завдяки рекомендації.

Опубліковано: 10/02/20 @ 11:00
Розділ Різне Читати далі...

C++ дайджест #24: Code cleanup, VR, з чого почати вивчення С++ та створюємо валентинку

Привіт, мої любі сішники! У цьому випуску пропоную ознайомитися з VR, видалити dead code з legacy та почати вивчати З++, якщо раптом ви ще не сішник. Почнімо? :) Code cleanup З розширенням кодової бази збільшується ймовірність залишку кодом, який ніде не використовується. Щоб його швиденько позбутися, спробуємо інструменти: Visual Studio 2019 ; ReSharper:Code Cleanup ; Clang . VR Наразі ми маємо досить велику кількість VR-систем (Vive, Oculus, Google тощо) . До VR можна підійти з двох боків: кроссплатформенно — за допомогою ігрових движків, таких як Unreal Engine , — та через використання SDK (oculus SDK , VIVE , Google VR SDK for Android NDK ).

Опубліковано: 09/02/20 @ 12:12
Розділ Різне Читати далі...

Як створити реєстр ризиків та працювати з ним

Усім привіт! Мене звуть Андрій, і я маю власний досвід з особистого та корпоративного консультування з проєктного й продуктного менеджменту. В ІТ-галузі майже 15 років, 10 з яких — у царині менеджменту. Свого часу працював як PM, PDM, Agile Coach, VP Delivery та СТО. Керування ризиками — одна з моїх найулюбленіших спеціалізацій, тому вважаю, що саме з неї найдоречніше почати мої статті для DOU. Залежно від типу проєкту, на якому працював, від методології розробки, складності проєкту, типу контракту й навіть від стеку технологій, я використовував різні інструменти управління ризиками. Почнімо з найпростіших. Що таке ризики Далі йтиметься про ризики та імпедименти, імпедимент-беклоги і реєстри ризиків, тож коротко висвітлимо ці питання та встановимо межі. Ризик — негативна подія, що може відбутися в майбутньому та вплинути на одну або кілька сфер проєкту: обсяг, бюджет, годину тощо. Це ймовірна проблема. Якщо проблема відбулася, то це вже не ризик.

Опубліковано: 04/02/20 @ 11:00
Розділ Різне Читати далі...

Young person, motivated guy, maternity leave. Що не так з описом ваших вакансій і як це виправити

Всім привіт! Мене звуть Олексій Суслов, я займаюся програмними продуктами в Biasless . Ми створюємо інструменти, які допомагають помічати і виправляти стереотипні судження і робити онлайн-спілкування більш продуктивним. У цій статті я розповім про деяких неочевидних стилістичних помилок у текстах вакансій, які можуть бути класифіковані як ознаки дискримінації. Оскільки вони неочевидні, їх, швидше за все, мало хто помітить. Але якщо це раптом станеться, то вакансія отримає менше відгуків і постраждає імідж компанії. Наприклад: «We are seeking an energetic person with a strong technology background, who is ready to work hard and grow up his skills».
«It is a position for young, energetic, self-organized and highly motivated talents». Якщо ви не бачите нічого особливого в цих формулюваннях, тоді ця стаття для вас. Заздалегідь хочу попередити : я буду торкатися таких тем, як інклюзивність, дискримінація і права людини.

Опубліковано: 03/02/20 @ 11:00
Розділ Різне Читати далі...

Android дайджест #37: підсумки 2019, чутки про Android 11 і Kotlin-first

Цей дайджест написаний у співавторстві зСергієм Жуком . У випуску: забезпечення безпеки даних користувачів, Kotlin 1.4, псевдолокализации Android, маркування зображень, Android Game SDK і новий інструмент вибору дати. Новини та аналітика Підсумки 2019 роки від Android і Google Play: що було і що нас чекає в новому десятилітті. На Google IO 2020 (з 12 по 14 травня) очікується анонс Android 11 . На даний момент нам відома лише одна функція — Scoped Storage (прискорює читання з пам'яті, підвищує безпеку і позбавляє вас від необхідності давати дозволу кожному новому додатку). Кращі практики використання Flow , які були в додатку Android Dev Summit 2019byManuel Vivo. «У 2020 році розробка Android продовжить бути Kotlin-first » byDavid Winer. Кращі практики для забезпечення безпеки ваших даних користувачів by Stefan Kofle. Kotlin Kotlin 1.4 — новий компілятор, більше кроссплатформенности і KLib.

Опубліковано: 01/02/20 @ 11:00
Розділ Різне Читати далі...

Чому методологія не врятує ваш проект

Привіт, я Макс. Встиг попрацювати менеджером проектів в аутстафе і аутсорсе, зараз працюю операційним менеджером в продукті, до IT займався проектами в реальному секторі економіки. Ця стаття про те, чому методології, якими ми користуємося в розробці, не стали срібною кулею, допомагає успішно закривати проекти. Вона стане у нагоді як менеджерам-початківцям, так і тим, хто вибрав для себе комфортну методологію і не хоче з нею розлучатися. Інженерам ця стаття допоможе відповісти на питання, чому ніяк не настане холакратия і менеджерів не відправлять займатися цією роботою. В будь-якій темі є помилкові стереотипи, і їх легше всього виявити по гучних гасел, які озвучують інструктори, коучі та інші євангелісти, які їй навчають. В автомобільній темі це «навчимо екстремального водіння», в кулінарії — «готувати стейки», в SEO — «чорним технікам просування», в управлінні проектами — «аджайл-методологій», ясна річ. Вчаться такому самі фахівці і їхні клієнти.

Опубліковано: 31/01/20 @ 08:00
Розділ Різне Читати далі...

«На шахту ти можеш прийти завжди». Як 33-річний шахтар став програмістом

Костянтин Петренко з Кропивницького пропрацював в шахті 10 років. У 33 роки він вирішив змінити своє життя і почав вчитися програмування. Про домашні завдання в шахті, річному навчанні і роботі Android-розробником Костянтин розповів DOU. Програмісти завжди здавалися мені якимись чарівниками з іншої планети. Я любив проводити час за комп'ютером, подобалося встановлювати і копатися в програмах, але ніколи не думав, що сам стану розробником. У мене навіть не було ні одного знайомого, з ким можна було б поговорити про програмуванні або дізнатися, як і де вчитися. Через кілька тижнів після того, як я дізнався про Ш++ (безкоштовна школа програмування, недавно у нас вийшов матеріал про неї, — ред.)і подав заявку на навчання, у школі був івент. На ньому ейчари розповідали, як проходити співбесіди, і там я дізнався про існування світчер — людей, які переходять в IT з інших професій.

Опубліковано: 29/01/20 @ 11:00
Розділ Різне Читати далі...

ІТ в Україні: куди ми рухаємося

[Дмитро Овчаренко — CEO & Founder at Alcor, віце-президент з юридичних і фінансових питань Асоціації IT Ukraine, 15+ років в оперативному управлінні ІТ-бізнесом, допоміг десяткам іноземних технологічних компаній відкрити R&D-офіс в Україні] IT-сфера в Україні — одна з найдинамічніших і найперспективніших. Її вже давно називають локомотивом розвитку української економіки, але так було не завжди. Понад десять років я працюю в українських ІТ-компаніях і разом з колегами розвиваю екосистему, тому для тих, кому цікаво, що було й що буде, підготував короткий екскурс. За даними DOU , зараз в українській ІТ-індустрії працює понад 190 000 фахівців. Як зазначено у звіті IT Ukraine Association , податок, який вони сплатили, у 3,7 рази перевищує середні показники по країні. Тільки за 2018 рік ІТ-послуги принесли майже 10 млрд грн податків в українську скарбницю. Рік від року ці цифри зростають у середньому на 20-25%, завдяки чому економіка України зможе дістати поштовх для розвитку.

Опубліковано: 28/01/20 @ 11:00
Розділ Різне Читати далі...

Свята, курси з програмування та дитячі кімнати – що IT-компанії пропонують для дітей співробітників

Серед усіх бонусів, які IT-компанії пропонують своїм співробітникам, є й ті, що стосуються їхніх дітей, адже догляд за малечею потребує значних сил та чимало годині. Ми розпитали компанії про ті, як смороду допомагають співробітникам при народженні дитини, з піклуванням про здоров'я, розвагами та освітою для малечі, а також детальніше про дитячі куточки й кімнати в офісах. У статті зібрали все найцікавіше. Бонуси при народженні дитини Народження дитини — визначна подія в сім'ї. Тож компанії не пропускають нагоди привітати працівників, які стали батьками. Найпоширеніша практика — грошовий бонус. Крім того, часто дарують сертифікат до дитячого магазину або набір з брендованими промовами для малят (боді, шапочки, пляшки, ковдри, рушник для купання, іграшки тощо). Здоров'я Окрім звичних лікарняних, компанії часто пропонують співробітникам медичне страхування для дітей і стверджують, що послуга популярна.

Опубліковано: 27/01/20 @ 12:23
Розділ Різне Читати далі...

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173