Как стать автором
Обновить
2
0
Даниил @SmilePic

.NET Web Developer

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

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

Время на прочтение11 мин
Количество просмотров79K
Привет Хабр.

Не так давно я попала в автокатастрофу, и на своём личном опыте испытала, что такое переломанные кости, тяжёлая черепно-мозговая травма и потеря памяти. В статье я также хочу поговорить о заблуждениях о симптоме амнезии в современной массовой культуре. Область довольно запутанная и противоречивая, но мне всё же захотелось структурировать известные данные и поделиться личным опытом.
Читать дальше →
Всего голосов 301: ↑297 и ↓4+293
Комментарии165

Полезные расширения Google Chrome для программиста

Время на прочтение4 мин
Количество просмотров40K
Работа программиста настолько сложна и разнообразна, что в ней просто не обойтись без помощи различных инструментов. Подготовил список из 34 полезных расширений Google Chrome, которые облегчат вашу жизнь и сэкономят время.

image

1. Octotree

Если вы любите GitHub и помногу читаете код, то, вероятно, знаете, как неудобно устроен обзор GitHub-файлов онлайн. Теперь этот процесс можно упростить при помощи расширения Octotree. Здесь предоставляется панель инструментов с удобной навигацией, также поддерживающая приватные репозитории.

2. PerfectPixel by WellDoneCode

Это расширение позволяет разработчикам накладывать изображения полупрозрачным слоем поверх HTML и делать попиксельное сравнение.

3. GitHub Repository Size

Удобный и простой плагин, отображающий как объем отдельного репозитория, так и размер кажого файла в нем.
Читать дальше →
Всего голосов 35: ↑26 и ↓9+17
Комментарии11

Окружи, откуси, распили: новое соревнование Mini AI Cup #4

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

Привет! Большинство из нас, специалистов в IT сфере, любит играть в игры — карточные, настольные, компьютерные и другие. Зачастую бывает, что игры пользы никакой не приносят, а хотелось бы всё и сразу — удовольствие, фан и знания. Специально для вас мы стараемся изобретать «игры для программистов», которые сочетают в себе всё вышеперечисленное. Предлагаем вам познакомиться с ними и приглашаем принять участие в соревновании по искусственному интеллекту Mini AI Cup #4!
Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии9

Как сэкономить на психотерапевте используя test-driven development

Время на прочтение27 мин
Количество просмотров19K
У вас когда-нибудь было такое состояние?

image

Хочу показать вам, как TDD может улучшить качество кода на конкретном примере.
Потому что всё то, что я встречал при изучении вопроса, было довольно-таки теоретическим.
Так получилось, что мне довелось написать два практически идентичных приложения: одно писалось в классическом стиле, так как я ещё не знал тогда TDD, в второе — как раз с использованием TDD.

Ниже я покажу, где были самые большие различия.

Лично мне это было важно, потому что каждый раз, когда кто-то находил баг в моём коде, я ловил увесистый минус на самооценку. Да, я понимал, что баги — это нормально, их пишут все, но ощущение неполноценности никуда не уходило. Также, в процессе эволюции сервиса, я иногда понимал, что сам понаписал такого, что чешутся руки всё выкинуть и переписать заново. И как это получилось — непонятно. Как-то всё было хорошо в начале, но вот пару фич и через некоторое время уже на архитектуру без слёз не взглянешь. Хотя вроде каждый шаг изменения был логичный. Ощущение того, что мне не нравится продукт собственного труда, плавно перетекало в ощущение, что программист из меня, простите, как из говна пуля.

Оказалось, я не один такой и схожие ощущения возникают у многих моих коллег. И тогда я решил, что либо научусь писать нормально, либо пора менять профессию. Я попробовал test-driven development в попытке что-то изменить в своём подходе к программированию.

Забегая вперёд, по результату нескольких проектов, могу сказать, что TDD даёт более чистую архитектуру, но при этом замедляет разработку. И подходит не всегда и не всем.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии27

