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

Программист

Send message

Понять кубик Рубика

Reading time7 min
Views43K

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

То же самое со сборкой этой головоломки: миллионы людей умеют делать это по формулам, но сколько из них понимают, что они делают? А ведь начать чувствовать кубик Рубика не так сложно!

Но сперва давайте договоримся, зачем нам такая головоломка нужна и чем полезна. Вы же уже слышали шутки про то, что кубик Эрно Рубика – штука многогранная? А видите параллели между кубиком Рубика, шахматами и, например, пианино или гитарой?

Читать далее

Парсинг Instagram в промышленных масштабах

Reading time28 min
Views41K

В декабре 2020 года, завершив работать в научном институте, я увлёкся задачей добычи данных из соцсетей, в частности из Инстаграма. Прежде я работал только с готовыми данными, поэтому мне всегда было интересно, как эти данные можно добывать. За несколько дней до Нового Года я написал достаточно базовую статью про то как парсить Инст. В первых числах января мне написал заказчик и попросил сделать для него масштабный парсер инстаграма, который был бы способен делать более 10.000 запросов в сутки.

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

В рамках данной статьи я хочу рассказать про путь развития своего Pet-Project в потенциально мощный и серьёзный инструмент. Впереди вас ждёт увлекательное путешествие от хранения данных в простых Json-ах на жестком диске сервера, до облачной базы данных и автоматической инициализации cron расписания запуска процессов внутри докер контейнера, поехали!

Поехали!

Как айтишнику издать свою книгу. Часть 3. Издательства: как попасть на полки книжных магазинов

Reading time13 min
Views5.4K

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

Сегодня — и после долгого перерыва — поговорим, наконец, о шансах на интерес к вам со стороны издательств, опасных договорах и этапах создания книги с профессионалами книжного рынка. Прошу:

Процесс и про внимательность

И пришел лесник

Reading time8 min
Views17K

Знаете, что самое неприятное в научных спорах? Вот ты беседуешь, о какой-то космологической концепции, а оппонент берёт и приводит довод: «А вот в фантастическом романе…»

Знаете, что самое неприятное в научных спорах? Вот ты беседуешь, о какой-то космологической концепции, а оппонент берёт и приводит довод: «А вот в фантастическом романе…»

И ты такой: «А… ну… да…». И быстренько сворачиваешь дискуссию. Потому что художественная литература очень сильно отличается от реальности. Это я вам как литератор говорю. Персонажи и события в книгах происходят не по воле случая, как в реальной жизни, а следуют воле творца — который составляет из них историю или иллюстрирует мысль. Даже к точным и честным мемуарам нужно относиться с настороженностью, из-за гнездящейся в них «систематической ошибки выжившего».

Это необходимый дисклеймер я написал потому, что собираюсь критически переосмыслить концепцию «Темного Леса» Лю Цысиня. Не покритиковать, нет — сама по себе эта концепция прекрасна. Если принимать её как метафору взаимодействия власти и оппозиции. Тоталитаризм так работает — если ты начинаешь мыслить и обретаешь голос, то ты исчезаешь. В лучшем случае тебя просто удаляют из информационного пространства. В худшем… не будем о худшем. Эта статья не о «Темном лесе» как метафоре.

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

Читать далее

Алгоритмы сортировки NumPy (и танцы, и мемы)

Reading time5 min
Views7.1K

Вместо предисловия:

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

Читать далее

Лучшие астрофотографии 2021 года

Reading time9 min
Views38K
Фотографии финалистов 13-го ежегодного конкурса фотографий королевской Гринвичской обсерватории – прекрасное напоминание о размере и возрасте Вселенной. На одной из фотографий, сделанной Джеймсом Рашфортом, видно комету NEOWISE, летящую над Стоунхенджем – а когда она пролетала над Землёй в прошлый раз 6800 лет назад, этой постройки ещё не было.

В конкурсе, в организации которого принимал участие журнал Sky at Night, соревновались 4500 фотографий, сделанные фотографами из 75 разных стран. В середине сентября будут объявлены победители в 16 категориях, а их работы будут выставляться в Национальном морском музее Лондона.
ОЧЕНЬ МНОГО фотографий

Не клавиатурой единой: лучшие эргономичные мыши

Reading time4 min
Views40K

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

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

Теория графов. Термины и определения в картинках

Reading time5 min
Views239K

В этой статье мы познакомимся с основными терминами и определениями Теории графов. Каждый термин схематично показан на картинках.

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

Теория графов

Регулярные выражения. Всё проще, чем кажется

Reading time7 min
Views126K

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

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

Читать далее

Эргономика решает: классные эргономические клавиатуры, на которые стоит обратить внимание

Reading time4 min
Views56K

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

В этой подборке мы собрали несколько клавиатур, которые нравятся нам самим — какие-то есть у сотрудников Selectel, к каким-то присматриваемся. Хороших клавиатур достаточно много, мы напишем о части из них. Если у вас есть собственная любимая «клава», расскажите о ней в комментариях.
Читать дальше →

JavaScript: изучаем регулярные выражения на практике

Reading time18 min
Views71K

image


Регулярное выражение (далее также — регулярка) — это последовательность специальных символов, формирующих паттерн или шаблон (pattern), который сопоставляется со строкой.


Цель такого сопоставления может состоять либо в поиске подстроки в строке, например, для замены подстроки, либо в определении соответствия строки шаблону для валидации строки.


В данной статье мы сосредоточимся на валидации.


