Багатоступенева збірка Docker-образу

Розробка ПО — складний процес, результатом якого є працюючий «в миру» продукт/сервіс. Давайте познайомимося з підходом, що дозволяє спростити життєвий цикл розробки. Реалізація Починаючи з версії 17.05, в докері з'явилися багатоступінчасті білди. Багатоступінчасті складання корисні для всіх, хто намагається оптимізувати Docker-файли і образи, зберігаючи їх легкими для читання та обслуговування. До появи цієї фічі застосовували підхід під назвою «Builder Pattern». Підхід «Builder Pattern» полягає у створенні двох Docker-файлів і sh-скрипта: Dockerfile.build — збирає додаток (витягає залежності, компілює і т. д.). Dockerfile — запускає додаток. build.sh — копіює артифакт, отриманий з Dockerfile.build, в контейнер, що збирається з Dockerfile. Приклад «Builder Pattern». Вихідний код прикладу можна отримати на GitHub . Dockerfile.build FROM golang:1.12.4-stretch # Change worck directory WORKDIR /go/src/github.

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

Програміст Антон Максимчук – про роботу в IBM, труднощі легалізації в Польщі й повернення до України

Від редакції: ми починаємо серію матеріалів про повернення в Україну. Розповімо про IT-спеціалістів, які поїхали з країни, але з різних причин повернулися. Якщо ви чи ваші знайомі мають такий досвід, напишіть на vlada@dou.ua . Антон Максимчук — один з тисячі молодих програмістів з України, які спробували знайті своєї місце під сонцем за кордоном. Він разом із дружиною 2016 року переїхав до Вроцлава, де влаштувався працювати в місцевому відділенні ІВМ. Нині пара повернулася до України й Антон розповів в інтерв'ю DOU свою історію. Антон з дружиною Освіта й перший досвід роботи Антон — типовий український програміст, який опинився в ІТ, закінчивши технічний ВНЗ України. Його альма-матер — Вінницький політехнічний університет, де він здобув освіту за фахом «Мікро - й наноелектроніка». «Якихось знань, пов'язаних з web-програмуванням, я не мав. Перші базові знання здобув від дядько — розробника Delphi Software. Учився в нього із четвертого курсу.

Опубліковано: 25/04/19 @ 07:27
Розділ Різне Читати далі...

DOU Ревізор в Innovecs: цілодобовий R&D-центр на п'ять поверхів

Знімальна група DOU Ревізор вже була в компанії Innovecs взимку 2014 року . З тих пір число фахівців в її київській команді зросла в два з половиною рази, а офіс розширився ще на три поверхи. Innovecs — глобальна IT-компанія з офісами в Нью-Йорку, Сан-Франциско, Лондоні, Тель-Авіві і R&D-центрів у Києві та Миколаєві. Компанія заснована в 2012 році і спеціалізується на розробці програмного забезпечення для ринків Supply Chain & Logistics, Healthcare, Gaming & Entertainment, Retail & E-Commerce, Media & AdTech. В даний час команда Innovecs налічує 609 осіб. У Києві працюють 570 осіб, 520 з них — технічні фахівці. В окрузі і поблизу В будівля БЦ «Преміум» за адресою вул. Вацлава Гавела, 6з, компанія переїхала ще навесні 2013 року. Станція метро «Берестейська» знаходиться в 20 хвилинах ходьби від офісу. Звідси кожні 15 хвилин відправляється автобус «Богдан», доставляючи фахівців, що працюють в бізнес-центрі.

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

Еволюція зарплат: як Junior Java Developer за 11 років став PM c $8000