Дешёвые и дорогие батарейки ААА

Время на прочтение3 мин
Количество просмотров347K
Реклама добилась своего: большинство покупателей уверены, что батарейки Duracell и Energizer значительно лучше других. Чтобы проверить, так ли это, я протестировал 20 видов щелочных (alkaline) батареек AAA — от самых дешёвых до самых дорогих.


Читать дальше →
Всего голосов 369: ↑363 и ↓6+357
Комментарии388

Будни техподдержки: байки про то, что бывает, когда не можешь дойти до юзера

Время на прочтение8 мин
Количество просмотров68K
Мы среди прочего оказываем поддержку по Вотсапу. Вечер, ничто не предвещает проблем, как тут вдруг открывается окно видеозвонка. Крупным планом — телеком-оборудование, установленное на площадке заказчика… И оно горит. Буквально. Видно огонёк, похоже — изоляция проводов около блока питания. Человек спрашивает, что делать. Кричу:
— Туши!
Он:
— А можно?
— Можно!
И только тогда он тушит.



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

В общем, привет, Хабр! Я из команды удалённой технической поддержки, и мы часто общаемся с пользователями по всей стране и за её пределами. И они творят довольно странные вещи. Ниже будут байки.
Читать дальше →
Всего голосов 152: ↑152 и ↓0+152
Комментарии128

Стоит ли высокое качество ПО затрат на его разработку?

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

Часто в процессе реализации проектов команды сталкиваются с вопросом: чему следует уделять больше внимания – выпуску новых фич или повышению качества кода? Обычно менеджеры делают выбор в пользу фич. Зачастую разработчики таким положением дел недовольны, считая, что им выделяется недостаточно времени для работы над архитектурой и качеством кода.

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

Несмотря на то, что основная целевая аудитория статьи это разработчики, для её понимания не требуется специальных знаний. Мне бы хотелось чтобы эта статья принесла пользу всем, кто так или иначе связан с процессом разработки, а особенно менеджерам, которые формируют вектор развития продуктов.
Читать дальше →
Всего голосов 64: ↑59 и ↓5+54
Комментарии100

Авиационные газотурбинные двигатели

Время на прочтение7 мин
Количество просмотров104K
Всем привет! В этой статье я хочу рассказать о том, как работают авиационные газотурбинные двигатели (ГТД). Я постараюсь сделать это наиболее простым и понятным языком.

Авиационные ГТД можно можно разделить на:

  • турбореактивные двигатели (ТРД)
  • двухконтурные турбореактивные двигатели (ТРДД)
  • Турбовинтовые двигатели (ТВД)
  • Турбовальные двигатели (ТВаД)

Притом, ТРД и ТРДД могут содержать в себе форсажную камеру, в таком случае они будут ТРДФ и ТРДДФ соответственно. В этой статье мы их рассматривать не будем.

Начнём с турбореактивных двигателей.

Турбореактивные двигатели


Такой тип двигателей был создан в первой половине 20-го века и начал находить себе массовое применение к концу Второй мировой войны. Первым в мире серийным турбореактивным самолетом был немецкий Me.262. ТРД были популярны вплоть до 60-ых годов, после чего их стали вытеснять ТРДД.

image
Современная фотография Me-262, сделанная в 2016 году

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

  • Входное устройство
  • Компрессор
  • Камеру сгорания
  • Турбину
  • Реактивное сопло (далее просто сопло)

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

А теперь рассмотрим что для чего нужно и зачем.
Читать дальше →
Всего голосов 136: ↑133 и ↓3+130
Комментарии245

Старикам здесь не место? Программируем после тридцати пяти

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



Привет, меня зовут Дмитрий, мне 35 лет. Раньше я часто слышал, что программист — профессия для молодых. Тем не менее прошлым летом я получил приглашение в Яндекс и перебрался работать в Москву.


