Pull to refresh
13
Дмитрий@VCoder

User

Send message

Почему чтобы переместить кнопку, нужно две недели

Reading time5 min
Reach and readers18K
Многие сталкивались с нерелятивистскими искажениями времени разработки крупных проектов. Кажется, что выполнение задачи должно занять один-два дня, а на самом деле требуется две-три недели. Это вызывает вопросы, однако существует красивая метафора для иллюстрации происходящего. Разумеется, как любая метафора, она упрощает ситуацию, поэтому на самом деле ничего не объясняет, но всё же демонстрирует некоторые любопытные механики.


Допустим, мы строим пирамиду из кирпичиков Lego размером 2x2 блока. Сколько потребуется времени на создание MVP (minimum viable product) пирамиды? Столько, сколько требуется для установки одного кирпичика! Допустим, это 1 секунда. То есть мы создали MVP пирамиды за 1 с. Сколько потребуется времени на реализацию v1? Нам нужно установить ещё три детали на уровне 0 и одну на уровне 1. Ещё 4 детали, то есть ещё 4 секунды. А для версии v2? Ещё пять деталей на уровне 0, три детали на уровне 1 и одна на уровне 2 — суммарно девять деталей и ещё девять секунд.
Читать дальше →

SQL для аналитики — рейтинг прикладных задач с решениями

Reading time11 min
Reach and readers61K

Привет, Хабр! У кого из вас black belt на sql-ex.ru, признавайтесь? На заре своей карьеры я немало времени провел на этом сайте, практикуясь и оттачивая навыки. Должен отметить, что это было увлекательное и вознаграждающее путешествие. Пришло время воздать должное.

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

Читать далее

Как я готовился к собеседованию в Google

Reading time9 min
Reach and readers53K
Каждый инженер-программист стремится впечатлить людей своим техническим мастерством. Технологические гиганты этого мира — прекрасное место для работы технарей, которые могут предоставить услуги миллиардам пользователей. На моём недавнем собеседовании было несколько раундов, я получил предложения от Google и Amazon. В последние несколько лет онлайн-сообщество очень помогло мне в подготовке к собеседованиям. В этом посте я поделюсь всем о моём пути к собеседованию и верну вклад общества в моё обучение.


Приятного чтения!

Учебные материалы для школы программирования. Часть 1

Reading time7 min
Reach and readers15K

Наш век запомнится мне, как время стартапов. От школьника-активиста, до жителя Кремниевой долины - все делают своих единорогов. Как поняли - так и делают. Я тоже не прошла мимо тренда на безграничные возможности самореализации, и запустила школу программирования для детей Step to Science. Время жизни этого проекта было наполнено открытиями, борьбы со страхами, маленькими и большими победами, ошибками и много чем еще. Весной 2020 года команда столкнулась с сами знаете с чем, и, немного порефлексировав, я приняла решение закрыть проект.

За годы работы школы, был найден оптимальный алгоритм обучения ребят занимательной науке разработки игр на Unity 3D. Мы перебрали много тем, которые смогли захватить интерес школьников от 10 до 16 лет, опробовали десятки способов передачи информации, тренировки навыков и оценки заложенных знаний. Эта кропотливая работа принесла нам отличные результаты, в виде комплексной программы по созданию компьютерных игр на Unity 3D, и учебных успехов, которые достигали наши ребята!

Этими результатами и успехами мне хочется поделиться с широкой аудиторией. Если вы ведете кружок программирования или робототехники, а может, вы родитель, ищущий ответ на вопрос "чем увлечь подростка?" - я предлагаю вам воспользоваться материалами школы абсолютно безвозмездно, то есть, даром!

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

Читать далее

Айдентика личного бренда для самых маленьких

Reading time13 min
Reach and readers5.6K

Помимо основной работы в ИТ-компании КРОК, я также веду кружок спортивного программирования в вузе, у которого даже есть свой паблик. Так вот, порой ведешь блог, и кажется, что надо бы и аватарку красивую поставить, и как-то украсить страничку, картинки к постам в одном стиле запилить… но что-то все не получается, какое-то некрасивое все выходит, и вообще, что вы пристали, я программист! А нанимать профессионального дизайнера чтобы нарисовал дизайн систему для паблика из 50 человек… а вдруг не стрельнет, чем я ему платить буду?

К счастью, создать для своего бложика простую айдентику чисто “на первое время”, чтобы выглядеть “прилично” можно и без помощи дизайнера. Рассказываю как!

Читать далее

Как бы я изучал Data Science, если бы начал пару лет назад, или Руководство по эффективному изучению науки о данных

