Pull to refresh
4
0
Иван Жук @ivan_zhuck

Full stack web developer

Send message

Поворот на 180. Из CRM-систем в геймдев #1

Reading time3 min
Views9.8K


Доброго времени суток. Хоть это не срок, но последние лет восемь я занимался практически только вебом. Работа в интернет-агентстве (раньше это называлось более приземленно — веб-студия), уход на фриланс, работа по контракту с различными ребятами из Америки/Европы, попытки написать свой золотой стартап.

Но спокойное выставление ежемесячных счетов и спокойные восемь часов в день — иногда хочется еще больше проблем на свою голову. Да и найти их оказалось проще простого, достаточно было попробовать написать свою первую игру и столкнуться с ворохом подводных камней, переездов, разворотов, отрицаний и принятий.

И чуть ниже — небольшая заметка о моих размышлениях, начало дорожки в этой довольно непростой области, как я учусь делать игры без ущерба завтраку с сосиской.
Play
Total votes 22: ↑15 and ↓7+8
Comments7

Готовим простой блог на микросервисах, пишем свой микрофреймворк на php и запускаем все на Docker с примерами

Reading time9 min
Views79K

А что если я скажу вам, что новый продукт можно сразу начинать писать на микросервисной архитектуре, а не заниматься распилом монолита? Это вообще нормально? Удобно? Хотите узнать ответ?


Задача: необходимо написать за выходные (время ограниченно 10-15 часами) сферический блог на микросервисах, на php, не используя никаких фреймворков. Можно пользоваться здравым смыслом. А еще забудем о том что такое фронтенд и вспомним что мы жить не можем без виртуализации. Выберем Docker. Интересно? Вперед под кат.


image
Читать дальше →
Total votes 45: ↑34 and ↓11+23
Comments80

35 ресурсов, которые будут интересны создателям стартапов

Reading time8 min
Views53K
Сегодня мы бы хотели предложить вниманию читателей подборку зарубежных и отечественных ресурсов для развития и продвижения стартапов на разных стадиях, начиная с бета-тестирования и заканчивая официальным релизом. В список вошли те площадки и сервисы, которые мы отобрали как эффективные и доступные на основании собственного опыта или отзывов пользователей. Каждый пункт сопровождается подробным комментарием о предоставляемых услугах и условиях.


Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments2

Блеск и нищета php. Эволюция языка от 4.x к 7.1

Reading time5 min
Views42K

image


По слухам, сегодня должен состояться релиз 7.1. Поэтому хотелось бы немного оглянуться назад и посмотреть, а как же php вырос из набора костылей и подпорок в полноценный язык для веба. Прямо по шагам, т.е. по версиям. А в конце хотелось бы немного поразжигать поразмыслить о роли php в современной экосистеме.


Давайте мысленно вернемся во времена php4, когда получили своё развитие wordpress, bitrix и миллионы других CMS и домашних страничек.

Читать дальше →
Total votes 71: ↑67 and ↓4+63
Comments286

Продолжаем настраивать практически бесплатную рекламу на пользователей Хабра. На этот раз с помощью виджета авторизации

Reading time3 min
Views22K
В позапрошлом посте я указал на не очевидную уязвимость Хабра, которая позволяла вставлять пиксель ретаргетинга ВК в нужные статьи для сбора максимально целевой аудитории и дальнейшей рекламы на неё через соц сети.

Благодаря стараниям разработчиков, эта проблема была успешно пофикшена в течение нескольких дней, но на этом наша сага не закончена. Напомню, что согласно официальному прайс-листу Хабра стоимость 1000 показов банера для пользователей ресурса колеблется от 400 до 550 рублей. За гео-таргетинг по Москве и Питеру придется доплатить 20 и 15 процентов соответственно.

Но всё еще существует способ рекламироваться на эту же аудиторию платя 30-150 рублей за тысячу показов. Давайте думать, как исправить и эту фичу:

image
Читать дальше →
Total votes 65: ↑60 and ↓5+55
Comments12

Шпаргалка по шаблонам проектирования