В этой статье я хотел бы затронуть вопрос, который не раз обсуждался на Хабре: насколько реально быть программистом после 35–40 лет? Не ведущим архитектором, не тимлидом, не менеджером проекта, а именно программистом? Я не согласен с мнением, что программирование — это удел молодых. Считаю его вредным и сейчас расскажу почему.


Существует несколько доводов, на которые опирается этот миф. Давайте-ка их подробно рассмотрим.

Читать дальше →
Всего голосов 238: ↑222 и ↓16+206
Комментарии657

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

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


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

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

Поэтому добро пожаловать в пост «что вы не знали про российский книжный рынок». И да, там есть пара странных вещей.
Читать дальше →
Всего голосов 113: ↑112 и ↓1+111
Комментарии79

Как Doom попал на Super Nintendo

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

Эта статья — перевод главы книги Game Engine Black Book: DOOM, подробного анализа внутреннего устройства одной из самых влиятельных игр id Software. В этой главе рассказывается о сложном процессе портирования DOOM на Super Nintendo и о ключевой роли, которую сыграл в нём разработчик игры Star Fox студии Argonaut Games.

Книга написана автором и программистом Фабьеном Сангларом, а полный её текст теперь можно приобрести в бумажном и цифровом виде.

Super Nintendo Entertainment System была выпущена в Японии в 1990 году, а на следующий год появилась в США и Европе.

Она стала 16-битным потомком 8-битной NES. В Японии Super Famicom (FAMIly COMputer) приобрела мгновенный успех, и вся первоначальная партия в 300 тысяч устройств была раскуплена за считанные часы. Ажиотаж был так силён, что правительство попросило Nintendo на будущее выпускать свои консоли по выходным, чтобы избежать волнений.

Для обеспечения высокого качества игр консоли Nintendo создала безжалостную систему контроля. Издатели имели право выпускать всего по пять игр в год. Чтобы это правило действовало, Nintendo оставила право производства картриджей только за собой; издатели были вынуждены покупать их у Nintendo. Чтобы все играли по правилам (а также для защиты игр от копирования), перед запуском игры консоль SNES проверяла наличие чипа CIC. Это был мощный защитный механизм, который удалось взломать только к концу срока жизни SNES.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии8

Перенос десктопных приложений на .NET Core

Время на прочтение5 мин
Количество просмотров23K
С тех пор, как я начала работать с сообществом над переносом десктопных приложений с .NET Framework на .NET Core, я заметила, что существует «два лагеря»: представители одного хотят очень простой и короткий список инструкций для переноса своих приложений на .NET Core, в то время как представители другого предпочитают более принципиальный подход с большим количеством исходной информации. Вместо того, чтобы писать документ по типу «швейцарского армейского ножа», мы собираемся опубликовать два сообщения в блоге, по одному для каждого «лагеря»:

  • Данный пост — простой случай. Он ориентирован на простые инструкции и небольшие приложения и рассматривает самый простой способ переноса приложения на .NET Core.
  • Позднее мы опубликуем еще один пост для более сложных случаев. В нем основное внимание будет уделено нетривиальным приложениям, таким как WPF-приложение с зависимостями от WCF и сторонних UI-пакетов.

Если вы предпочитаете смотреть видео, а не читать, то вот видео, где я делаю все, что описано ниже.

Всего голосов 15: ↑13 и ↓2+11
Комментарии20

Почему только прокачка кодинга не сделает из тебя лучшего разработчика

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


Techlead Skyeng Кирилл Роговой (flashhhh) выступает на конференциях с докладом, в котором рассказывает о навыках, развивать которые стоит каждому хорошему разработчику, чтобы стать лучшим. Я попросил его поделиться этой историей с читателями Хабры, передаю Кириллу слово.