Reading time5 min
Reach and readers33K
Когда я только начал своё путешествие к науке о данных, я потратил много времени на то, чтобы понять, с чего начать, что я должен узнать в первую очередь и какие ресурсы должен использовать. За последние два года я узнал несколько вещей, о которых хотел знать раньше, например о том, стоит ли сначала сосредоточиться на программировании или статистике, какие ресурсы я должен использовать для изучения новых навыков, как я должен подходить к изучению этих навыков и так далее. Таким образом, эта статья написана, чтобы дать направления и идеи для тех, кто изучает Data Science.

Приятного чтения!

Социальный мониторинг здорового человека: бесплатные инструменты для отслеживания упоминаний

Reading time4 min
Reach and readers10K


В мире стартапов и небольших проектов традиционно принято считать хороший маркетинг одним из главных условием успешного запуска. Многие не согласны с этим, в недавней статье про минусы работы в стартапах подробно описываются проблемы, связанные с затратами на маркетинг и их печальные следствия. Мы не будем их подробно обсуждать, а сконцентрируемся на одной небольшой задаче, которая поможет понять, насколько зашёл сообществу ваш продукт и как часто на него обращают внимание. Речь идёт о мониторинге упоминаний бренда; так как денег у стартапов/пет-проектов мало и мы трясёмся над каждой копейкой, будем рассматривать только бесплатные варианты.
Читать дальше →

Что почитать менеджеру продукта или проекта: от исследований Канемана до мотивации Брэдбери

Reading time9 min
Reach and readers10K


Всем привет! В нашем совместном с МФТИ учебном проекте Технотрек есть семестровый курс по Product Management. Меня зовут Станислав, и я ведущий преподаватель этого курса, а также менеджер продукта в проекте DonationAlerts. Готовясь к курсу, я собрал внушительный список полезных материалов. Сделал для вас из этого списка подборку книг и блогов, которые будут полезны менеджерам продуктов или проектов.

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

Как я научился проходить архитектурные секции

Reading time4 min
Reach and readers43K
Архитектурные секции у многих вызывают чувство неопределенности и тревоги: формулировки не изобилуют деталями, как проверить ответ — непонятно. При этом способность пройти архитектурную секцию отличает вчерашнего выпускника от человека, которому можно доверить строить нечто большее, чем обход бинарных деревьев. В определенный момент я решил как следует подготовиться секции по дизайну, потратил на это около пары недель и выработал системный подход, которым хочу с вами поделиться.
Читать дальше →

57 отборных репозиториев для всех разработчиков Python

Reading time8 min
Reach and readers29K
Специально к старту нового потока курса «Python для веб-разработки» представляем подборку из 57 репозиториев, которые будут полезны как начинающему, так и опытному разработчику: это репозитории с ответами на вопросы собеседований, репозитории с книгами, небольшие, но полезные консольные инструменты и проекты, которые вдохновят вас написать красивый, работающий и полезный код.


Приятного чтения!

Поговорим про перформанс-анализ

Reading time45 min
Reach and readers14K


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


Сегодня мы обсудим основные задачи и сложности перформанс-анализа: поговорим о том, как изучать сырые данные и сводные метрики, применять статистические тесты, сравнивать перформансные распределения, писать перформансные тесты, анализировать историю замеров и выбирать правильные метрики. С этим нам поможет Андрей Акиньшин — ниже представлены видеозапись и расшифровка его доклада.

GitHub: библиотека для сбора SSL-сертификатов

Reading time2 min
Reach and readers4.9K
Представляем еще одну библиотеку, написанную на Go – GoTransparencyReport предназначенную для автоматизации сбора и обработки SSL-сертификатов по API сайта transparencyreport.google.com (ранее мы уже размещали библиотеку для поиска данных о корпоративных email по домену). Суть GoTransparencyReport довольно проста: ввел домен — получил аккуратненькую JSON-табличку с сертификатами и остальными полями. Без нее пришлось бы вводить домен на сайте Google, ставить галочку на выборе субдоменов, просматривать кучу сведений, колонок и дополнительных данных, а потом неизвестно как перетаскивать их на свой источник — мы же упростили этот процесс. Ссылка на GitHub прилагается.

Читать дальше →

Как сделать nginx безопасным

Reading time3 min
Reach and readers24K


TL;DR: абсолютно устойчивых систем не существует, поэтому ответ — никак. Но можно значительно упростить себе жизнь с помощью Docker-контейнера bunkerized-nginx. О том, чем он отличается от стандартного образа nginx и что интересного умеет, поговорим под катом.
Читать дальше →

Сложение двух чисел с плавающей запятой без потери точности

