Pull to refresh
0
0
Даниил @danku13

Технический владелец продукта

Send message

Backbone.js для «чайников»

Reading time13 min
Views288K
Backbone.js для чайников
Как то поздним вечерком мне пришла мысль изучить Backbone.js и привязать его к уже написанному на jQuery сервису. Сервис уже серьёзно расширился и меня достало это нагромождение обработчиков кликов, запросов и логики. Поэтому, я как усердный школьник полез в официальную документацию. Но либо я тупой, либо мой английский меня подкачал, либо то и другое вместе, но я не черта не понял. Я прочитал уже второй раз, внимательно, и для особо одарённых мест использовал google translate. Прочитал также и пример ToDo List. Всё показалось понятно, ровно до той поры пока я не стал писать. После чего я взял всё что нашел по этой библиотеке, как на английском так и переводы. Прочтя кипу документации я решил, что сейчас вроде всё понял. Я напрягся, но… Не вышел каменный цветок у мастера Данилы, т.е. вышло, но это явно был не цветок, и камень как то неправильно пах. Тогда, как прилежный ученик, я решил написать «Hello, KittyWorld» с нуля. Попутно комментируя и сохраняя шаги в hg, у меня получилось введение в backbone.js framework для таких как я, особо одарённых.
Данные 7 шагов с комментариями.
Total votes 113: ↑110 and ↓3+107
Comments51

Laravel — экосистема, а не просто PHP-фреймворк

Reading time12 min
Views204K


Данная статья предназначена для начинающих веб-разработчиков, а также тех, кто хочет понять, для чего стоит изучить PHP-фреймворк Laravel и какую экосистему он нам предлагает. Статья написана на момент актуальности Laravel версии 5.4, в августе 2017 выйдет релиз Laravel 5.5, который предоставляет ещё больше возможностей.

Содержание:

Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments104

40 лучших инструментов и ресурсов Laravel

Reading time16 min
Views30K
image
Привет, Хабр! Представляю вашему вниманию подборку, которая является переводом моей оригинальной статьи.

Если есть идеи что добавить в подборку — буду рад пообщаться в комментах. Наслаждайтесь!
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments24

Я больше не хочу работать, никогда и ни над чем. Но из меня научились выжимать результаты

Reading time7 min
Views272K


Дерьмовое утро удалёнщика всегда начинается одинаково. Если детский плач не смог вытащить меня из кровати, то нытье жены сделает это с гарантией. Сумасшедшие девять утра, через час дейли-синк-ап, а за вчера, как всегда, сделано нихрена. Быстро варю кофе и за комп. За пять минут до созвона пулл реквест с кодом энтерпрайзного качества увесисто встал в очередь на билд. Иду курить, но по дороге телефон заорал — я зачем-то установил на него скайп, и теперь работа может добраться до меня где угодно. Курение откладывается, я готовлюсь возмущаться, что мне позвонили раньше положенного. Напялил наушники, принял вызов. Вместо привычной девушки менеджера созвон начал какой-то незнакомый мне чел. «Всем привет, Аня заболела, я буду её замещать». Окей, кому какое дело, с таким же успехом они могли бы прислать нам в качестве менеджера собаку — ничего бы не изменилось.
Читать дальше →
Total votes 420: ↑345 and ↓75+353
Comments780

Школа программирования HeadHunter — как это было на самом деле

Reading time4 min
Views14K

Предисловие


В начале сентября прошлого года компания HeadHunter объявила о пятом наборе в ежегодную школу программистов. Там обещали «научить программировать» и научить back-end разработке. Я заинтересовался этим предложением и решил попробовать свои силы. Из официального источника было не очень понятно, как будет проходить обучение. Теперь, когда я знаю, как именно оно проходит, я хочу об этом рассказать, чтобы другим было легче принять решение, стоит туда идти или нет.

Начну с краткого рассказа о себе: я студент 4 курса кафедры математического моделирования Московского Энергетического института. 2 года проработал С++ программистом. Увлекаюсь разработкой под Android, пишу сайтики на Python, интересуюсь различными алгоритмами.

Решение пойти в эту школу было спонтанным — я не собирался переходить на web-разработку (школа готовит именно разработчиков сайтов), но и не исключал эту возможность. Мне хотелось попробовать новое — я попробовал. И вот что из этого вышло.
Читать дальше →
Total votes 17: ↑12 and ↓5+7
Comments3

Школа программирования 42 school в США — американская мечта, доступная каждому

Reading time5 min
Views86K