Миф про хорошего разработчика гласит, что он:


  1. Пишет чистый код
  2. Знает много технологий
  3. Быстрее кодит задачи
  4. Знает кучу алгоритмов и шаблонов проектирования
  5. Умеет отрефакторить любой код по Clean Code
  6. Не тратит время на непрограммистские задачи
  7. 100% мастер своей любимой технологии

Так видят идеальных кандидатов HRы, и вакансии, соответственно, выглядят тоже так.


Но мой опыт говорит, что это не сильно соответствует действительности.

Читать дальше →
Всего голосов 61: ↑45 и ↓16+29
Комментарии72

N+7 полезных книг

Время на прочтение6 мин
Количество просмотров68K
Привет! Это очередной традиционый список книг, оказавшихся полезными за год. Сугубо субъективный, конечно. Но я серьёзно рассчитываю, что вы подскажете ещё классных штук почитать.



Думай медленно, решай быстро — Даниэль Канеман
Это самое волшебное, что случалось за последние годы в плане гиковой литературы. Эта штука последовательно открывает когнитивные искажения и учит настраивать мышление. При этом увлекательно. Вообще, подход к тому, что мышление — это набор техник, которые можно тренировать и оттачивать, он, наверное, правильнее подхода «это шаманство». Канеман в отличие от следующей в списке книги, показывающей особенности реверсивного мышления, не даёт новых техник — но показывает, где и какие ошибки мы совершаем при обычных процессах. Такой серьёзный дебаг мозга.
Читать дальше →
Всего голосов 73: ↑71 и ↓2+69
Комментарии80

Как устроен формат JPEG

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

Изображения формата JPEG встречаются повсюду в нашей цифровой жизни, но за этим покровом осведомлённости скрываются алгоритмы, устраняющие детали, не воспринимаемые человеческим глазом. В итоге получается высочайшее визуальное качество при наименьшем размере файла – но как конкретно всё это работает? Давайте посмотрим, чего именно не видят наши глаза!




Легко принять, как само собой разумеющееся, возможность отправить фотку другу, и не волноваться по поводу того, какое устройство, браузер или операционную систему он использует – однако так было не всегда. К началу 1980-х компьютеры умели хранить и показывать цифровые изображения, однако по поводу наилучшего способа для этого существовало множество конкурирующих идей. Нельзя было просто отправить изображение с одного компьютера на другой и надеяться, что всё заработает.
Читать дальше →
Всего голосов 107: ↑102 и ↓5+97
Комментарии28

Осторожный переезд в Нидерланды с женой. Часть 3: работа, коллеги и прочая жизнь

Время на прочтение12 мин
Количество просмотров75K
В 2017-2018 годах я искал работу в Европе и нашел в Нидерландах (про это можно прочитать здесь). Летом 2018-го мы с женой постепенно перебрались из Подмосковья в пригород Эйндховена и более-менее обустроились там (это описано здесь).



С тех пор прошел год. С одной стороны — немного, а другой — достаточно, чтобы поделиться своими опытом и наблюдениями. Делюсь под катом.

Ружье Бондарчука Ипотека все еще есть, но я про нее ничего не расскажу :)
Читать дальше →
Всего голосов 120: ↑110 и ↓10+100
Комментарии189

Программирование — больше, чем кодинг

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


Это статья-перевод Стэнфордского семинара. Но перед ней небольшое вступление. Как образуются зомби? Каждый попадал в ситуацию, когда хочется подтянуть друга или коллегу до своего уровня, а не получается. Причём «не получается» не столько у тебя, сколько у него: на одной чаше весов находится нормальная зарплата, задачи и так далее, а на другой — необходимость думать. Думать неприятно и больно. Он быстро сдаётся и продолжает писать код, совершенно не включая мозг. Ты представляешь, насколько много сил нужно потратить, чтобы преодолеть барьер выученной беспомощности, и просто не делаешь этого. Так образуются зомби, которых вроде бы можно вылечить, но вроде бы и никто этим заниматься не станет.


