У цій статті ми поділимося досвідом автоматизації запуску, тестування і конфігурації великих проектів з використанням docker-compose. Кілька простих змін можуть допомогти Вашій команді бути більш ефективною і витрачати час на важливі, а не на рутинні завдання.

Docker в 2017

На конференції Dockercon 2016 CEO компанії Docker розповів, що кількість додатків, що запускаються в Docker зросла на 3100% за останні два роки. Понад 460 тисяч додатків по всьому світу запускаються в Docker. Це неймовірно!
Якщо ви все ще використовуєте Docker, я б порадив почитати відмінну статтю про використання Docker у всьому світі. Docker повністю змінив те, як ми пишемо програми і став невід'ємною частиною для розробників і DevOps команд. У цій статті ми вважаємо, що ви вже знайомі з Docker і хочемо дати вам ще одну серйозну причину продовжувати використовувати його.

Читати далі →

Kotlin — популярний інструмент у розробників на Android, але, як відомо, це не єдине йому застосування. Тому коли я наважився написати простий веб-сервіс, здалося розумним зробити це як раз на Kotlin.
Виявляється, Spring Framework — це не єдиний варіант. Існує ще одна потужна асинхронна альтернатива — Vert.x, яка чомусь рідко згадується в контексті Kotlin. Про це тандемі і поговоримо в цій статті.
Vert.x + Kotlin
Читати далі →

Якщо ви будете шукати відповідь на питання: «Яку мову програмування вибрати першим», то де-то в 90% всіх випадків вам буде запропоновано Python — як найбільш простий у вивченні мову. І очевидно, що певне число людей, які до цього не вчили програмування, виберуть Python з-за цих рекомендацій. І ось тут у нас починається проблема, про яку піде мова нижче. Звичайно, з описом того, як я дійшов до такого життя.

Читати далі →

Ви напевно думаєте, що писати на php — це просто. Та «hello, world» виглядає приблизно так:

<?php
echo 'Hello, world!';

Звичайно, чого ще очікувати від мови з низьким порогом входу. Ну так, саме так і було раніше. Багато років тому. Але тепер, у 2017 році ніхто вже так не робить. Давайте розглянемо, чому і спробуємо побудувати наше більш реалістичне hello-world програму по кроках, а їх, скажу відразу, вийшло не мало.


Читати далі →

Це сталося в понеділок 13 лютого, світ більше не буде колишнім. Відкрита вакансія:

Для роботи над нашими проектами ми шукаємо сильного front-end розробника. Вам належить амбітне завдання: впровадити компонентний підхід у розробку всіх поточних і нових проектів компанії.
Відмінно, працюємо далі! Виконую "тестове завдання".
Читати далі →

Ми знову публікуємо розшифровку доповіді конференції HighLoad++ 2016, яка проходила в підмосковному Сколково 7-8 листопада минулого року. Володимир Протасов розповідає, як розширити функціональність NGINX з допомогою OpenResty і Lua.

Всім привіт, мене звати Володимир Протасов, я працюю в Parallels. Розповім трохи про себе. Три чверті свого життя я займаюся тим, що пишу код. Став програмістом до мозку кісток в прямому сенсі: я іноді уві сні бачу код. Чверть життя — промислова розробка, написання коду, який йде прямо в продакшн. Код, яким деякі з вас користуються, але не здогадуються про це.

Щоб ви розуміли наскільки все було погано. Коли я був маленьким джуниором, я прийшов, і мені видали такі двухтерабайтные бази. Це зараз у всіх highload. Я ходив на конференції, запитував: «Хлопців, розкажіть, у вас big data, все круто? Скільки у вас там бази?» Мені відповідали: «У нас 100 гігабайт!» Я говорив: «Круто, 100 гігабайт!» А про себе думав, як би акуратненько зберегти покерфейс. Думаєш, так, хлопці круті, а потім повертаєшся і ковыряешься з цими многотерабайтными базами. І це — будучи джуниором. Уявляєте собі, який це удар?

Я знаю більше 20 мов програмування. Це те, чим мені довелося розібратися в процесі роботи. Тобі видають код на Erlang, C, С++, на Lua, Python, Ruby, на чомусь ще, і тобі треба це все пиляти. Загалом довелося. Точну кількість порахувати так і не вдалося, але десь на 20 число загубилося.

Читати далі →

Дана замітка, можливо буде цікава тим, хто у своїх проектах використовує Oracle Apex. Принцип описаний тут, можна застосувати під будь-які інші завдання, використовуючи не тільки python, але і будь-який інший мову.

Oracle Apex — це конструктор веб додатків зі своєю атмосферою. Для простих додатків його функціоналу більш ніж достатньо, але коли програма активно розвивається, то виникають певні труднощі.

Для інших популярних мов і фреймворків, є гігантська кількість бібліотек виконують будь-які завдання. У випадку з Oracle Apex, готових і сучасних рішень дуже мало.

Читати далі →

Рекомендується до прочитання верстальникам, а так само їх керівникам. Не є керівництвом до якого-небудь дії.

Сьогодні 13 лютого 17-ого. Історія почалася 3 дні тому. Власне проблема з'явилася наступна. Є каруселька (це тип слайдера), верстальщику компанії «R&K» прийшов запит, про те що каруселька не адаптивна, тобто не стискається як годиться, при стисненні вікна браузера по ширині. Баг виявлено в Firefox v50.1.0 32-bit, Win7 32-bit. При цьому, на наступний день, з'явився дивний телефонний дзвінок від замовника, з повідомленням про те, що все працює, і подяку за швидке реагування. Т. к. верстку взагалі ніхто не дивився, то люди почухали в подиві ріпи і розійшлися. Через два дні знову подзвонив замовник, і вже люто/нестямно/дико/люто почав кричати, що верстка знову не адаптивна, і не стискується у вікно браузера при стисненні браузера. Ось тут-то люди задумалися і почали крутити верстку.

Читати далі →

Все геніальне просто. Але до цієї простоти потрібно перечитати тисячі мінлива. Тому, розібравшись, мені захотілося написати quick start по тому, як зробити прозору авторизацію в Web-додатку для користувача, авторизованого AD, і поділитися своїм тестовим проектом. Цікавий погляд з боку.



Читати далі →