Как стать автором
Обновить
157
0
Валерий Макаров @valemak

Программист

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

Определение комбинации в Техасском Холдеме

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

Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. А в прошлом я был профессиональным игроком в покер. Сейчас я решил сделать на Unity пример проекта с покером, который выложу в опенсорс, когда я его доделаю. А пока хочется посмотреть на интересную задачку с определением сильнейшей комбинации в техасском холдеме. Разберём хеш-функции, битовые операции, поиск подмножеств определённой длинны из множества, биномиальный коэффициент и другое. Если вам интересна эта тема, то добро пожаловать под кат!

Читать далее
Всего голосов 11: ↑10 и ↓1+14
Комментарии6

Работаем с XML как с массивом, версия 2

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

Всем привет.

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

В двух словах для быстрого парсинга файлов надо пользоваться XMLReader в связке с yield.

О моей реализации этой связки читайте ниже.

Читать далее
Всего голосов 10: ↑9 и ↓1+11
Комментарии31

Сортировка слиянием через рекурсию

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

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

Читать далее
Всего голосов 11: ↑10 и ↓1+13
Комментарии21

Парсим сайты с защитой от ботов

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

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

Речь не идет о каком-либо виде "взлома" или о создании повышенной нагрузки на сайт. Мы будем автоматизировать то, что и так можно сделать вручную.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии16

Парсили сайты, парсим и будем парсить. И не нужно этому мешать

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

Здравствуйте, меня зовут Максим Кульгин. Моя компания xmldatafeed.com занимается парсингом много лет. На днях мы вернули 16 000 руб. клиенту, так как не смогли парсить весь iherb.com с нужной клиенту скоростью (а там очень много товаров). Проверил и оказалось, что это единичный случай за весь год и родилась эта, чуть-чуть философская статья.

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

Читать далее
Всего голосов 61: ↑31 и ↓30+10
Комментарии142

Как быстро бег уничтожает колени. Опрос любителей и мнение профессионалов

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

Широко распространенно мнение, что бег серьезно нагружает колени ударными нагрузками и травмирует их. С другой стороны существуют медицинские исследования с несколько другими выводами и на беговых форумах реально найти людей, бегающих марафоны 20 и более лет со здоровыми коленями. Кто же прав?

Читать далее
Всего голосов 28: ↑12 и ↓16+3
Комментарии114

Парсинг HTML с помощью PHP и SQL. Немного провокационный пример с анализом пользователей Хабра

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

Выковыривание информации из html — это скучно. Очень. Между тем, эта потребность выстреливает редко, но метко (© Суворов). Из-за этого есть спрос на готовые и короткие инструкции о том, как это сделать, чтобы не тратить время на изучение. Перед вами как раз такая.

Чтобы добавить хоть какой-то интерес скучнейшему занятию мы для примера будем парсить пользователей Хабра. А чтобы не мелочиться — ещё и реанимируем для этого экспериментальную библиотеку 11-летней давности.

Есть такой проект — htmlSQL. Старая библиотека времён Очаковских и покоренья Крыма (© Грибоедов). Она позволяет делать выборку из HTML в стиле SQL-запросов как на КДПВ, чем она мне когда-то и полюбилась.

Воскресим старую любовь?
Всего голосов 30: ↑29 и ↓1+37
Комментарии23

Новые форматы публикаций

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров5.3K

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

Читать далее
Всего голосов 36: ↑34 и ↓2+58
Комментарии86

Раскрываем карты: информационная служба Хабра рассказывает о себе и своей работе

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

Пользователи Хабра уже знакомы с командой и принципами работы отдела модерации, которые уже рассказывали о себе и своей работе. При этом мало кто знает про некое туманное образование под названием «Информационная служба Хабра», что неудивительно. Мало того, что мы открыто не представлялись, так ещё и как самостоятельный отдел существуем относительно недавно. Вот и получается, что о нас известно исключительно по слухам. Сегодня исправим это досадное недоразумение.

