Pull to refresh
2
0
Send message

Хуки жизненного цикла Vue.js

Reading time4 min
Views182K


Хуки жизненного цикла (lifecycle hooks) — важная часть любого серьёзного компонента. Нам часто нужно знать, когда компонент был создан, добавлен в DOM, обновлён или уничтожен. Хуки жизненного цикла показывают нам, как работает «за кулисами» выбранная библиотека. Они часто вызывают у новичков трепет или беспокойство. К счастью, понять принцип работы хуков несложно, см. схему:

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

Опыт разработки некоммерческого проекта силами джуниоров

Reading time3 min
Views23K
Доброго времени суток, хабрахабр!

Позвольте рассказать вам небольшую историю, как мы с партнером разрабатывали некоммерческий проект силами джуниоров.

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

image
Читать дальше →
Total votes 42: ↑28 and ↓14+14
Comments48

Всё простое опять стало сложным

Reading time10 min
Views33K
Это выступление состоялась 12 октября 2017 года на конференции Mirror Conf в Браге (Португалия) и ещё раз 9 февраля 2018 года на Awwwards Conference в Берлине.

Этим летом после лекции на веб-конференции у меня состоялась увлекательная беседа с молодой студенткой, которая изучает цифровой дизайн. Было интересно сравнить наши карьерные пути. У меня пятнадцать лет опыта дизайна для веб-клиентов, у неё — один год, но каким-то образом мы оказались в одинаковой ситуации: мы наслаждались работой, но были совершенно дезориентированы и обескуражены быстро растущей сложностью всего вокруг. Что за ерунда произошла? (Конечно, это риторический вопрос).

Для нас обоих стало облегчением взаимно признаться в разочаровании и замешательстве. И мне стало интересно — эта какая-то смешная ситуация или тут серьёзная тема. Ни у кого из нас не было ответа, но спустя немного времени мне стало понятно, что мы оба должны сделать. Я бы хотел сегодня продолжить этот разговор и попытаться сформулировать свою точку зрения по поводу этой неразберихи и во что она нам обходится.
Читать дальше →
Total votes 56: ↑56 and ↓0+56
Comments117

Почему я ушёл из Google и начал работать на себя

Reading time10 min
Views142K
Последние четыре года я работал разработчиком программного обеспечения в Google, но 1 февраля уволился, потому что они не сделали мне подарок на Рождество.

Шучу, на самом деле всё немного сложнее.

Первые два года


Первые два года я любил Google.

Когда при ежегодном опросе сотрудников мне задавали вопрос, вижу ли я себя в Google через пять лет, я отвечал «разумеется, без вариантов».

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


Мой обычный день в Google.
— Ещё тортика, господин Программист? Он бесплатен в любом количестве.
— Не сегодня, Пьер. Я опаздываю на массаж, он тоже бесплатный.

Читать дальше →
Total votes 222: ↑219 and ↓3+216
Comments443

Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

Reading time25 min
Views1.4M

Регулярные выражения в Python от простого к сложному




Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

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

Надеюсь, вам удастся из него извлечь что-нибудь новое и полезное, даже если вы уже в ладах с регулярками.
Читать дальше →
Total votes 99: ↑98 and ↓1+97
Comments66

Бизнес, пройдемте…

Reading time8 min
Views34K
— Бизнес, остановитесь. Пройдемте.

— Куда, зачем?

— Там узнаете. Поверьте, это в ваших же интересах.

— Надеюсь, ненадолго? У меня куча дел, надо деньги зарабатывать. Вас кормить, например.

— От вас зависит, надолго или нет. Идете?

— Да.
Читать дальше →
Total votes 77: ↑50 and ↓27+23
Comments34

Почему я не люблю блокировщики рекламы

Reading time8 min
Views19K
image

Как показывают комментарии к статьям, на Хабре есть аудитория, достаточно сильно любящая блокировщики рекламы. В этой статье я выскажу своё мнение, за что можно сильно их не любить.
Читать дальше →
Total votes 71: ↑23 and ↓48-25
Comments219

