Pull to refresh
17
0
Александр Выскворкин @AlexOnBeta

Разработчик

Send message

Измеряем на коленке пропускную способность памяти

Reading time9 min
Views19K
Несколько недель назад в разговоре за обедом коллега пожаловался на какой-то медленный процесс. Он подсчитал количество сгенерированных байт, количество циклов обработки, и в конечном счёте, объём оперативной памяти. Коллега заявил, что современный GPU с пропускной способностью памяти более 500 ГБ/с съел бы его задачу и не подавился.

Мне показалось, что это интересный подход. Лично я раньше не оценивал задачи производительности с такой стороны. Да, я знаю о разнице в производительности процессора и памяти.



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

Зарплаты в ИТ во втором полугодии 2019 года: по данным калькулятора Хабр Карьеры

Reading time5 min
Views201K
image

Наш отчёт по зарплатам в ИТ за второе полугодие 2019 года построен на данных из калькулятора зарплат Хабр Карьеры, в котором за этот период было собрано более 7000 зарплат.

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

Сервис зарплат запущен на Хабр Карьере в конце 2017 с целью регулярного мониторинга зарплат в ИТ-индустрии. Зарплаты оставляют сами специалисты, мы их собираем и предоставляем всем в открытый доступ в агрегированной и анонимной форме.
Читать дальше →
Total votes 69: ↑66 and ↓3+96
Comments234

Для чего программисту Continuous Integration и с чего начинать

Reading time8 min
Views52K
Представьте что в Роскосмосе решили собрать новую ракету не имея при этом чертежей и четкого понимания как ракета должна быть устроена. Отдельный завод занимается корпусом ракеты, отдельный выпускает двигатели, еще один — сопла. Главный менеджер Роскосмоса сказал что он доверяет профессионалам, и мастерски сделегировал всю работу заводам.



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

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

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

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

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

В 1991 году Гради Буч, видимо, устал от такого безобразия, и предложил делать сборку всего проекта каждый день, чтобы выяснять несовместимости не в день релиза, а пораньше — и назвал этот подход Continuous Integration.
Читать дальше →
Total votes 58: ↑52 and ↓6+46
Comments56

TDD: как правильно писать спецификации (describes)

Reading time3 min
Views4.3K
Написание спецификаций — утверждения или тестовые гипотезы — обычно обходят стороной в курсах TDD, поскольку тут мало программирования.

Однако они очень важны.

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

Каким образом мы могли бы сделать наши утверждения лучше?
Читать дальше →
Total votes 11: ↑8 and ↓3+5
Comments25

Просто деление, или как создать математическую теорию и заработать на этом 400К$. Серия третья, заключительная

Reading time19 min
Views8.3K
В предыдущих сериях мы взглянули на дробные числа с несколько необычных ракурсов. В этой серии, после введения и некоторой теоретической базы, попробуем собрать всё в удобном виде и получить пользу от имеющейся информации.
Читать дальше →
Total votes 16: ↑12 and ↓4+8
Comments15

Всегда презентуйте свою работу

Reading time4 min
Views27K
У нас на работе есть Сергей, он заместитель директора по общехозяйственным вопросам или же просто завхоз. Перегорела лампа – к нему. Сломался стул – к нему. Дверь с петель сорвали – Сергей починит. Нужна новая розетка – он поможет. Не хватает площадей – организует стройку. И вообще спасибо ему за свет и тепло в нашем офисе! Нет, серьезно, мы все понимаем, что это его заслуга, он нашел людей, проконтролировал их работу и проводит технические обслуживания, поэтому у нас в офисе всегда светло и тепло. Свою работу он никак не презентирует, поскольку то, что он может все это сделать ни для кого не является тайной, он же завхоз, а, значит, умеет все это делать (иначе завхозом он не стал бы). Логично, правда? С другой стороны его работу за него никто не делает: лампочки не меняют, замки не чинят, снег не чистят, воздух с батарей не спускают. Конечно, со временем можно даже медведя на мотоцикле научить ездить, так что коллеги научились болты выпадающие подкручивать, батареи регулировать, самые продвинутые выучили что если мебель ломается нужно ему звонить, а когда нужно купить что-то новое то что-то старое нужно сфотографировать чтобы точно то купил. Работа его кажется людям сложной (или же люди просто не хотят делать сами даже если так быстрее) и в неё никто не лезет, не претендует на его лавры.
Читать дальше →
Total votes 80: ↑77 and ↓3+74
Comments43

