Search
Write a publication
Pull to refresh
163
0
Валерий Макаров @valemak

Программист

Send message

Коронавирус COVID-19: только факты, без паники

Reading time5 min
Views298K
Паника — худшее, что может случиться во время пандемии. Хабр всегда был и остается местом, где людям важны факты, а не домыслы. Факты такие: коронавирус оказался заразным и в некоторых случаях — смертельным. Государства избирательно закрывают границы, авиакомпании отменяют рейсы, массовые мероприятия переносятся. Лучшее, что можно сделать — как следует подготовиться. Ниже мы собираем самые внятные и полезные статьи, которые выходили на площадке в последнее время. Материал будет дополняться.
Читать дальше →

Коронавирус: почему надо действовать прямо сейчас

Reading time19 min
Views5.6M

Вступление


Учитывая всё, что происходит с коронавирусом, может оказаться очень сложно принять решение, что делать прямо сейчас. Стоит ли подождать, пока станет больше информации? Надо ли предпринять что-то уже сегодня? Если да, то что?

В этой статье со множеством графиков, данных и моделей из большого числа источников мы постараемся ответить на вопросы:

  • Сколько людей заболеют коронавирусом в вашем регионе?
  • Что случится, когда они начнут заболевать?
  • Что вы должны делать?
  • Когда?

Когда вы закончите читать статью, вы придёте к следующим выводам:

  • Коронавирус приближается к вам.
  • Он приближается с экспоненциальной скоростью: сперва постепенно, а потом внезапно.
  • Это вопрос нескольких дней. Может быть, неделя или две.
  • Когда это случится, ваша система здравоохранения будет перегружена.
  • Ваши сограждане будут лечиться в коридорах.
  • Изможденные медицинские работники сломаются. Некоторые погибнут.
  • Им придётся решать, кто из пациентов получит лечение, а кто умрет.
  • Единственный способ предотвратить это — социальная изоляция уже сегодня. Не завтра. Сегодня.
  • Это значит держать как можно больше людей дома, начиная с сегодняшнего дня.

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

Сейчас вы можете опасаться: что, если это избыточная реакция? Не станут ли люди смеяться надо мной? Вдруг они разозлятся на меня? Не буду ли я выглядеть глупо? Не лучше ли подождать, пока другие сделают первые шаги? Что, если это слишком навредит бизнесу?

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

Итак, давайте разбираться.
Много графиков и длинный текст

Коронавирус: филогения, курение, летальность и снижение рисков заболеть

Reading time8 min
Views260K


Есть ощущение, что про эпидемию COVID-19 сейчас вещают из каждого утюга. В этом плане Хабр радует хорошими постами с нормальными источниками и конструктивным обсуждением. Я тоже решила поделиться свежими препринтами на тему экспрессии ACE2 у укуренных мышей, особенностями генетики и эволюции вируса, а также рекомендациями о снижении рисков заболеть. И ещё поскольку мы занимаемся средствами для глаз в лаборатории, меня просто достали вопросами, что помогает. Если коротко — лучше всего помогает пакет на голову.

Законы программирования

Reading time20 min
Views60K

Законы, теории, принципы и закономерности, полезные для разработчиков


Введение


Перевод репозитория github.com/dwmkerr/hacker-laws

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

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

Законы


Закон Амдала


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

Самые важные и полезные материалы по коронавирусу COVID-19

Reading time5 min
Views26K
Тележка будет медленно толкать своих жертв со скалы в больницу, удобно ожидающую внизу. Они, вероятно, переживут падение (физика мультфильмов!), но потребуют интенсивной медицинской помощи. Если вы потяните рычаг, отправив тележку на нижнюю колею, вы, по крайней мере, сможете выиграть немного времени на подготовку, сократить количество пострадавших и распределить их сильнее, тем самым предотвращая перегруженность персонала больницы. Но черт, это тяжелый рычаг, и тянуть его будет не приятно. (перевод Андрей Дунаев)

Я хочу инициировать создание ситуационного центра, где можно оперативно и централизованно получать информацию ДЛЯ САМОСТОЯТЕЛЬНЫХ выводов о текущем положении дел и принимаемых мерах по поводу:

а) вируса
б) действий правительств
в) действий медиков
г) действий работников и работодателей
д) действий каждого отдельного человека

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

Весь Хабр в одной базе

Reading time7 min
Views17K

Добрый день. Прошло уже 2 года с момента написания последней статьи про парсинг Хабра, и некоторые моменты изменились.


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

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