Reading time9 min
Reach and readers88K
Здравствуйте, друзья, как вы думаете, если мы напишем такой код:

s = a+b;
z = s-a;
t = b-z;

то не кажется ли вам, что в результате его выполнения получится, что t=0? С точки зрения привычной математики действительных чисел это и правда так, а вот с точки зрения двоичной арифметики с плавающей запятой в переменной t будет кое-что другое. Там будет то, что спасает нас от потери точности при сложении чисел $a$ и $b$. Кого интересует данная тема, прошу под кат.

Простые TypeScript-хитрости, которые позволят масштабировать ваши приложения бесконечно

Reading time6 min
Reach and readers35K

Мы используем TypeScript, потому что это делает разработку безопаснее и быстрее.

Но, на мой взгляд, TypeScript из коробки содержит слишком много послаблений. Они помогают сэкономить немного времени JavaScript-разработчикам при переходе на TS, но съедают очень много времени в долгосрочной перспективе.

Я собрал ряд настроек и принципов для более строгого использования TypeScript. К ним нужно привыкнуть один раз — и они сэкономят массу времени в будущем.

Сэкономить время в будущем

Опыт портирования legacy enterprise проекта c Net Framework на Net Core

Reading time10 min
Reach and readers13K

Опыт портирования legacy enterprise проекта c Net Framework на Net Core


net framework to net core


Вводная часть


Постараюсь дать информацию о том, как легко портировать существующее Enterprise-решение C .Net Framework на .Net Core. Пройдусь по всем важным разделам и не буду углубляться, чтобы не увеличивать размер статьи, ниже будет множество ссылок на разделы Microsoft, но в первую очередь идея заключается в том, чтобы дать вам представление о том, как переносить конкретную часть вашей системы и чтобы можно было обсудить в комментариях. В общем, эту статью можно считать руководством на коленке.

Читать дальше →

Сайты для обучения программированию: Топ 100

Reading time28 min
Reach and readers333K
В наш век современных технологий появилось много онлайн-ресурсов, которые позволяют всем желающим обрести необходимые им знания по программированию.

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

Итак, сайты для обучения программированию онлайн, ТОП 100:
Читать дальше →

Да хватит уже делать плохие митапы

Reading time5 min
Reach and readers7.5K
Ослабление карантина стало потихоньку возвращать оффлайн-митапы в нашу жизнь. За последние несколько недель я снова окунулся в этот мир: нетворкинги, стартап-питч-компитишены, приглашённые спикеры – водоворот мероприятий захлестнул.

К сожалению, как и до карантина, на 70% этот водоворот состоит из кала.

Побывав на очередном time-waste мероприятии и в очередной раз поразившись, как организаторам удаётся так самоотверженно игнорировать все принципы модерации и здравого смысла, я понял, что не могу молчать.

В своё время я организовал и отмодерировал не один десяток мероприятий самого разного формата и размера. И выработал пачку базовых принципов, соблюдение которых отличает хорошие ивенты от плохих.

Вот они.
Читать дальше →

Советы руководителю от руководителя

Reading time11 min
Reach and readers129K
Привет, Хабр! Я управляю командами разработки уже 10 лет.

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

Потом я вспомнил, что живу в мире пустозвонов, не стесняющихся нести «знания» в массы: бизнес-консультанты без бизнеса, карьерные консультанты без карьеры, коучи по чему угодно после двухмесячных курсов от таких же коучей. Неопытные умы, наслушавшись их, думают, что так мир и устроен, а потом огорчаются, что ничего не вышло. А опытные крутят у виска и отмалчиваются.

Поэтому выключаю тумблер «не будь выскочкой» и делюсь «секретами».



Тут не будет стандартных «делегируй», «налаживай процесс», «стой в правильной позе на стендапе» — об этом написано уже достаточно. Будет о другом.
Читать дальше →

Магические сигнатуры методов в C#

Reading time9 min
Reach and readers32K

Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK.


Есть определенный набор сигнатур методов в C#, имеющих поддержку на уровне языка. Методы с такими сигнатурами позволяют использовать специальный синтаксис со всеми его преимуществами. Например, с их помощью можно упростить наш код или создать DSL для того, чтобы выразить решение проблемы более красивым образом. Я встречаюсь с такими методами повсеместно, так что я решил написать пост и обобщить все мои находки по этой теме, а именно:


  • Синтаксис инициализации коллекций
  • Синтаксис инициализации словарей
  • Деконструкторы
  • Пользовательские awaitable типы
  • Паттерн query expression
Читать дальше →

Information

Rating
Does not participate
Location
Brisbane, Queensland, Австралия
Registered
Activity

Specialization

Specialist
C#
C++