Pull to refresh
9
0
Дмитрий @singlewolf

backend-разработчик

Send message

Этапы развития продукта: Курс “Управление развитием продукта”

Reading time 11 min
Views 3.8K
Этапы развития компании и ее продукта: Курс “Управление развитием продукта”

Привет, Хабр! Сегодня я публикую последний пост из курса “Управление развитием продукта” от компании Acronis, который был прочитан весной 2020 года в МФТИ. В этом тексте мы поговорим о связи компании и ее продукта, об этапах становления, факторах успеха и распространенных ошибках в развитии. И, конечно, коснемся вопроса, какова роль менеджера продукта или основателя компании на каждом из этапов.

Total votes 3: ↑3 and ↓0 +3
Comments 2

Экспериментальная проверка многомировой интерпретации квантовой механики искусственным интеллектом

Reading time 4 min
Views 11K

Обычно многомировая интерпретация квантовой механики считается именно интерпретацией, то есть по определению не может дать предсказаний, отличных от канонической копенгагенской интерпретации отцов-основателей. Сторонники многомировой любят сравнивать эти две наиболее популярные интерпретации с гео- vs гелиоцентрическими воззрениями. Геоцентрическая теория Птолемея давала те же предсказания, что и гелиоцентрическая Коперника. Но мы-то сейчас знаем, что Коперник был прав и Земля вращается вокруг Солнца.


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

Читать дальше →
Total votes 25: ↑16 and ↓9 +7
Comments 38

Mutation Driven Development

Reading time 2 min
Views 3K

Статья написана на основе поста в telegram-канале Cross Join.


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


Мутационное тестирование


Когда вы пишете тесты, по TDD или нет, даже с формальным 100% покрытием, вы никогда не будете уверены в том, что в коде на самом деле протестировано всё. Например, можно банально ошибиться в вызове assert в самом тесте.


assertEquals($a, $a);

И если даже при тестировании удалось дойти до какого-то if, не факт, что в этом if правильно проверены все условия.

Читать дальше →
Total votes 19: ↑11 and ↓8 +3
Comments 14

Что такое научное мышление?

Reading time 3 min
Views 20K

«Когда люди думали, что Земля плоская, они ошибались. Когда люди думали, что Земля была сферической, они ошибались. Но если вы считаете, что первые и вторые одинаково ошибались, то Вы ошибаетесь больше, чем они все вместе взятые» - Айзек Азимов.

Разобраться
Total votes 49: ↑43 and ↓6 +37
Comments 147

Является ли психология наукой и есть ли сознание у кошки

Reading time 15 min
Views 30K

В прошлый вторник у нас выступала Ира Овчинникова — научная сотрудница Лаборатории междисциплинарных исследований развития человека СПбГУ, ассистентка-исследовательца в University of Houston.

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

Делимся с вами записью и расшифровкой эфира.



Меня зовут Ира Овчинникова, я – научный сотрудник Лаборатории междисциплинарных исследований развития человека в СПБГУ. Еще я пишу диссертацию в университет Хьюстона, поэтому я сейчас в Хьюстоне, на 9 часов назад от Москвы, и у меня сейчас где-то середина дня.

Q: психология – это наука?


Это нормальный вопрос, которым задаются все. И студенты психфака, и люди, которые занимаются психологией.

Ответ простой: все то, что соответствует критериям научности и маркируется как наука – это наука. В 30-х годах прошлого века Карл Поппер ввел критерий фальсифицируемости теорий: то есть, любая теория может считаться научной, если ее можно опровергнуть какими-либо фактами, экспериментами на эмпирическом материале. Проблема психологии здесь очевидна: теория будет связана с общими понятиями, которые являются абстрактными, но материальный мир – он здесь и сейчас.
Total votes 52: ↑41 and ↓11 +30
Comments 143

Кодирование Рида-Соломона для чайников

Reading time 14 min
Views 23K

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

этой статьи
Total votes 16: ↑16 and ↓0 +16
Comments 5

Git для новичков (часть 1)

Reading time 5 min
Views 571K

Git - это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок - полезно для дизайнеров.