Осваиваем компьютерное зрение — 8 основных шагов

Reading time3 min
Views105K
Привет, читатель.

Для тебя уже не является новостью тот факт, что все на себе попробовали маски старения через приложение Face App. В свою очередь для компьютерного зрения есть задачи и поинтереснее этой. Ниже представлю 8 шагов, которые помогут освоить принципы компьютерного зрения.

image

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

Total votes 40: ↑35 and ↓5+30
Comments10

Красивые точные часы из старого смартфона

Reading time25 min
Views88K


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

Я расскажу о некоторых выясненных особенностях сихронизации времени в ОС Андроид, а также о разных электрических хитростях в системе питания смартфона. Опишу пример схемы на несложных аналоговых компонентах, которая осуществляет автоматическое резервное питание. И конечно речь будет о программной части андроид – как и с помощью чего можно самому сделать из смартфона красивые часы на любой вкус.
Читать дальше →
Total votes 150: ↑147 and ↓3+144
Comments137

Изучение понятий через сенсомоторное взаимодействие

Reading time7 min
Views3.8K


Мысленный эксперимент


Представьте, что вы проснулись в странной комнате. Это не уютная спальня, в которой вы засыпали, а тускло освещенная камера с холодным влажным полом. На стенах потрескавшаяся штукатурка. И единственным входом и выходом предположительно является массивная железная дверь, запертая навесным замком изнутри. Немного выше на стене зарешеченное окно, пропускающее немного света. Если окинув взглядом всё вокруг вы пришли бы к выводу что вы в ловушке, это было бы вполне разумно. Выглядит это ужасно.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments3

Создание собственной цветовой палитры

Reading time4 min
Views44K
Адаптировано из нашей будущей книги «Рефакторинг UI»

Видели эти модные генераторы цветовой палитры? Когда выбираешь цвет, настраиваешь несколько параметров с музыкальными словечками типа «триада» или «четвёртый мажор» — и получаете пять идеальных цветов для своего веб-сайта?



Такой вычислительный и научный подход к выбору идеальной цветовой гаммы крайне соблазнителен, но не очень полезен.
Читать дальше →
Total votes 94: ↑92 and ↓2+90
Comments12

Взгляд биолога на корни нашего старения

Reading time16 min
Views35K
Здравствуйте!

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

Дисклеймер: если вам кажется, что текст направлен определённому человеку, а не аудитории в целом, то так оно и есть, но менять я ничего не буду.

Эта статья написана полностью из головы, что называется на одном дыхании (правда в три захода), потому в ней минимальное количество ссылок и картинок – прошу понять и простить, либо написать в комментарии, возможно я что-то исправлю.
Читать дальше →
Total votes 79: ↑76 and ↓3+73
Comments156

Как международная хакерская сеть заработала $100 млн на краже пресс-релизов

Reading time24 min
Views20K


Весной 2012 года в киевском ночном клубе подвыпивший 24-летний Иван Турчинов бахвалился перед дружками-хакерами. Он хвастал, что много лет взламывает ленты бизнес-новостей и продаёт биржевым трейдерам неопубликованные пресс-релизы через московских посредников за долю в прибыли.

Один из хакеров в том клубе Александр Еременко раньше работал с Турчиновым — и решил войти в долю. Вместе со своим другом Вадимом Ермоловичем они взломали ленту Business Wire, украли внутренний доступ Турчинова к сайту и заставили московского главаря, известного под псевдонимом eggPLC, взять их в схему. Враждебное поглощение означало, что Турчинову пришлось делиться. Теперь в игру вступили три хакера.
Читать дальше →
Total votes 49: ↑42 and ↓7+35
Comments36

Делаем «умный» контроллер для кондиционера на ESP8266

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

Задача


В квартире стоят четыре кондиционера, ими нужно научиться управлять:

  • Из веб-интерфейса (у меня это Home Assistant, крутящийся на отдельном Raspberry Pi, но в идеале хочется простого подключения к любой системе);
  • Голосом (Google Assistant подойдёт, потом подумаем об Алисе);
  • Скриптами;
  • Дёшево...

Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments82