Reading time2 min
Views1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Total votes 192: ↑179 and ↓13+166
Comments66

Волшебная сборка проекта на WordPress при помощи пакетных менеджеров и напильника

Reading time8 min
Views34K


Сегодня я хочу поделиться с достопочтенной аудиторией Хабра своим подходом к организации автоматической сборки проекта на WordPress, который значительно экономит время при создании новых сайтов.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments14

Если бы программисты делали блины (по кошерным методологиям)

Reading time3 min
Views73K

Waterfall


Заказчик сообщает, что хочет блинов. Компания выделяет проджект менеджера, который говорит: «Говно вопрос! Наша компания специализируется по производству блинов! Мы сделаем вам офигенских блинов за две тысячи человеко-часов!»

Далее начинается аналитическая фаза. Бизнес-аналитик берет эксперта, и они денно и нощно заседают в офисе заказчика, потребляют халявный кофе и пончики, а также тщательно записывают бизнес-требования вплоть до толщины блинной корочки с точностью до микрона. Документы записываются на фирменных бланках компании, после чего заверяются подписью директора компании-заказчика, директора компании-исполнителя, стороннего консультанта по блинному производству, а также печатью Папы Римского. После окончания аналитической фазы на проект остается 1000 часов.
Читать дальше →
Total votes 109: ↑85 and ↓24+61
Comments41

Чем плохо быть full stack разработчиком

Reading time7 min
Views200K

Введение


Прежде всего определимся с терминами. Есть много разных представлений о том, кто же такой full stack разработчик, кто-то даже вполне обоснованно считает, что такие разработчики — это миф, но в этой статье будет иметься в виду разработчик, который обладает знаниями и умениями, позволяющими с нуля написать некий софт и вывести его в продакшн. При этом софт может быть рассчитан на web платформу, мобильные приложения или десктопные. Идеальный full stack разработчик — это тот, кто владеет в какой-то мере всеми платформами и может разработать и установить на них свой софт. Но это действительно скорее миф.
Неплохое определение с quora.com
Когда люди ищут full stack разработчика, они ожидают увидеть поющего и танцующего техномага.
Ну или хотя бы кого-то, кто не будет слишком сильно жаловаться, когда его попросят поработать вне его зоны комфорта.

Возможно, по заголовку кому-то покажется, что это жалобный пост, который говорит о том, как плохо живётся неквалифицированному школьнику, который похватал всего из разных статей в интернете. Нет, пост не жалобный, мы говорим про full stack, а не full slack, и в конце будет так же рассмотрен список плюсов. И мы будем рассматривать не школьника, а разработчика с опытом работы в пять и более лет. Просто посмотрим, какие минусы есть в таком развитии.
Читать дальше →
Total votes 81: ↑68 and ↓13+55
Comments93

Почему именно Vue?

Reading time4 min
Views99K


Библиотека Vue.js с каждым днем набирает все больше и больше популярность, хотя не все понимают почему именно Vue, и в каких именно случаях последнюю можно и нужно использовать.
Читать дальше →
Total votes 32: ↑23 and ↓9+14
Comments36

Подборка бесплатных инструментов для разработчиков

Reading time28 min
Views186K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

Читать дальше →
Total votes 96: ↑89 and ↓7+82
Comments38

Оптимизация производительности MySQL

Reading time2 min
Views18K
В нашем блоге мы много пишем о построении облачного сервиса 1cloud, но немало интересного можно почерпнуть и из опыта по работе с инфраструктурой других компаний.

Мы уже рассказывали о дата-центре фотосервиса imgix, а сегодня затронем тему повышения производительности MySQL и взглянем на советы инженеров соцсети Pinterest.

Читать дальше →
Total votes 26: ↑19 and ↓7+12
Comments7

Самые нужные плагины для Gulp

Reading time6 min
Views161K