Читать далее
Всего голосов 61: ↑57 и ↓4+99
Комментарии99

Турецкий гамбит для механического пианино

Время на прочтение6 мин
Количество просмотров7K
В 18 веке человечество, пожалуй, впервые начало ощущать себя «царем природы». Один за другим сдавались перед пытливыми умами законы физики, химии и биологии, покорялись водные и воздушные стихии. Всем казалось, что вот еще небольшой рывок — и человек сможет подобно богу изменять свойства материи и превращать неживое в живое. Эти идеи породили моду на автоматоны — механические подобия человека и животных, способные имитировать различные действия — играть на музыкальных инструментах, танцевать, писать, рисовать. Разумеется, набор движений был строго ограничен их конструкцией и «перепрограммировать» автоматоны было почти невозможно. Во всяком случае, было проще построить новый. Но на фоне этих механизмов разительно выделяется один автомат, который мог не просто имитировать человека — он мог думать, анализировать и принимать решения. Эта автоматическая шахматная машина называлась «Механический турок» и была создана венгерским изобретателем Вольфгангом фон Кемпеленом во второй половине 18 века.


Читать дальше →
Всего голосов 42: ↑41 и ↓1+53
Комментарии15

Обзор книги Дэна Бейдера «Чистый Python. Тонкости программирования для профи»

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

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

Читать далее
Всего голосов 16: ↑14 и ↓2+14
Комментарии9

Пять экзистенциалистов заходят в бар: занимательные логические задачки

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

Первое совместное фото Жан-Поля Сартра и Симоны де Бовуар – на ярмарке в Порт-д'Орлеане, июнь 1929 года, Париж, Франция.

Три сегодняшних загадки оформлены в виде небольших драм с участием известных философов.

1. Усопший Витгенштейн


Кто-то убил Витгенштейна. Преступником является один из четвёрки: Фридрих Ницше, Лу Андреас-Саломе, Карл Маркс или Людвиг Андреас Фейербах. В результате их допроса были записаны следующие заявления (причём известно, что убийца лжёт, а все остальные всегда говорят правду):

Ницше: убийца – Саломе.
Саломе: Маркс невиновен.
Фейербах: Саломе говорит правду.
Маркс: Ницше лжёт.

Кто убил Витгенштейна?
Читать дальше →
Всего голосов 10: ↑9 и ↓1+10
Комментарии23

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

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

Я люблю давать простые задачки студентам на лекции. Во-первых, понятно, скольких мы потеряли, во-вторых, это переключение из режима потребления информации в режим выдачи результатов, в третьих — возможность проявить себя для шустрых. Сплошные плюсы!

Одна из простых задач звучит так: «При переводе картинки из цветового пространства RGB в YUV мы выполняем прореживание, то есть выкидываем каждый четный столбец и каждую четную строку в компонентах U и V (все компоненты пикселя по 1 байту). Вопрос: во сколько раз меньше данных у нас стало?» Эта операция называется chroma subsampling и широко используется при сжатии видео, например.

Забавно, что когда-то давно, когда винчестеры были меньше, а дискеты больше, студенты реально отвечали на этот вопрос быстро. А в последние годы регулярно народ в ступор впадает. Приходится разбирать по частям: «Если выкинуть каждую четную строку и каждый четный столбец, во сколько раз меньше данных будет у компоненты?» Почти хором: «В четыре». Начинаю подкалывать: «Отлично! У нас было 3 яблока, первое осталось как есть, а от второго и третьего осталось по четвертинке. Во сколько раз меньше яблок у нас стало?» Народ ржет, но, наконец-то, дает правильный ответ (заметим, не все). 

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

И хорошо видно, как эта способность в широких массах студентов заметно плавно падает. Причем не только в нашей стране. Придуман даже специальный термин: «цифровое слабоумие» ("digital dementia") — снижение когнитивных способностей, достаточно серьезное, чтобы повлиять на повседневную деятельность человека. 

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