Когда я увидел, что Лесли Лэмпорт (да-да, тот самый товарищ из учебников) приезжает в Россию и делает не доклад, а сессию вопросов-ответов, я немного насторожился. На всякий случай, Лесли — всемирно известный учёный, автор основополагающих работ в распределённых вычислениях, а ещё вы его можете знать по буквам La в слове LaTeX — «Lamport TeX». Вторым настораживающим фактором является его требование: каждый, кто придёт, должен (совершенно бесплатно) заранее прослушать пару его докладов, придумать по ним минимум один вопрос и только тогда уже приходить. Решил посмотреть, что там Лэмпорт вещает — и это великолепно! Это в точности та штука, волшебная ссылка-таблетка для лечения зомбятины. Предупреждаю: от текста может знатно подгореть у любителей сверхгибких методологий и нелюбителей тестировать написанное.


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

Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии29

Медицинская страховка в путешествии: подробная инструкция

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


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

Я хочу попробовать обобщить всё то, что должен знать турист о медицинской страховке перед тем, как выезжать за рубеж, и составить что-то вроде подробной памятки:

  • Насколько страховка обязательна и как можно сэкономить.
  • Какие разновидности страховок вообще бывают.
  • Что делать, если ты от души выпил и решил прыгнуть с парашютом в Камбодже.
  • Как не купить репатриацию останков вместо нормальной страховки.
Читать дальше →
Всего голосов 60: ↑58 и ↓2+56
Комментарии41

Осторожный переезд в Нидерланды с женой и ипотекой. Часть 2: подготовка документов и переезд

Время на прочтение16 мин
Количество просмотров64K
Итак, за примерно год (май 2017 — февраль 2018) я, программист C++, нашел-таки работу в Европе. Я десятки раз откликался на вакансии в Англии, Ирландии, Швеции, Нидерландах и даже в Португалии. Я раз двадцать беседовал по телефону, скайпу и прочим системам видео связи с рекрутерами, и несколько меньше — с техническими специалистами. Я ездил в Осло, в Эйндховен и три раза в Лондон на финальные интервью. Все это подробно описано здесь. В итоге я получил один оффер и принял его.



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

Но всегда можно самому себе создать сложности. Что я и сделал, чем затянул свой переезд еще на месяц. Если интересно почитать о хлопотах (нет, не сильно приятных) связанных с переездом IT семьи в Западную Европу — добро пожаловать под кат.
Читать дальше →
Всего голосов 115: ↑105 и ↓10+95
Комментарии187

HBO, cпасибо что напомнил… «Чернобыльская аптечка» беларуского фармацевта

Время на прочтение20 мин
Количество просмотров124K
Что бы ни сказали — не станем спорить
Что бы ни дарили — не станем верить

Егор Летов «Как листовка»

Думаю не стоит лишний раз говорить о нашумевшем сериале Чернобыль и эффективности такого «сериального» воздействия на массы. Особенно на массы, проживающие на территориях, показанных в фильме. Выход каждой новой серии сопровождается всплеском публикаций в FB. В каждой из которых горечь, страх, боль. Что в такой ситуации я могу сделать ("кто виноват и что делать?")? Могу только описать свой взгляд на терапию лучевых поражений. Спасибо родненькой кафедре химии высоких энергий и проф. Шадыро О.И., которые пестовали в своих лабораториях нас, непутевых фармацевтов-радиохимиков. Надеюсь своей статьей честь этой, легендарной некогда, кафедры я не опорочу.

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

В общем, спасибо, сценаристы HBO, за то, что всколыхнули Память. Мой посильный вклад — под катом. Рейтинг доступных (и не очень) антидотов, способных сработать при радиационном выбросе. В закладки — класть строго ВСЕМ! И прочитал сам — перекинь другу.

Читать дальше →
Всего голосов 227: ↑210 и ↓17+193
Комментарии272

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность