Pull to refresh
12
0
Андрей Глазков @Glazz87

Quality Assurance

Send message

Вливаемся в Data Science: подробный roadmap что и где изучать

Level of difficultyEasy
Reading time10 min
Views61K

Привет, Хабр!

В этой статье рассмотрим план становления начинающим дата-сайнтистом. Рассмотрим, что и где изучать, чтобы преисполниться в своём познании. А там и до оффера недалеко

Читать далее
Total votes 40: ↑37 and ↓3+34
Comments14

Поиск работы за границей и иммиграция в Канаду

Reading time12 min
Views87K

Всем привет!


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


TL;DR: Сейчас я живу в городе Виктория, на острове Ванкувер. Это Канада, Британская Колумбия. Свою мечту жить у океана я реализовал, но это заняло 5 лет, и сначала были совершенно другие планы. Более подробно ниже. Ниже картинка моих рабочих мест за последние 10 лет.



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


В студенческие годы мой отец, подсунул мне ссылку на world4u — это волонтерская организация по обмену. В 2007, 2008, 2009 я посетил Германию, Францию и Италию. В среднем программа была по 1-2 месяца и нужно было оплатить только за перелет. Именно эти европейские проекты оказали на меня влияние, я увидел мир, и понял, что это скучно прожить жизнь в одном месте, даже с комфортом. Картинка ниже очень хорошо передает мой основной мотив:



Это из детского рассказа про Улитку и Кита:


Начинаем рассказ (занимайте места!)
Про малютку улитку и великана кита.
Вот скала,
Где над морем улитка жила,
И вздыхала она то и дело:
-Как мне все надоело!
Мир огромен, а я тут сижу на скале,
А могла бы уплыть на большом корабле…
Читать дальше →
Total votes 58: ↑47 and ↓11+36
Comments127

40 релизов в неделю при разработке государственного Amazon или почему Agile is dead

Reading time22 min
Views28K

Что бы вы сказали, если бы вам потребовалось срезать косты вашей команды разработки в два раза? А если бы пришел босс и потребовал делать в два раза больше той же командой? Обычно интуиция нас подводит и мы в ответ на эти вопросы делаем не то, что нужно - в итоге только ухудшаем ситуацию. Самое интересное, что значительно улучшить результаты можно потратив относительно небольшие усилия - что же это за бесплатный сыр такой? Как это связано с релизами? От какого важного элемента Agile мы заодно отказываемся? Ответы на эти вопросы я попробую дать в своей статье.

Читать далее
Total votes 131: ↑128 and ↓3+125
Comments36

Холиварный рассказ про линтеры 

Reading time20 min
Views61K
Все мы пишем код. Много кода. Само собой, бывают ошибки. Иногда это просто кривой код, а иногда цена ошибки — взорванный космический корабль. Конечно, никто не делает намеренных косяков, все в меру возможностей стараются следить за качеством, но без инструментов статического анализа вряд ли можно быть уверенным, что всё идеально.

Линтеры помогают приводить код к единому стилю и избегать ошибок. Правда, только в том случае, если вы готовы к страданиям, а не отмахиваетесь в конце концов «pylint: disable», только чтобы оно отстало. Какой должен быть линтер, и почему таки не обойтись Pylint, знает Никита Соболев (sobolevn), который понимает и любит линтеры настолько, что даже свою компанию назвал так, чтобы их не расстраивать — wemake.services.

image

Ниже текстовая версия доклада на Moscow Python Conf++ про линтеры, как их делать правильно и как не нужно. В выступлении было много интерактива, онлайна и общения с аудиторией. Спикер по ходу дела проводил опросы и старался переубедить слушателей: смотрел на тренд, и как в дебатах, пытался выровнять соотношение и поменять общественное мнение. Какая-то часть с опросами попала в расшифровку, но не вся, поэтому для полноты картины прилагается видео.
Total votes 30: ↑26 and ↓4+22
Comments19

Звёздная карта или как балансировать знания в команде при влиянии Soft Skill-ов