Quick Sort Algorithm in JavaSript (pivot as the first element + pivot as the random element)

Reading time5 min
Views21K

Introduction


Quick Sort is one of the most famous and effective Sorting Algorithms. The comprehension of how it works will undoubtedly help you in your JavaScript learning. Also, questions on algorithms are popular in job interviews, so there is a big chance you will be asked to describe how Quick Sort works.

I’m sure that I convinced you that Quick Sort is important. Let’s start!


Read more →

Самые популярные структуры данных

Reading time9 min
Views28K
Что такое структура данных?
Проще говоря, структура данных — это контейнер, в котором хранятся данные в определенной компоновке (формате, или способе организации их в памяти). Эта «компоновка» позволяет структуре данных быть эффективной в одних операциях и неэффективной в других. Ваша цель — понять структуры данных, чтобы вы могли выбрать структуру данных, наиболее оптимальную для рассматриваемой проблемы.

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

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

Верни моего ребенка! (н.-ф. рассказ)

Reading time15 min
Views2.2K


Это был особняк Бенсона. Новый особняк – в нем она никогда не бывала. Материнским инстинктом Нилда почувствовала, что ребенок здесь. Конечно, здесь: где еще держать похищенного ребенка, как не в самом надежном укрытии?

Здание, слабо освещенное и потому еле различимое между деревьев, маячило неприступной громадой. До него еще требовалось добраться: территория особняка была обнесена четырехметровой решеткой. Прутья оканчивались зубьями, выкрашенными в белый цвет. Нилда не знала, заточены ли зубья – приходилось предполагать, что заточены.

Подняв воротник плаща, чтобы не опознали камеры, Нилда пошла вдоль ограды в направлении парка. Там меньше вероятность нарваться на свидетелей.
Читать дальше →

История человека, чувствительного к электромагнитному излучению, или как мы щупаем край обрыва… UPD: +FAQ

Reading time48 min
Views67K

С этой впечатлившей меня драматичной историей я познакомился довольно банально. Находясь по делам в Калифорнии, я написал человеку, что хотел бы с ним встретиться по работе. Он ответил, мы договорились о дне, месте и времени. Какая-то кафешка в паре километров от гостиницы, вполне удобно. Единственное, когда договаривались, человек предупредил, что сотового у него не будет:


Да без проблем. В наше время есть даже какая-то ностальгия встречаться по старинке, заранее обговорив, кто во что одет и все такое.

Мы встретились и мило пообщались пару часов. Он подробно ответил на все мои вопросы. Ему были интересны наши исследования, и он по ним много вопросов задал. А уже под конец, когда мы готовились расходиться, я, как человек любопытный, спросил:
— А почему вы не носите сотовый? 
Он с задумчивой американской улыбкой посмотрел на меня и спросил в ответ:
— Тебе короткую версию или длинную? 
Я осторожно предложил начать с короткой, а там как пойдет. Честно говоря, моя основная рабочая версия была — слежка Большого Брата. Я был неправ…

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


Кому интересно, как оно (очень редко) бывает, добро пожаловать под кат.
Читать дальше →

Как проверить навыки программирования на Python? Задачи от Яндекса

Reading time9 min
Views66K

Хакатон в Школе бэкенд-разработки

В 2019 году нам потребовалось автоматизированно проверить умение писать Python-код у сотен разработчиков. Так мы отбирали будущих студентов для Школы бэкенд-разработки. Это не то же самое, что предложить решить задачу на листе бумаги, как на собеседовании. С другой стороны, мы также не могли переиспользовать условия задач, уже подготовленные для наших соревнований по программированию. Дело в том, что соревнования с целью определить лучших из лучших — это одно, а отбор специалистов с небольшим опытом в школу — совсем другое. Нам требовались задачи, по решению которых было бы видно, обладает ли разработчик базовыми навыками написания кода и умением грамотно использовать память и время. Вот какие условия мы составили.
Читать дальше →

KPI копирайтера или особенности оценки работы удаленных авторов в штате и фрилансеров

Reading time8 min
Views15K


В статье рассказано как определить эффективность KPI рунетовского копирайтера и коммерческого автора контента. Описаны решаемые автором задачи и способы оплаты труда автора, недостатки и плюсы.
Читать дальше →

Какие навыки нужны для создания iOS-приложения? Доклад Яндекса

