Как стать автором
Обновить
23
0
Дмитрий Панюшкин @gnaeus

Пользователь

Отправить сообщение

Тепловая карта кликов — как пользователи ведут себя на сайте

Время на прочтение2 мин
Количество просмотров8.8K

Сегодня у нас в руках множество инструментов, исследований и статей по ux/ui и том как сайт будут читать и идентифицировать.


Но главный вопрос остаётся открытым.


А знаете ли именно вы, куда пользователи вашего (или сделанного вами) сайта тыкают?



Сегодня поговорим о кнопках


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

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

Это Спарта

Время на прочтение9 мин
Количество просмотров22K
Эта публикация — про то, как программист помогает создавать суррогаты.

Суррогат – это когда сделали не то, что нужно бизнесу. Или не так, как нужно бизнесу.

Суррогаты – это самое страшное зло, происходящее сейчас с российским бизнесом и государственным управлением. Суррогаты – это лучший в мире киллер эффективности. Что особенно приятно, мы, программисты, на этот раз не в стороне – мы на самой оси зла.

С чего все начинается


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

Программист, допустим, толковый – он понимает, что предлагаемая доработка – суррогат.

Вариантов развития событий много, я приведу некоторые из них:
1. Программист говорит: согласуй с моим или своим начальником, тогда сделаю;
2. Программист говорит: напиши мне задачу/поручение/служебную записку, на бумаге или в информационной системе;
Читать дальше →

10 проблем, которые я решил напоминалками на смартфоне

Время на прочтение6 мин
Количество просмотров39K
Привет. Недавно я провел аудит напоминаний на смартфоне и хочу поделиться списком проблем/задач, которые удалось решить с их помощью.

Возможно, вы задумаетесь о чём-то важном, читая этот список.

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

О чём нужно помнить, чтобы жизнь была удобнее и полноценнее?
Читать дальше →

Пять ошибок, которые я допустил как ведущий разработчик

Время на прочтение6 мин
Количество просмотров33K
Ведущий разработчик — не зря «ведущий». Эту фраза была услышана на одной из конференций по IT-менеджменту и вызвала вопрос, а почему собственно «не зря»? Именно этот вопрос и подтолкнул меня написать эту статью.

image

Оценивая свой опыт, могу сказать, что основные характеристики ведущего разработчика можно свести к 3 пунктам:

  • Думает не только о своей грядке, но и обо всем огороде (это ключевое качество). Готов выстраивать стандарты и следить за их исполнением.
  • Отлично знает свой язык и фреймворк, превосходно разбирается в архитектуре, имеет солидный опыт работы за плечами. «Солидность» не обязательно означает время проведенное за клавиатурой, важно количество и качество написанных проектов.
  • Хочет и может аргументированно доносить свое мнение, отстаивать его и искать компромисс при необходимости.

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

Одной из сильнейших его сторон является целостная картина мира, в которой совершенно точно определено, что такое хорошо и что такое плохо. Это позволяет быстро принимать решения и без колебаний воплощать их в жизнь. Эта уверенность заразительна и позволяет завоевать авторитет в глазах менеджеров, у которых уже не все так просто и понятно. Ведь кроме технических «лучше», «надежнее» и «быстрее», на уровне менеджмента появляются всякие «заказчик не захочет», «инвестор не оценит» и всевозможные «Вася обидится». Когда менеджер слышит «нет, тут нужно делать только так, потому что 1, 2 и 3» — он вздыхает с облегчением. Выбор становится очевиден и ответственность падает с его плеч.

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

Ошибка номер 1. Оверменеджмент


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

Топ ошибок со стороны разработки при работе с PostgreSQL

Время на прочтение21 мин
Количество просмотров52K
HighLoad++ существует давно, и про работу с PostgreSQL мы говорим регулярно. Но у разработчиков все равно из месяца в месяц, из года в год возникают одни и те же проблемы. Когда в маленьких компаниях без DBA в штате случаются ошибки в работе с базами данных, в этом нет ничего удивительного. В крупных компаниях тоже нужны БД, и даже при отлаженных процессах все равно случаются ошибки, и базы падают. Неважно, какого размера компания — ошибки все равно бывают, БД периодически обваливаются, рушатся.



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


О спикере: Алексей Лесовский (lesovsky) начинал системным администратором Linux. От задач виртуализации и систем мониторинга постепенно пришел к PostgreSQL. Сейчас PostgreSQL DBA в Data Egret — консалтинговой компании, которая работает с большим количеством разных проектов и видит много примеров повторяющихся проблем. Это ссылка на презентацию доклада на HighLoad++ 2018.
Читать дальше →

Что не нужно делать, если у вас украли телефон

Время на прочтение7 мин
Количество просмотров236K
Ранее каждый раз, когда я видел сообщения о том, что у человека украли телефон, то всегда задавался вопросом: а зачем? Ну, серьезно, зачем воруют смартфоны если:

  • его можно отследить по IMEI, а смена IMEI явно не бесплатна;
  • на телефоне могут быть установлены блокировки, снять которые так же не бесплатно;
  • есть приложения с режимом «Антивор», которые передают фото, видео и аудио;
  • даже встроенные возможности Android (и, полагаю, iOS) имеют функцию геолокации пропавшего устройства;
  • устройство может иметь особые приметы, которые довольно сложно устранить «бесплатно»;
  • наверняка где-то рядом есть камеры видеонаблюдения, свидетели и т.п.;
  • при продаже краденного за него сложно будет выручить большую сумму денег.

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