Инновационная школа программирования 42 school даёт бесплатное обучение и проживание в Кремниевой долине даже для тех, кто ничего не смыслит в коде.




Эту планету уже не остановить: мир помешался на программировании и люди готовы войти в айти после тридцати пяти и даже сорока. Разумеется, такой спрос не мог не породить предложение — появилась лавина школ, курсов, онлайн-форматов и чего угодно. 21 день — и ты бог С++, гуру JavaScript, джедай Python. Только плати, а там как карта ляжет. Между тем, эффективное обучение — это прежде всего практика, мотивация и опыт преподавателей. Есть такая школа, которая объединяет всё перечисленное и почти полностью исключает страх. Думаем, вы не раз слышали о 42 school, но не вдавались в подробности. Мы вам расскажем, так как прошли ее бассейн (Piscine) на собственном опыте.
Читать дальше →
Total votes 39: ↑7 and ↓32-25
Comments30

With love from Stepik: образовательная платформа Hyperskill

Reading time7 min
Views20K
Я хочу поговорить с вами о том, почему мы чаще чиним сантехнику, чем пишем про неё диссертации, о разных подходах к обучению программированию и о том, как мы пробуем применить один из них в нашем новом продукте Hyperskill.

Если вам не по душе длинные вступления, то переходите сразу к параграфу про программирование. Но так будет менее весело.


Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments44

Как зарабатывают лидеры EdTech

Reading time9 min
Views5K

Freemium автоматически выдается в семантической связке с понятиями «модель монетизации» и «MOOCs». Исторически так сложилось, что первые EdTech платформы предлагали образовательный контент бесплатно, зарабатывая на продаже сертификатов. Но за 6 лет многое изменилось.


image
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments1

SAP и Python интеграция или как забрать данные из SAP проще

Reading time4 min
Views22K
Добрый день, Хабр!

Хочу поделится опытом интересной задачи по тому как без труда взаимодействовать с системами SAP с помощью Python — не важно какой модуль или версия платформы.

Если интересно только техническое решение, то пропускайте всю лирику и смотрите пример реализации.

Лирика


Все свелось к тому, что одному из заказчиков потребовалось выгружать данные из своей SAP ERP системы, путем манипуляций уже создавать отчеты и рассылки интересованным людям по email, а также другие действия.

Собственно, при обсуждениях решения такой задачи мы, как подрядчик, предлагали различные варианты и один из самых очевидных это все сделать именно с помощью внутреннего функционала SAP, по-простому среди «саперов» за Зедить все с помощью ABAP.

Первое с чем мы столкнулись, это не совсем прозрачные со слов заказчика критерии выборки данных, а именно, данные каких таблиц, зачем, почему, какие действия с ними необходимо совершить. Если привести пример, то заказчику нужна была выгрузка посещаемости сотрудников офиса, с данными в разрезе табеля и отпусков. Также нужно было создать отчеты по эффективности сотрудника с аналитикой по его времени на рабочем месте, не буду вдаваться в подробности, но скажу, что количество проведенного времени влияет на продуктивность, но что бы это выяснить нужно рассчитывать количество времени на работе с результатом работы и многое другое. Это только один из примеров отчета, а заказчик генерировал очень много в ходе обсуждений.

После долгих разговоров мы поняли, что таким решением может стать SAP Query или BI\BO, но заказчика не очень устроила рассчитанная стоимость решения и не самая удобная гибкость.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments15

OAuth 2.0 простым и понятным языком

Reading time7 min
Views842K
Логотип OAuth 2.0

На хабре уже писали про OAuth 1.0, но понятного объяснения того, что такое OAuth 2.0 не было. Ниже я расскажу, в чем отличия и преимущества OAuth 2.0 и, как его лучше использовать на сайтах, в мобильных и desktop-приложениях.

Что такое OAuth 2.0


OAuth 2.0 — протокол авторизации, позволяющий выдать одному сервису (приложению) права на доступ к ресурсам пользователя на другом сервисе. Протокол избавляет от необходимости доверять приложению логин и пароль, а также позволяет выдавать ограниченный набор прав, а не все сразу.

Читать дальше →
Total votes 168: ↑153 and ↓15+138
Comments44

Как мы переложили управление инфраструктурой на Terraform — и начали жить

Reading time22 min
Views40K
image
У нас было 4 Amazon-аккаунта, 9 VPC и 30 мощнейших девелоперских окружений, стейджей, регрессий — всего более 1000 EC2 instance всех цветов и оттенков. Раз уж начал коллекционировать облачные решения для бизнеса, то надо идти в своем увлечении до конца и продумать, как все это автоматизировать.

Привет! Меня зовут Кирилл Казарин, я работаю инженером в компании DINS. Мы занимаемся разработкой облачных коммуникационных решений для бизнеса. В своей работе мы активно используем Terraform, с помощью которого мы гибко управляем нашей инфраструктурой. Поделюсь опытом работы с этим решением.

Статья длинная, поэтому запаситесь попкорном чаем и вперед!

И еще один нюанс — статья писалась на основе версии 0.11, в свежей 0.12 многое изменилось но основные практики и советы по прежнему актуальны. Вопрос миграции с 0.11 на 0.12 заслуживает отдельной статьи!
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments22

Помощь девопсам по внедрению PKI

Reading time2 min
Views8.6K

Ключевые интеграции Venafi

У девопсов и так много работы, а от них ещё требуют экспертных знаний по криптографии и инфраструктуре открытых ключей (PKI). Это неправильно.

Действительно, у каждой машины должен быть валидный TLS-сертификат. Они нужны для серверов, контейнеров, виртуальных машин, в сетках service mesh. Но количество ключей и сертификатов растёт как снежный ком, а управление быстро становится хаотичным, дорогостоящим и рискованным, если всё делать самостоятельно. При отсутствии надлежащей практики применения политик и мониторинга бизнес может пострадать из-за слабых сертификатов или неожиданного истечения срока действия.

GlobalSign и Venafi организовали два вебкаста в помощь девопсам. Первый — вводный, а второй — с более конкретными техническими советами по подключению системы PKI от GlobalSign через облако Venafi с помощью опенсорсных инструментов через HashiCorp Vault из конвейера Jenkins CI/CD.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments6

10 причин [не] использовать k8s

Reading time18 min
Views50K
Сегодня мы поговорим про Kubernetes, про грабли, которые можно собрать при его практическом использовании, и про наработки, которые помогли автору и которые должны помочь и вам. Постараемся доказать, что без k8s в современном мире никуда. Противникам k8s также предоставим отличные причины, почему не стоит на него переходить. То есть в рассказе мы будем не только защищать Kubernetes, но и ругать его. Отсюда в названии появилось это [не].

Эта статья основана на докладе Ивана Глушкова (gli) на конференции DevOops 2017. Последние два места работы Ивана так или иначе были связаны с Kubernetes: и в Postmates, и в Machine Zone он работал в инфракомандах, и Kubernetes они затрагивают очень плотно. Плюс, Иван ведет подкаст DevZen. Дальнейшее изложение будет вестись от лица Ивана.


Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments55

Развертывание приложений на нескольких кластерах Kubernetes с Helm

Reading time7 min
Views6.8K


Как Dailymotion использует Kubernetes: развертывание приложений


Мы в Dailymotion начали использовать Kubernetes в продакшене 3 года назад. Но развертывать приложения на нескольких кластерах то еще удовольствие, поэтому в последние несколько лет мы старались улучшить наши инструменты и рабочие процессы.

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments1

PHP-Watcher: инструмент, который упрощает разработку долгоживущих приложений

Reading time3 min
Views7.6K


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

В экосистеме PHP не было подходящего решения, чтобы автоматически перезапускать приложения при изменениях в исходном коде. Поэтому я решил сделать свой инструмент — на чистом PHP и с доступом через Composer.

Это как Nodemon, но на PHP

Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments22

Рефакторим параллельно с разработкой: наш опыт и два чек-листа

Reading time6 min
Views9.3K


Для множества команд рефакторинг — это боль. Потому что если ты занимаешься рефакторингом, то не разрабатываешь основной продукт, а если не занимаешься — растет технический долг проекта. В какой-то момент команды приходят к мысли: «Давайте разграничим рефакторинг и разработку и выделим на него, например, 20% наших человеко-часов, а остальное время продолжим заниматься разработкой!» Мысль эта неплохая, вот только дело в том, что на каждые 100 разработка-часов вы никогда не получите 20 чистых часа рефакторинга. Потому что «разработка» — это не только работа с кодом.

Если мы говорим о зрелых командах, а не сжатых в материальную точку мини-коллективах на 3-5 человек, то «разработка» включает в себя еще целую массу различных активностей команды кроме написания кода. В «разработку» можно записать так нелюбимые многими митинги, работу с документацией, ведение отчетности в таск-менеджерах и так далее. Все это съедает примерно 30% от наших часов, выделенных на разработку. И как-то незаметно у нас получается, что вместо картины «80 часов кодим, 20 часов рефакторим» мы получаем неприглядную цифру в ~13 часов на, непосредственно, сам рефакторинг, потому что все остальное было поглощено другими активностями.