Reading time17 min
Views25K
Многие команды разработчиков сталкиваются с проблемой «бутылочного горлышка», когда слишком много вопросов, связанных с разными аспектами разработки упираются в одного, наиболее квалифицированного специалиста. Менее опытные участники команды при этом не знают, куда им расти, и в какие технологии или специфичные для команды отрасли им нужно углубляться, чтобы быть полезнее для команды. И само собой, когда незаменимый сотрудник всё-таки берёт отпуск или больничный, продуктивность команды существенно падает, а в худших случаях и вовсе будет почти парализована из-за нехватки экспертизы в каких-либо областях.

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments5

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

Reading time25 min
Views1.4M

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




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

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

Надеюсь, вам удастся из него извлечь что-нибудь новое и полезное, даже если вы уже в ладах с регулярками.
Читать дальше →
Total votes 99: ↑98 and ↓1+97
Comments66
Привет, Хабр! Меня зовут Александр Дружков, сейчас я работаю заместителем технического директора ivi, но помню наш сервис маленьким сайтом, который бесплатно показывал интересные фильмы в промежутках между рекламой. Я расскажу, как нам удалось проделать путь до сервиса на 50 миллионов пользователей, какие технологии и решения нам помогли, с какими трудностями сталкивалась наша команда и как менялись наши задачи.
Подробности – под катом
Total votes 33: ↑29 and ↓4+25
Comments6

Я в одиночку отрефакторил 15 тысяч строк легаси. Это были худшие две недели в жизни

Reading time10 min
Views102K


Несколько месяцев назад я работал в аутстафе. Это не то место, где нужен энтузиазм и вера в великую цель проекта. Меня вместе с командой просто продавали заказчикам, а на митингах было важно, сколько тикетов я закрыл. Приступы перфекционизма — скорее вредная штука для такого места, но я ничего не мог с ними сделать. За один из них я знатно поплатился, попал в адский кранч и провел худшие две недели в моей жизни.
Читать дальше →
Total votes 427: ↑369 and ↓58+311
Comments401

Обзор способов и протоколов аутентификации в веб-приложениях

Reading time18 min
Views619K


Я расскажу о применении различных способов аутентификации для веб-приложений, включая аутентификацию по паролю, по сертификатам, по одноразовым паролям, по ключам доступа и по токенам. Коснусь технологии единого входа (Single Sign-On), рассмотрю различные стандарты и протоколы аутентификации.

Перед тем, как перейти к техническим деталям, давайте немного освежим терминологию.

  • Идентификация — это заявление о том, кем вы являетесь. В зависимости от ситуации, это может быть имя, адрес электронной почты, номер учетной записи, итд.
  • Аутентификация — предоставление доказательств, что вы на самом деле есть тот, кем идентифицировались (от слова “authentic” — истинный, подлинный).
  • Авторизация — проверка, что вам разрешен доступ к запрашиваемому ресурсу.


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

Аналогично эти термины применяются в компьютерных системах, где традиционно под идентификацией понимают получение вашей учетной записи (identity) по username или email; под аутентификацией — проверку, что вы знаете пароль от этой учетной записи, а под авторизацией — проверку вашей роли в системе и решение о предоставлении доступа к запрошенной странице или ресурсу.

Однако в современных системах существуют и более сложные схемы аутентификации и авторизации, о которых я расскажу далее. Но начнем с простого и понятного.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments20

Пара слов в защиту монолита

Reading time6 min
Views13K
Сравниваем особенности микросервисной и монолитной архитектуры, их преимущества и недостатки. Статья подготовлена для Хабра по материалам нашего митапа Hot Backend, который прошел в Самаре 9 февраля 2019 года. Мы рассматриваем факторы выбора архитектуры в зависимости от конкретной задачи.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments10

Blameless environment: никто не должен писать качественный код

Reading time13 min
Views17K
На РИТ++ Никита Соболев (sobolevn) выступил, как он сам назвал это, с проповедью на тему качества кода и процессов в компании. Особо впечатлительных просим налить себе ромашкового чаю, но отойти от экранов не предлагаем. Вы можете не соглашаться ни с одним из тезисов, настаивать, что трёп о сериалах — залог здоровой атмосферы в коллективе, и утверждать, что вам не нужны строгие рамки линтера и CI, чтобы писать хороший код. Но если вы хоть раз винили окружающих в неудачах на работе, вам стоит прочитать или посмотреть рассказ Никиты.