[Від редакції: в рубриці «Еволюція зарплат» ми запрошуємо читачів DOU анонімно розповісти про своєму кар'єрному шляху, зарплатних злетах і падіннях. Якщо готові поділитися своєю історією, пишіть на valentina@dou.ua ] Ілюстрації: Аліна Кропачева Всім привіт. В подяку DOU за все корисності для IT-сфери України, і не тільки, я вирішив поділитися історією своєї кар'єри. Хочу розповісти не стільки про кількісному збільшенні свого доходу в IT, хоча він був значним і за 11 років виріс з $200 оплати стажування Java Developer до $8000 щомісячної зарплати Project Manager, — скільки про якісні зміни, необхідних для обґрунтованого і стабільного зростання оплати праці. У цій статті не буде ні докладного опису проектів, ні технологій, ні географічних локацій і назв компаній.

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

Чи залежать результати виборів у Києві від розміщення гілок метрополітену – експеримент з бібліотекою d3.js

У стрічці новин я помітив матеріал, де результати волевиявлення співвітчизників у першому турі президентських виборів було нанесено на карту . Мені здалося, що результати голосування по Києву мають певну геопозиційну закономірність, а саме перевага одного кандидата на дільницях вздовж гілок метро. А оскільки я давно хотів розібратися з бібліотекою d3.js та не було завдань, де її можна використати, вирішив зробити статистичне дослідження (побудувати декілька графіків), щоб підтвердити чи спростувати цю закономірність. Збір інформації Коли почав збирати інформацію, відкриті дані з результатами голосування не були доступні на сайті ЦВК , оскільки ще тривав підрахунок голосів. Тож була ідея написати краулер для отримання результатів з публічних сторінок. Альо обрав більш легкий варіант — запозив вже підготовлені дані з сайту dekoder.org . Крім результатів голосування на dekoder.org також запозичив координати виборчий дільниць.

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

DOU Проектор: Hurma — автоматизація HR-процесів та рекрутингу

У рубриці DOU Проектор всі бажаючі можуть презентувати свій продукт (як стартап, так і ламповий pet-проект). Якщо вам є про що розповісти — запрошуємо взяти участь. Якщо ні — можливо, серія надихне на створення власної made in Ukraine продукту. Питання і заявки на участь надсилайте на editors@dou.ua . Привіт всім, я Володимир Федак, CEO компанії IT Svit. Хочу розповісти вам історію створення Hurma — HRM системи, яка комбінує весь базовий функціонал для HR, рекрутингу та OKR в одній платформі. Ідея IT Svit створює віддалені команди для бізнесу, що працює з DevOps-технологіями та аналітикою великих даних. Коли кількість співробітників у компанії перевалила за 45, справлятися з рутинними HR-завданнями вручну стало важкувато. Облік лікарняних і роботи з дому, нарахування та затвердження відпусток, ведення графіка співбесід, зустрічей з працівниками, підготовка звітності.

Опубліковано: 18/04/19 @ 10:07
Розділ Різне Читати далі...

Реаліті: інфо-сайт, звіт #2 (промокод на 1000 крб на контент всередині)

Трохи затримав звіт, днів на 17 отак, ага =) Але краще пізно, ніж ніколи. Сьогодні підведу підсумки за реаліті сайту за березень 2019 . Посилання на перший звіт , де є всі ввідні дані. Тексти і публікація Весь контент замовляється на біржі WorkHard — в цьому місяці замовлено та надруковано 53 статті . Я буду рахувати гроші саме за вже виписані і опубліковані статті, зазвичай завжди є статті, які ще знаходяться в роботі, але я їх не враховую — просто порахую в наступному місяці. Разом на тексти витрачено: 22700 руб. Публікація здійснюється силами мого КМ і Фабрики (оформлення і публікація статей під ключ) Олексія Сорокіна. Разом на публікації витрачено: 7420 руб. Не складні розрахунки показують, що 1 стаття обійшлася в 428 рублів за написання та 140 за оформлення. Я вже давно користуюся біржею WHO і давно її рекомендую, а сьогодні ще є плюшки для тих хто хоче спробувати її в справі.

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

Job interview in English: як готуватися і що відповідати

Привіт! Мене звуть Ганна Гандрабури, ось вже майже 7 років я викладаю корпоративний англійська в IT-компаніях і допомагаю з перевіркою англійської при співбесідах. З досвіду скажу, що у більшості IT-фахівців практично завжди є запит на підготовку до співбесіди на англійській або пройти англійський тест при прийомі на роботу. За минулий рік ми з командою перевірили знання мови у більш ніж 200 кандидатів. У цій статті розповім про їхні болі і дам поради, як пройти співбесіду на визначення рівня англійської. Визначте свої слабкі місця Співбесіда англійською — це, як правило, розмова про вас, ваших компетенціях і кар'єрних планах з метою визначити, наскільки добре ви здатні вловлювати усне мовлення та висловлювати думки по англійськи. Процес підготовки буде залежати від вашого рівня, тимчасових рамок і т. д. Однак у будь-якому випадку основний акцент варто зробити саме на практику ваших speaking skills.

Опубліковано: 16/04/19 @ 10:48
Розділ Різне Читати далі...

C++ дайджест #14: Graphics API OpenGL, DirectX, Vulkan, Metal