«Программист-прагматик. Путь от подмастерья к мастеру»: коротко о главном (часть вторая)

Reading time21 min
Views16K
Продолжаю конспектировать книгу «Программист-прагматик» — настольный сборник рекомендаций на все случаи жизни. С первой частью конспекта можно ознакомиться тут.
Данный материал покрывает вторую половину текста: в этих главах речь идет о минимизации связывания, принципах тестирования, порядке работы над проектом, документации и взаимодействии внутри команды.


Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments2

Хакатон в прямом эфире. Ускоряем мобильные сайты

Reading time2 min
Views3.1K



В январе на страницах главного блога вебмастеров Google было объявлено, что с июля 2018 года скорость загрузки страницы станет ранжирующим сигналом в мобильном поиске. Исследования подтверждают важность быстрой загрузки мобильных версий сайта не только для поиска, но и для бизнеса в целом: при замедлении скорости загрузки с 1 до 7 секунд, показатель отказов увеличивается на 113%, уровень конверсии падает на 95% при увеличении числа элементов на странице с 400 до 6000.


Узнать о том, как оптимизировать скорость загрузки сайта можно будет 14 февраля на первом в России онлайн-хакатоне "Ускоряем мобильные сайты". Специалисты и инженеры Google расскажут какие критические ресурсы стоит оптимизировать в первую очередь, продемонстрируют как это можно сделать на реальном сайте, а также ответят на все интересующие вас вопросы. Для участия в хакатоне необходимо зарегистрироваться.

Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments1

Переход с AngularJS на Angular: цели, планы и правила переноса элементов (1/3)

Reading time13 min
Views14K


В январе мы в Skyeng закончили перевод нашей платформы Vimbox с AngularJS на Angular 4. За время подготовки и перехода у нас накопилось много записей, посвященных планированию, решению возникающих проблем и новым конвенциям работы, и мы решили поделиться ими в трех статьях на Хабре. Надеемся, что наши заметки окажутся полезными структурно похожим на наш Vimbox проектам, которые только начали переезжать или собираются сделать это.

Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments5

Как задолбать всех коллег: собираем требования к CRM

Reading time14 min
Views53K
Вы замечали, насколько по-разному покупают люди, например, смартфоны? Один подходит, уверенно берёт нужную модель и может проконсультировать всех вокруг, второй робко слоняется вдоль витрины, трогает экраны и оценивает вес и яркость, третий открывает камеру и делает селфи, четвёртый набирает «Привет! Как дела», тестируя клавиатуру одной рукой. Ничего необычного — каждый смотрит то, что ему важнее. Хуже, когда так же покупают CRM или ERP  — буквально с закрытыми глазами, бегло глянув на яркую презентацию или прочитав советы на форуме. Потом сыпятся негативные отзывы, а автоматизация вызывает стойкую неприязнь. Казалось бы, что проще — собрать требования и приступить к трезвому выбору вендора. Но нет, инструкцию будем читать потом, когда сломается… А вот, собственно, и подробная инструкция.

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

WebRTC и Electron: тренд для desktop-приложений

Reading time5 min
Views13K


В блоге на хабре мы стараемся рассказывать интересные истории из собственного опыта: телефония и браузеры, телеком, автоматизация звонков, видеоконференции — все эти истории. Но наш давний знакомый Цахи, автор bloggeek.me и мировой спец по WebRTC, настолько хорошо пишет, что его просто нельзя не переводить. Его новая статья, вышедшая неделю назад, про поддельные desktop-приложения, которые на самом деле обернутые в Electron веб-страницы. Многие такое видели – Slack, Discord и прочие товарищи вешают на свои страницы огромную кнопку «Скачайте наше desktop-приложение», а там — обернутая в .exe или .dmg веб-страничка. Которая иногда сделана удобнее, чем «хардкорные» WinAPI и Cocoa решения. А еще эти штуки умеют звонить голосом и видео. Под катом, традиционно для Цахи, много картинок, ссылок и интересных выводов от опытного программиста-телекомщика, ушедшего в популисты-аналитики. Перевод мы традиционно адаптируем для Хабра, а не слово-в-слово. Цахи любит заковыристые обороты…
Total votes 30: ↑26 and ↓4+22
Comments15