Это пост можно сказать является дубликатом моей предыдущей подборки “Самые нужные плагины для Grunt”. Дело в том, что спустя много часов поиска я не нашел крутых плагинов для Gulp, которых нет для Grunt за исключением пары весьма специфичных утилит. Всё как раз наоборот, но проигнорировать множество пользователей Gulp я не мог. Все недостающие плагины я выделил, потому что Gulp умеет использовать их из Grunt, как и Grunt из Gulp.

Доброго времени суток, всем! Кто-то умный, не помню в какой статье именно на Хабре, буквально недавно размышлял о процессе разработки с явным призывом автоматизировать все, что только можно автоматизировать. И лучше один раз потратить время на автоматизацию, чтобы потом экономить его на протяжении всего проекта.

У веб-разработчиков есть прекрасный инструмент для автоматизации массы задач, который называется Gulp. И моя страсть к таксономии заставила себя собрать огромную коллекцию почти из 100 ценных плагинов для этого сборщика. Думаю многие кто уже использует Gulp найдут для себя что-то нужное, а кто нет, глядя на возможности, получит хорошую мотивацию установить его и понять как эта штука работает.

А еще я выложил подборку на GitHub, чтобы каждый мог пополнить коллекцию.
Читать дальше →
Total votes 54: ↑46 and ↓8+38
Comments30

Как менеджер мини-АТС с GSM и записями разговоров делал

Reading time9 min
Views35K
Сегодня, в эру высоких технологий и безупречного клиентского сервиса, всем хочется быть на уровне. Многие компании в независимости от ранга и размера постоянно стараются сделать общение с клиентом удобнее и приятнее. В нашем интерне-агентстве, руководителем, которого я и являюсь, одной из таких «приятностей» стало введение в эксплуатацию небольшой мини-АТС на базе Openvox и Asterisk, собранной своими руками. Но давайте по-порядку:

Проблема


Телефон — является одним из основных каналов связи с клиентами в нашей работе. За день поступает множество звонков, которые нужно обработать. От использования аналоговой линии мы отказались сразу, ввиду алчности и ненадежности местных провайдеров. Да и устарели нынче аналоговые технологии. Решение использовать GSM-связь было единогласным и непоколебимым. В первые несколько лет работы за прием звонков отвечал вот такой вот не убиваемый аппарат:

Nokia C2-00


Изначально звонки принимал я и мой партнер по-очереди, находясь в разных углах одного офиса. Когда клиент звонил и прослушав несколько сигналов бездушного зуммера просил с кем-нибудь соединить, то с большой вероятностью он мог услышать свист ветра, который создавал сей финский девайс, пролетая из одного угла офиса в другой. «Многоканальность» была реализована за счет наличия в данном телефоне двух слотов для сим-карт. О записи разговоров речи не было, голосовое приветствие и меню отсутствовали, метод трансфера звонков от одного специалиста к другому был описан выше. Сплошные минусы, в общем, и самое главное, что звонивший к нам человек с первых минут мог подумать, что звонит очередную шарашкину контору из полутора фрилансеров. Что было достаточно обидно, ведь свою работу мы делали хорошо, с гарантиями и душой.

Вдоволь намучившись, одним прекрасным днем я сказал громкое «Хватит!» и не менее громкое «Нужно что-то предпринять!»
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments8

Нюансы коммерческой разработки на WordPress

Reading time7 min
Views51K


Доброго времени суток, уважаемый читатель. Судьба сложилась так, что я один из тех, кто отвечает за разработку проектов интернет-агентства в любимом, для меня, городе Хабаровск. И хотел бы поведать о том, как мы сохраняем должное качество продукта для клиентов, при условии довольно низких бюджетов, в сравнении с центральной частью России, что сказывается на требованиях к скорости сборки проекта. И цель моя — сократить издержки на разработку и дальнейшее обслуживание, что выливается в необходимость как можно быстрей сделать сайт с как можно большим количеством редактируемых в админ-панели элементов.

По большей части информация будет «технического плана», касательно CMS Worpdress, «по верхушкам». Я рассказываю лишь про наш путь, для кого использование технологий, путей, приемов etc. вопрос религии — просьба воздержаться от холиваров.
Приступим
Total votes 22: ↑19 and ↓3+16
Comments32