Ниже мы расскажем, как все же совместить разработку с рефакторингом так, чтобы технический долг проекта не рос, будто снежный ком, а еще поговорим о правильном распределении времени и расстановке приоритетов.
Total votes 36: ↑31 and ↓5+26
Comments15

Как измерить эффективность и решать проблемы разработчиков, если у тебя их сто

Reading time5 min
Views7.3K
Вопрос о том, как оценить эффективность процесса разработки существует столько же, сколько и сама разработка. Часто девелоперы могут придерживаться идеи, что нужно просто качественно писать код, а вот все эти оптимизации, митинги, трекинг активности и так далее — менеджерская блажь. Руководители же в свою очередь считают, что превыше всего — продукт и у нас тут вообще-то бизнес, а не клуб по интересам: так что без метрик обойтись невозможно. Но насколько вообще важны метрики?



В начале сентября мы провели митап для руководителей разработки и поговорили об этом с людьми из Plesk, Avito, Додо Пиццы, Тинькова, Agima, ЦИАНа, Яндекс.Вертикалей, DocDoc — ну и про себя не забыли. Ниже — выжимка из того, о чем говорили наши гости.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments23

Что почитать тимлиду и СТО: подборка из 50 книг с оценками и не только

Reading time4 min
Views48K
Привет, завтра мы собираем за одним столом руководителей разработки из разных известных компаний — обсудим 6 вечных вопросов: как замерять эффективность разработки, внедрять изменения, нанимать и так далее. Ну а накануне решили поднять седьмой вечный вопрос — что читать, чтобы расти?

Профессиональная литература — сложный вопрос, особенно если говорить о литературе для руководителей в сфере IT. Чтобы понять, на что потратить вечно не хватающее время, мы опросили подписчиков канала «Тимлид Леонид» и собрали подборку из полусотни книг*. А затем добавили отзывы наших тимлидов к самым популярным. Так как список ниже глубоко субъективен и основан на отзывах незнакомых вам людей, оценивать литературу мы будем в «сферических совах».




1. «Джедайские техники. Как воспитать свою обезьяну, опустошить инбокс и сберечь мыслетопливо» / Дорофеев Максим


TL;DR

Из книги вы узнаете:

  • как устроено наше мышление и память;
  • где мы теряем мыслетопливо — неэкономно тратим ресурс нашего мозга;
  • как сохранять мыслетопливо, концентрироваться, правильно формулировать задачи и восстанавливаться для продуктивной работы;
  • как внедрить все полученные знания в жизнь и избежать типичных ошибок.

Я бы всем советовал начинать совершенствование тайм-менеджмента именно с этой книги. Но, если вы прочитали уже несколько книг, то и в этой уверен тоже найдете много техник и идей. Полезно *всем*. Читается просто, язык отличный. Также я выписал все книги из примечаний и вписал себе в бэклог.

Оценка: 6,50 сферических сов.


Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments17

Как устроен поиск Яндекс.Маркета и что будет, если упадёт один из серверов

Reading time11 min
Views18K
Привет, меня зовут Евгений. Я работаю в инфраструктуре поиска Яндекс.Маркета. Хочу рассказать сообществу Хабра о внутренней кухне Маркета – а рассказать есть что. Прежде всего, как устроен поиск Маркета, процессы и архитектура. Как мы справляемся с внештатными ситуациями: что случится, если упадёт один сервер? А если таких серверов будет 100?

А ещё вы узнаете, как мы внедряем новую функциональность на куче серверов сразу. И как тестируем сложные сервисы прямо в production, не доставляя пользователям никаких неудобств. В общем, как устроен поиск Маркета, чтобы всем было хорошо.


Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments13

Самые позорные ошибки в моей карьере программиста (на текущий момент)

Reading time8 min
Views125K

Как говорится, если тебе не стыдно за свой старый код, значит, ты не растешь как программист — и я согласна с таким мнением. Я начала программировать для развлечения более 40 лет назад, а 30 лет назад и профессионально, так что ошибок у меня набралось очень много. Будучи профессором информатики, я учу своих студентов извлекать уроки из ошибок — своих, моих, чужих. Думаю, пришло время рассказать о моих ошибках, чтобы не растерять скромность. Надеюсь, кому-то они окажутся полезны.
Читать дальше →
Total votes 152: ↑142 and ↓10+132
Comments119

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Product Manager, Chief Product Officer (CPO)
From 400,000 ₽
Product development
Business analytics
Analytics of requirements