Читать далее
Всего голосов 324: ↑308 и ↓16+373
Комментарии795

Метод Помидора — убийца прокрастинации. Использовала 6 месяцев и вот результаты

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

Всем привет! Меня зовут Маруся, на текущий момент я - аналитик данных, блоггер (пишу в телеграм и на VC).

Я использовала Метод Помидора 6 месяцев ежедневно и в честь такого праздника хочу подвести итоги.

Для тех, кто не в курсе, Метод Помидора (итал. tecnica del pomodoro) — техника управления временем, предложенная Франческо Чирилло в конце 1980-х.

Метод помидора состоит из нескольких простых действий:

Заводите таймер на 25 минут, приступаете к работе, когда время заканчивается, отправляетесь отдыхать на 5 минут. Так 4 раза подряд, а затем большой перерыв на 15 минут.

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

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

Вот несколько моментов, которые у меня были до использования метода Помидора.

Читать далее
Всего голосов 53: ↑36 и ↓17+31
Комментарии67

Как я несколько лет боролся с прокрастинацией и победил: полное практическое руководство

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

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

Начать читать
Всего голосов 125: ↑100 и ↓25+95
Комментарии174

Что такое катастрофический возврат и как регулярное выражение может стать причиной ReDoS-уязвимости?

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

Регулярные выражения – очень полезный и удобный инструмент для поиска и замены текста. Однако в некоторых случаях они могут привести к зависанию системы или даже стать причиной уязвимости к ReDoS-атакам.

Читать далее
Всего голосов 24: ↑23 и ↓1+27
Комментарии16

«Пиши, сокращай» для объявлений на поиске: применяем правила инфостиля (с примерами)

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

«Пиши, сокращай» М. Ильяхова и Л. Сарычевой – настольная книга того, кто профессионально занимается текстами. Копирайтеры, редакторы, журналисты, многие маркетологи и стратеги либо читали ее, либо проходили корпоративное обучение по ней, либо, по крайней мере, смотрели видео с изложением ее основных принципов. Но многих контекстников и таргетологов она обошла стороной. Очень часто в рекламных объявлениях мы встречаем общие фразы вроде «огромный ассортимент», «низкие цены» или «быстрая доставка».

Сегодня мы постараемся разобраться, как применять рекомендации из книги «Пиши, сокращай. Как создать сильный текст» при написании рекламных объявлений, чтобы сделать их более информативными и доходчивыми.

Читать далее
Всего голосов 9: ↑6 и ↓3+6
Комментарии6

Неформальный Эксель: OpenGL, игры на GDI+ и инфографика теперь и в VBA

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


На Хабре уже было довольно много интересных публикаций с неформальным использованием Экселя (списочек под катом). Этой статьёй мне хочется поделиться с сообществом красивыми результатами нашего французского коллеги. Автор, Тьерри Гасперм (Thierry Gasperment), создаёт подобную красоту на VBA под Excel / Access / Word и VB6. Увы, сайт на французском, а материалы, хоть и свободны для использования, но для просмотра и скачивания зачастую требуют регистрации. По этой причине я поместил наиболее интересные примеры на свой GitHub. Для тех, кто захочет "выйти за пределы шахматной доски", советую всё же потратить пару минут своего драгоценного времени и зарегистрироваться на сайте. Оно того стоит, так как количество и качество информации на сайте Тьерри заслуживают того. Для регистрации и просмотра рекомендую Chrome: автоматический перевод Edge порождает "гуртовщиков мыши" и прочие химеры вроде "glutMouseРазумный" и "Силовая установка" (PowerPoint).


Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии4

Визуализация алгоритмов сортировки

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

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

Читать далее
Всего голосов 31: ↑31 и ↓0+31
Комментарии5

Информация

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