«Программист-прагматик. Путь от подмастерья к мастеру»: коротко о главном (часть первая)

Reading time22 min
Views72K
О книге «Программист-прагматик. Путь от подмастерья к мастеру» Эндрю Ханта и Дэвида Томаса знают, наверное, все, кто занимается программированием, причем многие — в основном из упоминаний в подборках и цитат в более современных статьях. Учитывая, что этот сборник практических советов для разработчиков скоро отметит двадцатилетний юбилей, тот факт, что его до сих пор приводят как источник ценной информации, вызывает уважение. Секрет прост: авторы, хоть и делали акцент на практической применимости своих подсказок, говорили по большей части о фундаментальных принципах построения рабочего процесса. Многие технические моменты, которые упоминаются в тексте, действительно давно устарели, но базовые подходы к разработке, тестированию, взаимодействию внутри команды и с аудиторией остаются актуальными.


Ниже вы найдете конспект первых четырех глав; речь в них идет об авторской концепции самообразования, основах прагматического подхода в программировании и правилах подбора инструментов. Книга очень удобна для «точечного» чтения: материал представляется в виде отдельных параграфов-подсказок, снабженных перекрестными ссылками. За рамками этого конспекта остались примеры из конкретных языков, разбор кейсов из авторской практики, те самые ссылки, упражнения на закрепление и некоторые забавные аналогии, оживляющие текст — так что рекомендую ознакомиться с оригиналом, если какие-то из тезисов вас заинтересуют. Приятного чтения!
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments5

Сумма сумм арифметических прогрессий

Reading time8 min
Views14K
Пускай у нас есть некий ряд ячеек, часть которых можно пометить как «занятые»:

01

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

К этой схеме сводится множество задач. Например, разбиение периода из N + 1 календарных дней на l + 1 следующих друг за другом меньших периодов. Допустим, мы хотим провести оптимизационный расчет методом «грубой силы», рассчитав целевую функцию для каждого возможного варианта разбиения периода, чтобы выбрать наилучший вариант. Чтобы заранее оценить время расчета, нужно определить количество вариантов. Это поможет принять решение, стоит ли вообще начинать расчет. Согласитесь — полезно будет заранее предупредить пользователя вашей программы, что с теми параметрами, которые он задал, расчет займет 10000 лет.

Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments12

21 совет по эффективному использованию Composer

Reading time9 min
Views25K

Хотя большинство PHP-разработчиков умеют пользоваться Composer, не все делают это эффективно или лучшим возможным образом. Поэтому я решил собрать советы, которые важны для моей повседневной работы. Большинство из них опираются на принцип «От греха подальше»: если что-то можно сделать несколькими способами, то я выбираю наименее рискованный.
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments7

О том, как я переизобретал медиацентр

Reading time11 min
Views133K

Raspberry Pi 3 model B


С приобретением нового телевизора возник вопрос, какую приставку для него брать. Возможностей Chromecast уже не хватало и хотелось полноценный медиацентр на Kodi. Телевизор со SmartTV покупать не вариант — Kodi можно установить только на Android (из SmartTV платформ), а к нему я отношусь без особой любви, к тому же он уже внутри телевизора, а не в отдельной коробке, которую можно безбоязненно перепрошивать. Ну а зачем мне полноразмерный Android, со всеми его сервисами и программами в виртуальной машине, без полноценного GNU/Linux окружения и, скорее всего, без обновлений? По той же причине также были отметены многочисленные готовые медиацентры на Android, хотя та же приставка от Xiaomi довольно хороша. Можно было бы подумать насчёт SmartTV на TizenOS, но для него нет Kodi.

Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments78
12 ...
9

Information

Rating
Does not participate
Registered
Activity