С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.

Читать далее
Total votes 18: ↑11 and ↓7 +4
Comments 10

Wetware: молекулярные вычисления и клеточные машины

Reading time 9 min
Views 4.9K

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

Сразу оговоримся, что для информации нужно не только хранилище; нужен еще и процессор, а также устройства ввода-вывода. Поскольку до создания подобной инфраструктуры еще очень далеко, тема казалась бы спекулятивной, но в январе 2021 года в журнале «Nature of Chemical Biology» была опубликована статья, описывающая довольно простую технологию кодирования 3-битных информационных последовательностей в ДНК. Вот о чем она:

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

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

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

Кроме того, при правильном хранении ДНК исключительно стабильна. В 2017 году ученым удалось полностью восстановить геном лошади (вымершего вида), жившей 700 000 лет назад. Научившись хранить данные и обращаться с ними на том же языке, который используется в природе, мы открываем путь к множеству новых биотехнологических возможностей.

Читать далее
Total votes 18: ↑18 and ↓0 +18
Comments 3

PostgreSQL 14: Часть 4 или «январское наступление» (Коммитфест 2021-01)

Reading time 20 min
Views 8.8K
PostgreSQL 14 наступает! После первых трех относительно скромных коммитфестов (июльский, сентябрьский, ноябрьский) пошли крупные изменения.

Вот только несколько вопросов для затравки:

  • Могут ли диапазоны содержать пропуски значений?
  • Зачем нужна индексная нотация типу json?
  • Может ли индекс при частых обновлениях разрастаться меньше, чем таблица? А вообще не разрастаться?
  • Сколько времени простаивали сеансы в idle_in_transaction?
  • Как построить ER-диаграмму для таблиц системного каталога?

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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №453 (1 — 7 февраля 2021)

Reading time 3 min
Views 7.5K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Comments 1

Почему электрон непременно должен упасть на ядро?

Reading time 13 min
Views 24K

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

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

Читать далее
Total votes 35: ↑35 and ↓0 +35
Comments 15

Психология для основателей стартапов: эмоциональный долг (часть 2)

Reading time 6 min
Views 3.5K
image

Часть первая тут.

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

Команды сооснователей могут справляться с проблемами в отношениях на коротких отрезках времени. Однако, если основатели предпочитают избегать тяжелых разговоров, они вредят эмоциональному фону. В таких ситуациях нарастают негодование и разочарование. которые не исчезнут, если не уделять им внимания и не предпринимать никаких мер. Долг в отношениях может разрушить фундамент вашей компании – команду сооснователей. Такие психологические проблемы (а также противоречия и тяжелые чувства, связанные с ними) убивают партнерские отношения в команде в долгосрочной перспективе. Слишком большой долг в отношениях в команде, не знакомой с приемами для разрешения конфликтов, становится причиной того, что стартапы погибают из-за внутренних проблем, а не из-за внешних.

Основатели: вам нужно научиться вступать в тяжелые разговоры до того, как долг в отношениях уничтожит вашу команду сооснователей и вашу компанию.
Читать дальше →
Total votes 17: ↑12 and ↓5 +7
Comments 1

SQL миграции в Postgres. Часть 1

Level of difficulty Medium
Reading time 15 min
Views 29K

Как обновить значение атрибута для всех записей таблицы? Как добавить первичный или уникальный ключ в таблицу? Как разбить таблицу на две? Как ... 

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

На эти и другие вопросы, возникающие при проведении миграций схемы и данных в PostgreSQL, постараемся дать ответы в виде практических советов.
Читать дальше →
Total votes 32: ↑32 and ↓0 +32
Comments 17

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

Reading time 5 min
Views 6.1K

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

Читать далее
Total votes 12: ↑11 and ↓1 +10
Comments 13

PostgreSQL. Плохие запросы, примеры и их поиск

Reading time 9 min
Views 28K

При поиске проблем в RDBMs разработчик обычно подозревает медленные запросы. А что, если дело не в них? О том, какого типа запросы дают нагрузку на базу данных, не позволяя вашему приложению работать должным образом, рассказал в своем докладе на конференции Saint HighLoad++ Online 2020 администратор баз данных Data Egret Андрей Сальников. 

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