Работали ли вы когда-нибудь на плохой работе?

Я работал и долго. Моя компания была ужасна. Все было очень плохо, за что ни возьмись — все из рук вон. У нас были отвратительные процессы, ненавистные клиенты и неумелые разработчики. С этим ничего нельзя было поделать. Когда все так плохо, просто не знаешь, за что взяться, с чего начать. Чувствуешь себя жалким винтиком, который не может ни на что влиять.



Когда я говорю, все плохо, я имею в виду, что у нас был:

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

Да, это была аутсорс-разработка, но не это делало её плохой. Люди сделали ее такой.
Читать дальше →
Total votes 53: ↑44 and ↓9+35
Comments51

Испытание для компании: задаем правильные вопросы на собеседовании

Reading time6 min
Views21K
Недавно мы писали о том, какие вопросы задаем на собеседовании кандидатам на вакансии в “Максилекте”. Теперь я хочу взглянуть на проблему с другой стороны “баррикад” – с позиции наемного работника. Хотя сегодня я руковожу компанией, за свою жизнь мне пришлось поучаствовать не в одном десятке собеседований на работу. Я даже когда-то описывал свой опыт в статьях, рекомендуя не только отвечать на вопросы, но и задавать их самостоятельно. И опыт показывает, что некоторые вопросы дадут вам даже больше информации, чем вы ожидаете. О них и поговорим.

image
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments19

На пенсию в 22

Reading time6 min
Views181K
Привет, я Катя, я не работаю уже год.



Я много работала и выгорела. Уволилась и не стала искать новую работу. Толстая финансовая подушка обеспечила мне бессрочный отпуск. Я отлично провела время, а еще утратила часть знаний и психологически постарела. Какая она, жизнь без работы, и чего не стоит от нее ждать, читайте под катом.
Читать дальше →
Total votes 359: ↑259 and ↓100+159
Comments0

«Сгоревшие» сотрудники: есть ли выход?

Reading time18 min
Views157K
Ты работаешь в хорошей компании. Вокруг тебя крутые профессионалы, получаешь достойную зарплату, каждый день делаешь важные и нужные вещи. Илон Маск запускает спутники, Сергей Семёнович улучшает и без того лучший город Земли. Погода отличная, солнце светит, деревья цветут — живи да радуйся!

Но в твоём коллективе есть Грустный Игнат. Игнат всегда мрачный, циничный и уставший. Он отличный специалист, давно работает в компании и знает, как всё устроено. Игнату все хотят помочь. Особенно ты, ведь ты его менеджер. Но, поговорив с Игнатом, ты и сам начинаешь чувствовать, как много вокруг несправедливости. И тоже начинаешь грустить. Но особенно страшно, если грустный Игнат — это ты.

Что же делать? Как работать с Игнатом? Добро пожаловать под кат!


Total votes 224: ↑210 and ↓14+196
Comments400

Нормализация отношений. Шесть нормальных форм

Reading time8 min
Views1.4M
В данной теме я затрону 6 нормальных форм и методы приведения таблиц в эти формы.

Процесс проектирования БД с использование метода НФ является итерационным и заключается в последовательном переводе отношения из 1НФ в НФ более высокого порядка по определенным правилам. Каждая следующая НФ ограничивается определенным типом функциональных зависимостей и устранением соответствующих аномалий при выполнении операций над отношениями БД, а также сохранении свойств предшествующих НФ.
Читать дальше →
Total votes 37: ↑22 and ↓15+7
Comments14

Пишем действительно тестируемый код

Reading time18 min
Views18K
Что такое тестируемый код? Каких правил стоит придерживаться для его написания? Как начать писать такой код, если кодовая база к этому не готова?

Статья с большим количеством примеров кода и иллюстраций, в основе которой – выступление Антона на конференции Mobius 2017 в Питере. Антон является разработчиком Android-приложений в Juno, и в своей работе затрагивает множество смежных технологий. Этот доклад не об Android и не о Kotlin, он о тестировании в целом, об идеях, которые лежат над платформой и над языком и которые могут быть адаптированы к любому контексту.


Total votes 22: ↑21 and ↓1+20
Comments4

Введение в многомерный анализ

Reading time12 min
Views170K