Что конкретно мы будем делать? Мы возьмем несколько регулярок из validator.js (наиболее популярной библиотеки для валидации данных с помощью регулярных выражений) и произведем их подробный разбор. Также мы рассмотрим несколько дополнительных регулярок и один алгоритм.


Как результат, мы реализуем несколько полезных функций, которые вы впоследствии сможете использовать в своих проектах.

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

Timsort — самый быстрый алгоритм сортировки, о котором вы никогда не слышали

Reading time5 min
Views56K

Timsort: Очень быстрый, O(n log n), стабильный алгоритм сортировки, созданный для реального мира, а не для академических целей.

Timsort — это алгоритм сортировки, который эффективен для реальных данных, а не создан в академической лаборатории. Tim Peters создал Timsort для Python в 2001 году. 

Timsort сначала анализирует список, который он пытается отсортировать, и на его основе выбирает наилучший подход. С момента его появления он используется в качестве алгоритма сортировки по умолчанию в Python, Java, платформе Android и GNU Octave.

Нотация Big O для Timsort — это O(n log n). Чтобы узнать о нотации Big O, прочтите это.

Читать далее

Как формируются зарплаты с точки зрения экономики и почему программисты столько получают

Reading time4 min
Views56K

Всем же интересно про зарплаты? Давайте про зарплаты

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

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

Читать далее

Есть только один способ решить уравнение Дрейка

Reading time8 min
Views26K

Согласно мрачной гипотезе из книги «Тёмный лес», внеземные цивилизации вступают в контакт исключительно с одной целью. К счастью, это всего лишь художественный вымысел, хотя он объясняет парадокс Ферми

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

Давно пора скорректировать уравнение Дрейка с позиций современной науки. Об этом пишет Джон Герц в статье «Уравнение Дрейка через 60 лет: переосмысленное и отброшенное», опубликованной 19 мая 2021 года на сайте препринтов arXiv.org (arXiv:2105.03984v2). Статья принята к публикации в журнале Британского межпланетного общества (JBIS).
Читать дальше →

Памятка/шпаргалка по SQL

Reading time29 min
Views1.2M

Доброго времени суток, друзья!


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

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

Веб-скрейпинг на PHP

Reading time10 min
Views20K


Термин web scraping означает извлечение информации из веб-страниц в интернете. Его ещё называют web crawling или web data extraction.

PHP широко используется в качестве серверного скриптового языка для создания динамических сайтов и веб-приложений. И на нём можно написать веб-скрейпер. Но поскольку мы не хотим изобретать колесо, можно воспользоваться готовыми open-source библиотеками для веб-скрейпинга. Кстати, мы также написали отличную статью про веб-скрейпинг с помощью Node.js и с помощью Python, почитайте. А здесь мы обсудим разные инструменты и сервисы, которые можно использовать с PHP для скрейпинга веб-страниц: Guzzle, Goutte, Simple HTML DOM, Headless-браузер Symfony Panther.
Читать дальше →

Гипотеза симуляции — ответ на все наши вопросы или очередная религия?

Reading time9 min
Views49K

Реален ли окружающий мир? — такой вопрос задавали, пожалуй, с давних времен. Порой у каждого из нас возникали мысли о том, что окружающий мир — нереальный и игрушечный. С выходом трилогии «‎Матрицы»‎ и статьи «‎Аргумент о симуляции»‎ Ника Бострома в 2001 году стала популярна гипотеза о том, что наша Вселенная является продуктом компьютерного моделирования сверхчеловеческой расы — ее сторонниками являются многие деятели, в том числе Илон Маск. Но правы ли они и имеют ли их размышления какой-либо смысл? Разберем основные тезисы этой гипотезы и разберемся, какие модели Вселенной могут быть и какая в этом может быть польза.

В матрицу!

Как я искал работу в США во время пандемии, подался на 200 вакансий и получил оффер на $380K

Reading time41 min
Views42K

Украинский профильный ресурс DOU.UA опубликовал статью о нелегком пути релокации специалиста в США во время пандемии, где он также отвечает на дополнительные вопросы и комментарии.

Адам Леос — Senior Software Engineer в Roku. Пару лет назад он принял решение о релокации и в итоге выбрал своей целью США. Всего за три месяца Адам с нуля собрал все необходимое для подачи на визу О1, но потом в историю вмешалась пандемия. О том, с какими трудностями он столкнулся из-за карантина, как искать работу на американском IT-рынке, как получить большое количество офферов и выторговать самую выгодную компенсацию, разработчик рассказал в интервью DOU.UA

Читать далее

Как улучшить блок-схемы алгоритмов по ГОСТ 19.701-90? Эргономичный визуальный алгоритмический язык ДРАКОН. Критерии

Reading time27 min
Views49K

Статья содержит анализ и критику стандарта ГОСТ 19.701-90 в части схем алгоритмов. Предлагается для записи алгоритмов создать новый стандарт, основанный на эргономичном визуальном алгоритмическом языке ДРАКОН. Дается сравнительный анализ блок-схем алгоритмов по ГОСТ 19.701-90 и дракон-схем.

Читать далее

Вторая причина остаться без зубов в 45 лет

Reading time12 min
Views28K

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

Группы риска:

1.      Люди с плохой гигиеной. Впрочем, кариес лишит зубов раньше, чем пародонтит.

2.      Диабетики. У них проблемы с сосудами и местным иммунитетом.

3.      Курящие. У них тоже проблемы с сосудами. И да, вейпы несильно спасают: никотин токсичен сам по себе. Кроме этого, у курящих налёт прочнее фиксируется на эмали.

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

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

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

Читать далее

Information

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