Читать далее
Total votes 18: ↑18 and ↓0 +18
Comments 7

Ежедневные сложности сениор-разработчика

Reading time 5 min
Views 21K


Больше десятка лет я работал на одну из крупнейших в мире компаний по разработке ПО. Выполняя множество задач, я видел многие аспекты бизнеса: от быстрого «ковбойского» кодинга до серьёзных покупок конкурентов и стартапов.

1. Планёрки


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

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

Однако митинги и сосредоточенность — настоящие враги. Я уже сбился со счёту, сколько раз мой планировщик отвлекал меня, сообщая, что через 15 минут мне нужно явиться на планёрку, пока я пытался разобраться в сложной концепции, которую недавно придумал. Разумеется, я заранее знал, что будет планёрка. Когда я смотрел своё расписание в понедельник, чтобы оценить время, которое у меня будет на написание кода на этой неделе, у меня не было никаких сомнений: мои рабочие дни заполнены совещаниями.

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

И знаете что? Эти знания в основном передаются на совещаниях. Поймите меня правильно, само по себе это хорошо.

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

Настала пора ещё одного совещания.
Читать дальше →
Total votes 59: ↑50 and ↓9 +41
Comments 23

История очередного алгоритма или как одна зверюшка привела к созданию мира. Часть 1

Reading time 7 min
Views 1.5K

Давайте представим.

Вы придумали какой-то свой алгоритм для очередной сложной задачи.

Не важно в какой сфере, не важно на каких языках и технологиях.

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

Представили?

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

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

Читать далее
Total votes 8: ↑6 and ↓2 +4
Comments 0
Коллективное бессознательное Хабра и эксперт из образовательной платформы «Нетология» подготовили подборку публикаций, которая покажет, почему «мягкие навыки» на самом деле полезно развивать разработчикам и не только. Подробности под катом.
Читать далее
Total votes 29: ↑24 and ↓5 +19
Comments 20

Умеет ли человечество писать алгоритмы? Безошибочные алгоритмы и язык ДРАКОН

Reading time 53 min
Views 13K

Когда мы научимся создавать безошибочные алгоритмы? Двойная катастрофа самолета Боинг 737 МАХ явилась крупнейшей по своим масштабам алгоритмической трагедией за всю историю человечества.
На руках разработчиков алгоритмов кровь сотен людей.
Глава корпорации Boeing, выдающийся инженер и талантливый руководитель Деннис Мюленбург на слушаниях в конгрессе США выглядел как нашкодивший мальчишка и слетел со своего поста как пушинка.

Может быть, уже пора вздрогнуть, содрогнуться и осознать, что наступила точка невозврата? Что мы вступаем в новую эпоху, которая властно требует покончить с прошлым и навсегда отречься от небезопасных методов разработки алгоритмов?
Или нам нужна еще более страшная трагедия?

Визуальный алгоритмический язык ДРАКОН и ДРАКОН-методология опираются на новые идеи, демонстрируют заметные успехи в области безопасного создания алгоритмов и жизнеритмов.
ДРАКОН использует мантру безошибочности (батарею новых методов) и уверенно делает первый шаг к безошибочному будущему.
К сожалению, есть и ложка дегтя. Язык ДРАКОН пока еще не существует (есть лишь только разговоры) и занимает микроскопическую долю рынка. Но на него стоит обратить серьезное внимание.

Читать далее
Total votes 38: ↑19 and ↓19 0
Comments 585

Вам не нужно будет писать код: манифест зерокодинга от основателя Bubble

Reading time 4 min
Views 17K

Этот манифест Эммануэль Страшнов, со-основатель No-Code-сервиса bubble.io опубликовал еще в 2014 году в Huffington Post. Но до сих пор он читается как текст из будущего. Зерокодинг — не просто новая нефть, это путь развития и освобождения человека.

Читать далее
Total votes 18: ↑6 and ↓12 -6
Comments 35

Information

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