Выбор телевизора себе, любимому, с позиции науки, а не рекламы

Время на прочтение4 мин
Количество просмотров122K

Всем привет.

На написание этой небольшой статьи меня натолкнул спор касательно выбора телевизора.

Сейчас в этой области — равно как в «мегапикселях для камер» — царит маркетинговая вакханалия в погоне за разрешениями: HD Ready давно сменились на Full HD, а уже становятся всё более популярными 4К и даже 8К.

Давайте разберёмся — а что нам реально-то нужно?
Читать дальше →

Глобальное кеширование результатов Query в ASP.NET CORE

Время на прочтение10 мин
Количество просмотров8.7K

Парадигма CQRS в том или ином виде предполагает, что вызовы Query не будут менять состояние приложения. То есть многократные вызовы одной и той же query, в рамках одного запроса, будут иметь один и тот же результат.


Пусть все интерфейсы, использующиеся в рамках запроса будут иметь тип IQuery или IAsyncQuery:


public interface IQuery<TIn, TOut>
{
   TOut Query(TIn input);
}

public interface IAsyncQuery<TIn, TOut>: IQuery<TIn, Task<TOut>
{
}
Читать дальше →
Множество профессий сегодня не требует регулярного присутствия на территории работодателя — ни в его офисе, ни даже в стране. А значит, находясь в России, трудиться можно на компанию из США или Европы. Но получив преимущество в разнице курсов валют, можно проиграть гораздо больше — из-за разницы в законах и неправильного оформления документов. Попробуем разобраться со всеми ошибками валютного договора.
Подробности — под катом

Триллион маленьких шинглов

Время на прочтение14 мин
Количество просмотров18K


Источник изображения:www.nikonsmallworld.com


Антиплагиат – это специализированный поисковик, о чем уже писали ранее. А любому поисковику, как ни крути, чтобы работать быстро, нужен свой индекс, который учитывает все особенности области поиска. В своей первой статье на Хабре я расскажу о текущей реализации нашего поискового индекса, истории его развития и причинах выбора того или иного решения. Эффективные алгоритмы на .NET — это не миф, а жесткая и продуктивная реальность. Мы погрузимся в мир хеширования, побитового сжатия и многоуровневых кешей с приоритетами. Что делать, если нужен поиск быстрее, чем за O(1)?


Если кто-то еще не знает, где на этой картинке шинглы, добро пожаловать…


Читать полностью

«Пора валить из фронтенда»: Андрей Ситник о стагнации сообщества, опенсорсе и не только

Время на прочтение27 мин
Количество просмотров85K


Андрей Ситник из Злых марсиан — одно из самых известных российских имён во фронтенде: у его проектов PostCSS и Автопрефиксер счёт GitHub-звёзд идёт на десятки тысяч. Но поскольку Андрей живёт в Нью-Йорке, а путешествует по всей планете, застать в России его можно нечасто.

В мае он будет в Петербурге на конференции HolyJS, и по этому поводу его подробно расспросили участники программного комитета HolyJS Дмитрий DmitryMakhnev Махнёв и Максим Юзва. Почему Андрей считает, что фронтенд стагнирует, а код наших проектов излишне разбухший? В чём различия IT-сообществ разных стран? Как учить английский и почему это менее важно, чем кажется? Куда пропал проект Logux, презентованный на HolyJS ещё в 2016-м?
Читать дальше →

На работу на велосипеде. Еще одно мнение

Время на прочтение15 мин
Количество просмотров85K

Внимание! Это не автор поста!

Вступление


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

Все начиналось прозаично. Однажды, теплым мартовским днем 2016 года, где-то между извилин подогретого первыми солнечными лучами мозга, появился зуд. Я вспоминал детство. Не вообще всё, а те моменты, когда я катил на велосипеде. Это было давно и последние годы моим основным транспортом до работы была электричка, метро и ноги. И я предложил жене купить по велосипеду. Так мы стали обладателями двух MTB (в простонародье «горных») аппаратов типа «Хардтейл». В начале были легкие покатушки по городу и парку «Лосиный остров». С каждым разом было интересно заехать в невиданные ранее уголки города и ближайшего пригорода. Тогда я и не думал, что так просто можно ездить на работу. Но такие мысли однажды появились. Я смотрел карту, видел там «Лосиный остров», он манил. И я поддался. Бумажная просека стала для меня откровением. Асфальтовая дорога в лесу. Так я доехал от Королёва до парка «Сокольники», а там было рукой подать до метро «Добрынинская», где я тогда и работал. И началось. За прошедшее время и тысячи километров появился некий опыт и мнение, которым я и постараюсь поделиться.

Веб-компоненты в реальном мире