Радиоэлектроника, или как я начал её постигать

Reading time5 min
Views194K
Добрый день, уважаемое сообщество.

Меня все время удивляли люди, которые понимают в радиоэлектронике. Я всегда их считал своего рода шаманами: как можно разобраться в этом обилии элементов, дорожек и документации? Как можно только взглянуть на плату, пару раз «тыкнуть» осциллографом в только одному ему понятные места и со словами «а, понятно» взять паяльник в руки и воскресить, вроде как почившую любимую игрушку. Иначе как волшебством это не назовёшь.

Расцвет радиоэлектроники в нашей стране пришёлся на 80-е годы, когда ничего не было и все приходилось делать своими руками. С той поры прошло много лет. Сейчас у меня складывается впечатление, что вместе с поколением 70-х уходят и знания с умением. Мне не повезло: половину эпохи расцвета меня планировали родители, а вторую половину я провёл играя в кубики и прочие машинки. Когда в 12 лет я пошёл в кружок «Юный техник» — это были не самые благополучные времена, и ввиду обстоятельств через полгода пришлось с кружком «завязать», но мечта осталась.

По текущей деятельности я программист. Я осознаю, что найти ошибку в большом коде ровно тоже самое, что найти «плохой» конденсатор на плате. Сказано — сделано. Так как по натуре я люблю учиться самостоятельно — пошёл искать литературу. Попыток начать было несколько, но каждый раз при начале чтения книг я упирался в то, что не мог разобраться в базовых вещах, например, «что есть напряжение и сила тока». Запросы к великому и ужасному Гуглу также давали шаблонные ответы, скопированные из учебников. Попробовал найти место в Москве, где можно поучиться этому мастерству — поиски не закончились результатом.

Итак, добро пожаловать в кружок начинающего радиолюбителя.
Читать дальше →
Total votes 68: ↑54 and ↓14+40
Comments122

AngularJS 1.x – перевод курса от CodeSchool

Reading time12 min
Views75K
Данная публикация является переводом оригинального курса CoodSchool с небольшими дополнениями, которые показались мне уместными в данном контексте. Публикация рассчитана на тех, кто только начинает знакомится с Angular.

Введение


AngularJS — популярная JavaScript библиотека, предназначенная, главным образом, для создания одностраничных веб-приложений с динамически обновляемым содержимым. Библиотека была написана словацким программистом Мишкой Хевери, который, работая в Google, получил от своего шефа задание выучить JavaScript. Он решил, что лучший способ изучить язык — это создать на его основе собственный фреймворк. Angular (звучит как «Ангула» и дословно переводится как «Угловатый») использует концепцию разделения данных и их представления, известную как MVC (M — model (данные), V — view (представление), С — controller (контролер, управляющая прослойка между ними обеспечивающая логику работы приложения).
Читать дальше →
Total votes 50: ↑44 and ↓6+38
Comments20

Несколько интересностей и полезностей для веб-разработчика #33

Reading time5 min
Views53K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Walkway.js и Vivus.js




Вы видели этот великолепный лэндинг посвященный анонсу Sony PlayStation 4? Обратите внимание на анимацию SVG объектов состоящих из контуров. Они словно рисуются художником в режиме реального времени. Отныне этот эффект можно легко повторить с помощью Walkway и Vivus. Обе библиотеки максимально просты в использовании и применимы только для path элементов, поскольку принцип их работы основывается на взаимодействии с CSS свойством strokeDashoffset. Хоть и у Walkway значительно больше звезд на Гитхабе, зато Vivus предоставляет несколько вариантов отрисовки: Delayed, Async и OneByOne.

//Walkway
var svg = new Walkway('#test');

svg.draw(function() {
  console.log('Animation finished');
});

//Vivus
new Vivus('my-svg-id', {type: 'delayed', duration: 200}, myCallback);

Читать дальше →
Total votes 66: ↑52 and ↓14+38
Comments5
1

Information

Rating
Does not participate
Location
Хабаровск, Хабаровский край, Россия
Registered
Activity