Reading time11 min
Views7K
Мобильному разработчику нужно обладать понятным набором навыков. Рассказывать о них нужно в контексте конкретных задач, которые возникают по ходу создания и публикации приложения. Артур Антонов работает iOS-разработчиком в отделе машинного перевода Яндекса. В своём докладе для студентов и начинающих специалистов Артур объяснил, что должен уметь разработчик, чтобы создавать современный мобильный софт.


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

С какими видами мошенничества я сталкивался на фрилансе и аутсорсе

Reading time9 min
Views39K
Я знаю, что люди обожают истории, в которых автора облапошили или о событиях на пути становления. Так что надеюсь, вам будет интересно.
Читать дальше →

Сортировка выбором минимумов (максимумов)

Reading time14 min
Views25K

imageМногие программисты думают, что Quick Sort — самый быстрый алгоритм из всех существующих. Отчасти это так. Но работает она действительно хорошо только если правильно выбран опорный элемент (тогда сложность составляет O (n log n)). В противном же случае асимптотика будет примерно такой же как и у пузырика (то-есть O (n2)).
При этом, если массив уже отсортирован, то алгоритм всё-равно будет работать не быстрее, чем O (n log n)


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

«Дело было вечером, делать было нечего», — Сергей Михалков.

Требования:


  1. Лучший случай O (n)
  2. Средний случай O (n log n)
  3. Худший случай O (n log n)
  4. В среднем быстрее быстрой сортировки


А теперь давайте обо всём по порядку


Чтобы наш алгоритм всегда работал быстро, нужно чтобы в среднем случае асимптотика была хотя бы O (n log n), а в лучшем — O (n). Все мы прекрасно знаем, что в лучшем случае сортировка вставками работает за один проход. Но в худшем ей придётся гонять по массиву столько раз, сколько в нём элементов.


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

Нет клещам! Растения против переносчиков болезни Лайма

Reading time3 min
Views46K
Сегодня я написал в своем канале заметку про отпугивание клещей растительными заграждениями. А потом подумал, и решил продублировать на хабр. Пусть она и небольшая по размеру, и не совсем подходит под характерные для меня лонгриды. Но ведь не у всех есть телеграм. И именно сейчас лучшее время для поиска и закупки семян различных растительных репеллентов и «клещегонов». Поэтому сегодня под катом — про биобарьеры против боррелиозного клеща. Из каких растений их лучше сделать!


Защитить дачу от клещей!

Разработка чрезвычайно быстрых программ на Python

Reading time7 min
Views70K
Ненавистники Python всегда говорят, что одной из причин того, что они не хотят использовать этот язык, является то, что Python — это медленно. Но то, что некая программа, независимо от используемого языка программирования, может считаться быстрой или медленной, очень сильно зависит от разработчика, который её написал, от его знаний и от умения создавать оптимизированный и высокопроизводительный код.



Автор статьи, перевод которой мы сегодня публикуем, предлагает доказать то, что те, кто называет Python медленным, неправы. Он хочет рассказать о том, как улучшить производительность Python-программ и сделать их по-настоящему быстрыми.
Читать дальше →

PHP и регулярные выражения: азы для новичков

Reading time9 min
Views138K
В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор.

Внимание! данная статья не имеет отношения к программе курса и будет полезна только для новичков. Для получения более углубленных знаний приглашаем вас посетить бесплатный двухдневный онлайн интенсив по теме: «Создание Telegram-бота для заказа кофе в заведении и оплаты онлайн». Второй день интенсива будет проходить тут.




Всем привет! Всех с наступившим [20]{2,}0 годом. Сегодня я хочу затронуть тему, которая иногда является темой для шуток от «Да зачем тебе все это учить, если есть уже есть готовые решения» до «может тебе еще и весь Perl выучить?». Однако время идет, множество программистов начинают осваивать регулярные выражения, а на Хабре нет ни одной свежей (хоть регулярные выражения не слишком изменились за последнее время) статьи на этой тематику. Пришло время написать ещё одну!
Читать дальше →

Как и зачем делать очередь на двух стеках

Reading time3 min
Views45K
Привет, Хабр!

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

Решение типовых проблем с json_encode (PHP)

Reading time6 min
Views34K

Это краткая статья о наиболее вероятных проблемах с json_encode и их решениях. Иногда при кодировании данных в json, с помощью json_encode в php, мы получаем не тот результат который ожидаем. Я выделил три наиболее частые проблемы с которыми сталкиваются программисты:


  • доступ к полям
  • кодировка текстовых значений
  • цифровые значения
Читать дальше →

Information

Rating
Does not participate
Location
Кировоград, Кировоградская обл., Украина
Date of birth
Registered
Activity