Некоторое время назад мне довелось организовывать новую группу разработки, которая должна была заняться развитием OLAP и BI продуктов в дружеской софтверной компании. А так как группа была собрана из свежих выпускников ВУЗов, то мне пришлось написать «краткий курс молодого бойца» для того чтобы максимально доступно дать начальные понятия об OLAP людям, которые ни разу с ним не сталкивались, но уже имели опыт программирования и работы с БД.



Выкладываю теперь это Введение в Общественное Достояние.



В статье несколько смешиваются понятия OLAP, Business Intelligence, и Data Warehouse, но и в жизни часто сложно понять, где проходит граница. А уж в реальных проектах, так и подавно, все они ходят рядом. Поэтому прошу не судить строго.



Итак, что же такое OLAP.
Total votes 63: ↑61 and ↓2+59
Comments12

Два в одном: как пользоваться Vim и Nano?

Reading time16 min
Views86K
Upd. 9.7.2017: обновлён раздел про vim. Спасибо вимерам за ценные дополнения.

Вступительное слово


Зачем нужна ещё одна, 1001я публикация на эту тему? Статей про vim и nano написано огромное количество, но как правило они касаются только одного из редакторов, либо представляют из себя общий обзор. Чтобы в одной были сжато описаны оба редактора, но при этом без углубления в дебри приведены все основные клавиши управления для полноценной работы, я не не нашёл. Поэтому, почитав найденные материалы, я начал их конспектировать, так и родилась эта статья.


Любой текстовый редактор можно освоить «методом тыка». Но только не vim.
Чем nano лучше vim?
Из nano можно выйти без reset'а! (с) Интернет


Изначально я не планировал писать об обоих редакторах, а хотел сделать краткую справку только по nano, но в процессе сбора информации накопились данные и по vim тоже. Тут я обнаружил, что Vim не так уж и страшен, если знать команды и концепцию его использования.

Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments199

Профессиональное выгорание в ИТ (результаты исследования «Моего круга»)

Reading time13 min
Views64K


В октябре прошлого года «Мой круг» пригласили на РИФ Воронеж сделать доклад про профессиональное выгорание среди ИТ-специалистов. Как всегда, мы подошли основательно, провели по этой теме соцопрос среди пользователей «Моего круга» и «Хабра» и сегодня рады поделиться своим исследованием. Посмотрим, насколько ИТ-специалисты подвержены выгоранию, какие его признаки выделяют, на какие причины указывают, как выходят из него.

Большинство вопросов анкеты строилось на материалах мастер-класса Наталии Дзеружинской, доктора медицинских наук, профессора, врача-психиатра высшей квалификационной категории, проведённого ею в рамках «Школы менеджеров «Стратоплан»» (видеозаписи 5 мастер-классов школы).

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

Как мы узнали, более 50% ИТ-специалистов имеют опыт профессионального выгорания, причём половина из них прошли через этот опыт 2 и более раза. Для работодателя подобное выгорание сотрудников имеет довольно серьёзные последствия: до 20% сотрудников находятся регулярно в подобном состоянии, только 25% выгорающих остаётся на прежнем месте работы. А значит, довольно большая часть сотрудников работает крайне неэффективно и мешает другим, плюс постоянно нужно вкладывать средства в рекрутинг и адаптацию новых сотрудников взамен выгоревших. Если работодатель научится управлять процессом выгорания, то сможет экономить много материальных и моральных сил для своей компании.
Читать дальше →
Total votes 55: ↑54 and ↓1+53
Comments115

Для тех, кто познаёт ушами: подкасты для разработчиков

Reading time6 min
Views52K


Кто сказал, что разработчики могут учиться новому только через книги, видео и анализ чужого кода? Ведь у нас и другие каналы получения информации из окружающего мира. Конечно, речь не о том, чтобы попробовать знания на вкус, пощупать их или понюхать. А вот послушать — самое оно. Мы собрали для вас коллекцию действующих русскоязычных подкастов для разработчиков. Хороший способ дать глазам отдых или занять себя в пробках.
Читать дальше →
Total votes 83: ↑80 and ↓3+77
Comments57

Information

Rating
Does not participate
Location
Зеленоград, Москва и Московская обл., Россия
Registered
Activity