Время на прочтение8 мин
Количество просмотров31K

Photo by NeONBRAND


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


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

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

8 приемов работы с CSS: параллакс, «липкий» футер и другие

Время на прочтение4 мин
Количество просмотров64K


От переводчика: перевели для вас статью Брета Кэмерона о хитростях в работе с CSS. Многие моменты пригодятся не только новичкам, но и опытным разработчикам.

Эта статья о приемах работы в CSS, узнав о которых, я восклицал: «Агаааа!». Надеюсь, вы тоже сделаете пару открытий.

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

Я покажу несколько приемов и расскажу о принципах их использования в CSS. Сама по себе статья не о сложностях. Наоборот, она призвана сделать вашу работу более комфортной.

Героям III — 20 лет

Время на прочтение5 мин
Количество просмотров51K
image


Мы копали.
Мы прокачивали логистику.
Мы выбирали опыт, а не золото.
Мы оббегали мельницы и гномиков каждую неделю.
Мы захватывали замок на седьмой день.
Мы считали самым подлянским артефактом «наручники».
Мы все хотели нанять Крэга Хака (4-0-1-1).
Мы понимали, что если получил Town Portal, то победил.
Мы плакали от выбора между «дипломатией» и «зоркостью» (для последней ячейки навыков игрока 19 левела).
Мы ненавидели, когда «комп» вступал в бой с одним юнитом, лупил молнией по лучникам и сбегал сука.
Мы проводили новый год, играя всю ночь на самой большой карте, сначала против «компов», потом против друг друга.
Мы телепортировали гидр в самую сочную кучу стрелков.
Мы до сих пор знаем, сколько атаки у неапгрейженного грифона, а сколько у апгрейженного.
Мы благославляли, ослепляли, проклинали, кастовали камнекожу.

Разрушались Миры, кипели страсти и драмы происходили по ту и по эту сторону монитора.

Давайте делиться историями.

Моя история:
Играем в хотсит втроем с одноклассниками против 5 «компов». Я как-то жутко быстро развился до апгрейженных титанов. И тут возник спор, действует ли заклинание «Армагеддон» на апгрейженных титанов. Меня заставляли во время боя накастовать «Армагеддон», я отказался. Тогда эти двое меня побороли, вышли на болевой, тот что покрече удерживал захват, а второй вступил в бой с NPC и, ехидно улыбаясь, кастанул. У каждого есть такие друзья.

Профессиональная контейнеризация Node.js-приложений с помощью Docker

Время на прочтение10 мин
Количество просмотров72K
Автор материала, перевод которого мы публикуем сегодня, работает DevOps-инженером. Он говорит, что ему приходится пользоваться Docker. В частности, эта платформа для управления контейнерами применяется на разных этапах жизненного цикла Node.js-приложений. Использование Docker, технологии, которая, в последнее время, является чрезвычайно популярной, позволяет оптимизировать процесс разработки и вывода в продакшн Node.js-проектов.

image

Сейчас мы публикуем цикл статей о Docker, предназначенных для тех, кто хочет освоить эту платформу для её использования в самых разных ситуациях. Этот же материал сосредоточен, в основном, на профессиональном применении Docker в Node.js-разработке.
Читать дальше →

Domain-driven design: рецепт для прагматика

Время на прочтение21 мин
Количество просмотров75K

Почему к DDD обычно подходят не с той стороны? А с какой стороны надо? Какое отношение ко всему этому имеют жирафы и утконосы?

Специально для Хабра — текстовая расшифровка доклада «Domain-driven design: рецепт для прагматика». Доклад был сделан на .NET-конференции DotNext, но может пригодиться не только дотнетчикам, а всем интересующимся DDD (мы верим, вы осилите пару примеров кода на C#). Видеозапись доклада также прилагается.

Больше возможностей с паттернами в C# 8.0

Время на прочтение7 мин
Количество просмотров15K

Совсем недавно вышла Visual Studio 2019 Preview 2. И вместе с ней пара дополнительных функций C# 8.0 готовы к тому, чтобы вы их опробовали. В основном речь идет о сопоставлении с образцом, хотя в конце я коснусь и некоторых других новостей и изменений.


Эта статья на английском


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

OWASP Proactive Controls: cписок обязательных требований для разработчиков ПО

Время на прочтение14 мин
Количество просмотров15K
image

Предлагаем вашему вниманию Top 10 Proactive Controls for Software developers – 10 аспектов безопасности, на которых должны сосредоточиться разработчики ПО. Данная статья содержит список техник по обеспечению безопасности, обязательных для реализации при разработке каждого нового проекта.
Читать дальше →

10 консольных команд, которые помогут дебажить JavaScript-код like a PRO

Время на прочтение3 мин
Количество просмотров26K
image

Перевели статью Амита Соланки по отладке JavaScript-кода при помощи консольных команд. По словам автора, эти команды помогут значительно повысить производительность труда программиста при поиске багов и сэкономят кучу времени.

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

Информация

В рейтинге
Не участвует
Откуда
Калуга, Калужская обл., Россия
Дата рождения
Зарегистрирован
Активность