ESP8266 с чего начать или первый опыт

Reading time7 min
Views332K
В этой статье я хочу поделиться опытом того, что делать, когда в руки впервые попадают платки ESP8266. Сразу оговорюсь, что ковыряние в таких железках, равно как и программирование, это моё хобби за мои деньги и в свободное от основной деятельности время. Поэтому прошу отнестись с определенной скидкой к степени критики данного материала.

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

image

Итак, приступим!
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments51

Вентиляция санузла с умом

Reading time3 min
Views76K
Заходя в свой квартирный санузел, в очередной раз с досадой замечаю гул включившейся вентиляции, в самом факте вентиляции не вижу ничего плохого, но вот вопрос удобности и функциональности работы вентиляции в санузле мне не нравится. Дело в том что вентилятор принудительной вентиляции у меня в квартире (наверное у многих так) подключен параллельно с выключателем света и работает только тогда когда включен свет. В связи со сложившимися обстоятельствами и наличием возможности — решил изменить сиё положение вещей, и создать автоматизированную систему вентиляции санузла. Так как вентиляция должна работать, но мешать не должна, решил делать так.

Предварительная идея


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

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


Читать дальше →
Total votes 47: ↑40 and ↓7+33
Comments268

Мониторинг работы систем загородного дома: первые шаги к умному дому

Reading time12 min
Views20K

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

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments16

AI, практический курс. Обзор нейронных сетей для классификации изображений

Reading time8 min
Views29K
В данной статье приводится доступный теоретический обзор сверточных нейронных сетей (Convolutional Neural Network, CNN) и разъясняется их применение к задаче классификации изображений.


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

Два раза в одну реку или (Не)много о профессиональном выгорании

Reading time17 min
Views105K
Саббатикал — это оплачиваемый или частично оплачиваемый длительный отпуск продолжительностью от трёх месяцев до года (и более) с гарантированным сохранением места за сотрудником.

— Саш, очевидно, работа не приносит тебе удовольствия, — Слава проговаривал бесспорные вещи. Четвертую неделю вместо работы я мчался на очередной детский турнир по футболу. Когда у тебя трое детей, можно 120% своего времени занять их увлечениями. — У меня есть к тебе предложение. Давай отправим тебя в отпуск на год? Я за это время закрою собой бизнес. Доходы, по-прежнему, пополам. Потом ты вернешься с новыми силами, и, может быть, я на год в отпуск схожу.

Честно говоря, я недолго думал над этим предложением. От работы реально подташнивало, и перспектива на год избавиться от этого источника тошноты манила как никогда раньше. Мы ударили по рукам.
Читать дальше →
Total votes 138: ↑132 and ↓6+126
Comments156

Поиграть в создателя всего сущего

Reading time6 min
Views18K

Введение


C тех давних пор, когда лучше ZX-Spectrum ничего не было, запомнилась игрушка, в которой надо было задать программу роботу, чтобы он в автономном плавании победил противника. И вот в свободное от работы и отдыха время я начал заниматься программой, которая при помощи настроек, считываемых из текстового файла в XML-формате позволяет:


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

Основное отличие от существующих игр — в модели нет предопределенного сценарием конца.

Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments21

Поехали! Falcon Heavy отправила Tesla на Марс

Reading time2 min
Views70K


Наконец-то, после множества переносов старта, свершилось долгожданное событие. SpaceX успешно провела первый запуск сверхтяжелой ракеты-носителя Falcon Heavy.

Запуск состоялся в 23:45 по московскому времени с пускового комплекса 39А Космического центра Кеннеди во Флориде. Стартовое окно запуска открылось в 21:30 по московскому времени и компания несколько раз переносила пуск из-за сильного ветра. Разгонные блоки успешно вернулись на Землю. Боковые блоки синхронно сели на мыс Канаверал, а центральный на баржу (об успешности, его приземления пока нет официальных данных, во время трансляции связь была прервана).
Total votes 160: ↑156 and ↓4+152
Comments1040

Information

Rating
Does not participate
Location
Белгород, Белгородская обл., Россия
Date of birth
Registered
Activity