У випуску: C++ Attributes, реліз boost 1.70.0 та Clang 8.0.0, VS2019 preview 1, алгоритми Boost. Привіт, мої любі сішники! Пропоную в цьому дайджесті розглянути графічні API. Почнімо? :) OpenGL OpenGL — кроссплатформне API для роботи з графікою. Існує два ключові варіанти OpenGL: Immediate mode (fixed function pipeline) — старіший. Матеріали для вивчення: OpenGL 2 Tutorials , The Official Guide to Learning OpenGL, Version 1.1 . Core-profile — актуальний «modern OpenGL». Сам modern почався ще з версії 2.1 у 2004 році. Матеріали для вивчення modern OpenGL: Learn OpenGL — найкращий туторіал, щоб швидко опанувати OpenGL. Пояснюються як основи, так і ширші можливості та особливості робити. Є детальна теорія кодом. Ще один гарний туторіал . OGL dev — непоганий туторіал з кодом. OpenGL Programming — розглянуто основи роботи та приклади як для modern OpenGL, так і для fixed pipeline OpenGL. Відео від Jamie King. GameDev.ru->OpenGL — можна знайте різнопланові статті.

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

Проектування retry обгортки для функцій на Swift

Всім привіт! Мене звуть Олексій Савченко, я iOS інженер в компанії Genesis. Нещодавно я зіткнувся з ситуацією, коли деяка функція у проекті могла згенерувати помилку при певному збігу обставин, і був сенс у повторному виклику цієї функції. Мова Swift і iOS SDK з коробки не містять такий функціонал, тому я хочу поділитися з вами своїм рішенням, яке я реалізував у пошуках відповіді для такої задачі. Реалізація У повсякденній роботі існує безліч ситуацій, коли використовуються функції можуть давати збій, наприклад, генерувати помилки, повертати порожні Optional-об'єкти і т. д. Якщо порожній Optional-об'єкт — це поганий спосіб сигналізації про те, що робота функції завершена некоректно, то генерація помилки (ключове слово throw) — це те, що Swift підтримує підтримує з коробки і є кращим способом за замовчуванням.

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

Сутичка двох екодзун: ITIL vs PMBoK

Всім привіт, я Роман Резніков, працюю в Project Management Office компанії SoftServe. Один із напрямків моєї роботи — розвивати компетенцію Service Manager і підходи у компанії по роботі з сервісними проектами (SLA-проекти, support, etc.). У цій статті я зроблю короткий порівняльний огляд двох джерел best practices. Це дозволить вам зорієнтуватися, що варто додати в свій арсенал PM'а. В чому проблема Для більшості проектних менеджерів (навіть Agile) класичним джерелом best practices для ведення проектів є PMBoK. Ті, хто хоч раз заглядав в PMBoK, пам'ятають, що проект обмежений за часом, унікальна, має чіткий скоуп. Але якщо подивитися на більшість проектів в ІТ, особливо у сфері ІТ-аутсорсингу — найчастіше це T&M або Dedicated Team, така форма кооперації більше схожа на сервіс. По суті, ми надаємо клієнту послугу, сервіс розробки програмного забезпечення, а цим проектом можна вважати, швидше, Fixed-Price.

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

DOU Labs: як в Provectus створили ProPlanner – SMART-планувальник робочих завдань

У рубриці DOU Labs ми запрошуємо IT-компанії ділитися досвідом власних цікавих розробок і внутрішніх технологічних ініціатив. Питання і заявки на участь надсилайте на editors@dou.ua . Привіт! Мене звуть Дмитро, я Software Engineer в компанії Provectus. Сьогодні розповім про ProPlanner — одному з наших внутрішніх проектів, який дозволяє зручно ставити і відстежувати цілі. Ідея Правильно ставити завдання, щоб досягати цілей в термін — один з найважливіших принципів роботи. Але іноді за великим ми не бачимо малого, а отже, визначивши мету, можемо забути про дрібні кроки на шляху до неї. Ідея проекту ProPlanner виникла з потреби покроково прописувати всі завдання і підзадачі, які ведуть до мети. Таким чином простіше відслідковувати прогрес і фіксувати всі дрібні, але важливі сабтаски. З сервісів, в яких реалізована ця задумка, можна згадати StickK , Goalscape , why I am і Lifetick . Але у них, на жаль, немає можливості інтеграції з Google Calendar або постановки цілей по SMART.

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

Три історії про IT-шників, що займаються громадською діяльністю

Ми розповімо три історії розробників, кожен із яких має некомерційний проект для душі. А цікавинка в тому, що ці ініціативи допомогли їм знайте собі в IT-сфері. Сергій Воловик, Software Engineer в EPAM, м. Вінниця Розвиває професійну спільноту від часів студентства й дотепер. Засновник нетворкінгу Coders Guild. За кілька років роботи в IT Сергій перепробував багато технологій: траплялися проекти на C/C++, Java, JavaScript, альо мріє попрацювати в Data Science й для цього докладає багато зусиль. Так склалося, що технологіями Сергій цікавився ще зі школи, вступивши на технічну спеціальність, альо самє громадська діяльність посприяла тому, що він працює у цій сфері. «Мені подобається інженерія, а ще розв'язків язувати цікаві завдання та створювати продукти. Під час навчання я зрозумів, що саме IT може мені це даті. Крім того, я можу потрапити до міжнародного ком'юніті й працювати на глобальний ринок.

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

Ruby/Rails дайджест #28: важливі оновлення для кількох версій Ruby on Rails, реліз Ruby 2.5.5 і 2.6.2

Всім привіт! Почнемо з того, що команда розробників Ruby on Rails викотила ряд оновлень, які усувають уразливості у версіях 4.2.11.1, 5.0.7.2, 5.1.6.2, 5.2.2.1 і 6.0.0.beta3. Також спільнота Ruby продовжує вивчати функціональні особливості фреймворку Ruby on Rails 6 (зверніть увагу на добірку статей від BigBinary). Тренди в співтоваристві Ruby В Ruby on Rails виявлені вразливості, і команда розробників якомога швидше встановити оновлення. Юкихиро «Matz» Мацумото , що міцне співтовариство формується тільки навколо працюючого програмного продукту. За Noah Gibbs, останні версії Ruby, а саме 2.5 та 2.6, стабільніше, ніж попередні. Ruby 2.6 на 10 тис. масивів менше, ніж версія 2.5. Релізи Rails 5.2.3 — представлена версія 5.2.3 фреймворку Ruby on Rails. Rails 4.2.11.1, 5.0.7.2, 5.1.6.2, 5.2.2.1, and 6.0.0.beta3 — команда розробників Rails викотила ряд оновлень, в яких виправлено ряд серйозних вразливостей. Rails 5.1.7 — вийшла стабільна версія Rails 5.1.7. Ruby 2.6.

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

Прогнозування на стороні клієнта за допомогою TensorFlow.js

Всім привіт, мене звати Матвій, я працюю Data Scientist-му. Моя робота складається з попередньої обробки даних, розвитку та розгортання моделей. Сьогодні я поділюся з вами своїм досвідом і покажу, як розгорнути модель у такий спосіб, щоб частина розрахунків відбувалася на стороні клієнта. Ця стаття призначений для всіх, хто створив модель і бажає зменшити навантаження на сервер, передавши частину з прогнозуванням клієнтові. Особливо для Data Scientist-ів, які використовують Python щодня і погано володіють Javascript. Вступ Уявімо, що ви витворили якусь чудову модель, яка робить круті речі і допомагає людям. Наприклад, модель прогнозує улюблений емоджі людини на основі фотографії її чашки. Ви завантажили цю модель в інтернет. Щоденне використання сягає приблизно 1000 запитів — небагато. Простий сервер може дати з цим раду, але одного дня про цю модель дізнається багато людей, і ви почнете отримувати по 100 тисяч запитів щоденно. Ваш сервер, швидше за все, «помре».

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

DOU Проектор: Kattana — професійний торговий термінал для криптовалют

У рубриці DOU Проектор всі охочі можуть презентувати свій продукт (як стартап, так і ламповий pet-проект). Якщо вам є про що розповісти — запрошуємо взяти участь. Якщо ні — можливо, серія надихне на створення власного made in Ukraine продукту. Питання і заявки на участь надсилайте на editors@dou.ua . Всім привіт! Мене звати Богдан, я співзасновник торгового терміналу Kattana. Півроку тому ми з командою почали будувати продукт з нуля. З того часу ми багато чого досягли: сформували з нуля крос-функціональну команду, визначили рамки MVP і нещодавно запустили бета-версію нашого продукту для macOS та Windows. Kattana — це професійний десктопний торговий термінал для криптотрейдерів, який дозволяє паралельно торгувати на кількох криптобіржах і наділений інструментами, які повністю покривають увесь робочий процес трейдера, починаючи з аналізу ринку і закінчуючи оцінкою трейдингової успішності та управлінням ризиками.

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

Product Management дайджест #7: гейміфікація, product-led growth, як працювати з ML

Всім привіт, мене звати Олександр Ємельянов, я Product Manager в Лондонському Badoo — найбільшому дейтинг-додатку в світі. У цьому випуску: як робити CTA, розбір бізнес-моделі Atlassian, запис лондонського ProductCon. Почитати В Badoo дуже маленька команда продакт-менеджерів з божевільним співвідношенням девелоперів до продакту — близько тридцяти до одного. Хтось назве це недоліком, але я бачу в цьому можливість безпосередньо впливати на більш ніж 400 мільйонів користувачів. Впливаю я в основному на Value Proposition. Моя мета полягає в тому, щоб користувачі розуміли, що купують, навіщо купують і які бенефіти отримують. Value Proposition не має однозначної метрики: це і revenue, і retention, і NPS. Досягнення правильного Value Proposition — це не про девелопменті фичей, а їх поясненні. Гейміфікація теж може бути непоганим рішенням для донесення цінності, тому пропоную вам прочитати наступну статтю.

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

Як робити доповіді на конференціях - поради 40+ експертів

Как делать доклады на конференциях - советы 40+ экспертов Дорогі друзі, представляю вашій увазі опитування, який я провів в допомогу тим, хто виступає з доповідями на конференціях або планує це робити. Я опитав своїх колег і знайомих, у яких є досвід публічних виступів на різних заходах. Я дякую всіх учасників опитування за приділений час та цікаві відповіді. В опитуванні також є декілька відео з радами, в тому числі від мене Я поставив такі питання: 1. Як подолати хвилювання і страх перед виступом на конференції? 2. Що порадиш з підготовки доповіді та оформлення презентації? 3. Як правильно виступати на публіці? Яких помилок потрібно уникати? 4. Можеш навести приклади відомих доповідачів у будь-якій сфері, на виступи яких можна орієнтуватися? Відповіді учасників я розташував по хронології в порядку їх отримання.

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

Product Manager Маркіян Мацех: як за 7 місяців знайті роботу мрії в Нью-Йорку

Маркіян Мацех з кінця січня — Sr. Product Manager у Vimeo і вже у квітні переїжджає працювати в офіс компанії до Нью-Йорка. До цього він був CPO та co-founder у стартапі Senstone та Head of Product Track IT Arena. В інтерв'ю Маркіян розповів про сім місяців пошуку роботи своєї мрії, про ті, як обирав компанії, як зв'язку язувався з потрібними людьми, про співбесіди на різних етапах та п'ять on-site співбесід у різних країнах. — Розкажи про свій професійний background. Загалом я в ІТ вже вісім років. У минулому працював Product Manager and Software Engineer в компанії ELEKS. 2016 року ставши співзасновником та CPO в стартапі Senstone , у якому створюють однойменний кулон для перетворення голосових заміток у текст. У 2017 році Senstone зібрав $300 000 на Kickstarter для виробництва кулона. Хоч нині не працюю в цьому стартапі, але досі вболіваю за компанію й користуюся продуктом, і як shareholder чекаю на exit :) Також із 2014 року я Head of Product Track IT Arena .

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

Як стати full stack розробником, знаючи back-end. Покрокова інструкція

Всім привіт, мене звати Влад, і я вже більше семи років займаюся комерційною розробкою. Раніше я писав, як знайти першу роботу , як готуватися до співбесід і як вчити .NET . Зараз я працюю в компанії DataArt. Мій основний стек технологій — екосистема .NET, але майже у всіх проектах я займався також і front-end частиною. У цій статті я спробую сформувати загальне розуміння сучасної front-end екосистеми для людей, які вже мають досвід в розробці, неважливо, на яких back-end технологіях. І дам базові рекомендації тим, хто хотів би розширити свою область компетенцій. Навіщо це потрібно Зараз на ринку є якийсь тренд на full stack фахівців, здатних реалізовувати всі частини проекту, а не тільки якусь одну. Цьому є багато пояснень: Синхронізація між front-end і back-end командами вимагає часу і деяких технічних засобів (swagger, версирование API). Чим більше людей потрібно синхронізувати, тим вище ймовірність помилки через людського фактора.

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

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 174 175 176 177 178 179 180