Search
Write a publication
Pull to refresh
27
0.1
Григорьев Андрей @Pochemuk

Пользователь

Send message

Как сделать так, чтобы вашу статью или документацию поняли быстро и точно

Reading time2 min
Views5.2K
Не только содержание, но и структура текста должна быть осмысленна.

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

  • Заголовок
  • Суть статьи
    На основе этих нескольких предложений вместе с заголовком читатель должен понять, интересно ли ему читать эту статью дальше.
  • Краткое изложение
    Здесь в максимально сжатом виде, тезисно, но с необходимой точностью и полнотой должна быть отражена суть данной статьи — от нескольких предложений до нескольких страниц. Кому-то, кто глубоко в теме этого может быть достаточно для понимания всей статьи. Но в любом случае читателю полезно представлять в самом общем виде, о чем эта статья, и какие выводы он получит в конце.
  • Логика статьи
    Если статья длинная, содержит много разделов и сложную логику, то эта глава может быть также полезной. По сути это расширенное оглавление. Здесь кратко, на одной-двух страничках, излагается логика рассуждения, сухо, без деталей. Опять-таки, кому-то этого будет достаточно для того, чтобы все понять. Если сложно, то читатель может это пропустить (как оглавление) и читать дальше.
  • Упрощенное изложение
    Если статья достаточно сложная, то многим было бы удобно сначала понять концептуально, что же хочет сказать автор. Поэтому неплохо сначала изложить все так, как если бы вы рассказывали студентам, упуская сложные доказательства, и, возможно, не столь формальным и строгим языком. Для очень многих такой уровень изложения может быть достаточным, и они остановятся здесь.
  • Строгое изложение
    Здесь строго профессиональное изложение.

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

Движок, скриптовый язык и визуальная новелла — за 45 часов

Reading time21 min
Views49K

visual novel, engine and scripting language for 45 hours


Приветствую. Так получилось, что уже три года подряд в качестве подарка на Новый год определенным людям я делаю игру. В 2018-ом году это был платформер с элементами головоломки, о котором я писал на хабре. В 2019-ом — сетевая RTS для двух игроков, о которой я ничего не писал. И наконец, в 2020-ом — визуальная новелла, о которой далее и пойдет речь, созданная в условиях сильно ограниченного времени.


В этой статье:


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

Интересно? Тогда добро пожаловать под кат.


Осторожно: тут много текста и ~3.5мб изображений

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

Как посчитать «похожесть» номеров в паспортах. И найти одинаковые даже с опечатками

Reading time5 min
Views12K


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

Раньше мы сравнивали номера документов строго: одинаковые — отлично, нет — извините. На ручной разбор из-за опечатки в номере уходили даже те карточки, у которых совпадали ФИО и адреса́ проживания. Такой подход излишне нагружал персонал заказчиков.

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

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

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

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




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

Чем программирование сегодня отличается от программирования 20 лет назад?

Reading time4 min
Views87K


Я увидел этот вопрос на Quora и начал писать ответ. Но ответ получился слишком большим, так что я превратил его в эту статью.


Вот часть изменений в случайном порядке, которые я заметил в программировании за последние 20 лет:


  • Многие концепции, которые были лишь теоретическими 20 лет назад, сегодня широко применяются на практике. Например, такие функциональные парадигмы как неизменяемость объектов, хвостовая рекурсия, ленивые коллекции, сопоставление с шаблоном, функции первого класса и взгляд свысока на тех, кто всё это не использует.
  • «Десктопным приложением» многие неиронично называют упакованный браузер со страницей по умолчанию и без адресной строки.
Читать дальше →

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

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

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

Использование Windows Server без проводника с точки зрения обычного Windows юзера

Reading time2 min
Views11K

Приветствую всех на своём «выживании» под Windows Server без проводника


Сегодня я протестирую обычные программы для необычной Windows.

Начну с начала


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

Поиграем в эволюцию? Генетические алгоритмы в скринсейвере

Reading time10 min
Views43K
Последний месяц в армии. Постепенно освобождается время для разных интересных проектов. Остается только определиться, чем именно занять мозги. Закончил читать «Эгоистичный ген» Ричарда Докинза и идея была сформулирована – хочу сделать визуализацию, использующую принципы эволюции.

image
Рисунок 1. Популяция бактерий перестраивает среду под свои нужды.

Итак, вперед!
Читать дальше →

Великий порноэксперимент: история Интернета для взрослых

Reading time14 min
Views86K
Сайты для взрослых, или простым языком, порносайты, занимают ключевое место во Всемирной паутине и её развитии. Если вспомнить недавний сериал «Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е» и термин «две девушки в час», «то есть это тогда, когда было fido, были модемы 1200 бит, и вот ты сидел и у тебя в час две картинки девушек эротического содержания проходило», становится очевидным, что трафик для взрослых сыграл свою немаловажную роль. Ведь зачем ещё развивать сети, если не для стриминга порно?

Знаете ли вы какой процент мирового трафика составляет порнография и какой сумме он эквивалентен в долларах США в год? Какие ухищрения придумывают порносайты и какого типа бывают проекты для привлечения своей аудитории? Несёт ли порно вред или пользу?

Отдельные разделы нашего рассказа мы посвятим «Великому порноэксперименту» и приведём научные факты и данные, которые говорят, как о пользе, так и о вреде порно. Бесконечная новизна! Эффект Ку́лиджа и последствия воздействия на не окрепшую психику или наоборот помощь в формировании устойчивой и более окрепшей психики? С помощью интернет-порно парень может увидеть больше горячих девушек за 10 минут, чем его предки могли за несколько жизней. Проблема в том, что у парня мозг охотника-собирателя.

Как послать провайдера подальше, и включить DNS по HTTPS в любом браузере

Reading time5 min
Views202K

Поддержка DoH уже встроена во все основные браузеры. Пользователям нужно её только включить и настроить.


Все шесть производителей основных браузеров планируют поддерживать протокол DNS по HTTPS (DoH), шифрующий DNS-трафик и помогающий усилить конфиденциальность пользователя в сети.

Этот протокол является одной из самых обсуждаемых тем этого года. Он позволяет браузеру прятать DNS-запросы и ответы внутри обычного на первый взгляд HTTPS-трафика.

Это делает DNS-трафик пользователя невидимым для сторонних наблюдателей за сетью, например, провайдеров. Однако если пользователи обожают DoH и считают его благом для конфиденциальности, провайдеры и производители средств кибербезопасности его ненавидят.

Британский провайдер назвал Mozilla «интернет-злодеем» за планы компании по внедрению DoH, а группу лоббистов от Comcast уличили в подготовке документа касательно DoH, который они планируют представить законотворцам Британии, надеясь предотвратить более широкое распространение протокола.
Читать дальше →

Прямой VPN-туннель между двумя компьютерами находящимися за NAT провайдеров с использованием UDP hole punching

Reading time11 min
Views72K
Статья о том, как мне удалось организовать прямой (точка-точка) VPN-туннель между двумя компьютерами, каждый из которых находился за NAT'ом провайдеров, при помощи VPS и простых скриптов, используя стандартные утилиты Linux, без каких-либо настроек сетевого оборудования.
Читать дальше →

Избавляемся от назойливых предупреждений при входе на терминальный сервер

Reading time3 min
Views37K


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


Если ваши пользователи все еще приходят к вам с подобными страхами, и вам надоело ставить галочку «Больше не спрашивать» — добро пожаловать под кат.

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

Обнаружение брутфорс-атак через NTLM с помощью Varonis

Reading time4 min
Views7.8K


Сегодня мы опишем реальный рабочий процесс, который команда реагирования на инциденты (Incident Response Team) Varonis использует для расследования атак методом подбора паролей (brute force attack, далее – брутфорс-атака) через NTLM. Данные атаки являются довольно распространенными, и наша команда часто с ними сталкивается у заказчиков по всему миру.
Читать дальше →

Оптимизация стратегии игры в Блэкджек методом Монте-Карло

Reading time10 min
Views11K
Перевод статьи подготовлен специально для студентов курса «Machine learning».




Обучение с подкреплением штурмом взяло мир Искусственного Интеллекта. Начиная от AlphaGo и AlphaStar, все большее число видов деятельности, в которых раньше доминировал человек, теперь завоевано агентами ИИ, работающими на основе обучения с подкреплением. Короче говоря, эти достижения зависят от оптимизации действий агента в определенной среде для достижения максимального вознаграждения. В последних нескольких статьях от GradientCrescent мы рассмотрели различные фундаментальные аспекты обучения с подкреплением, от основ систем с бандитами и подходов, основанных на политике, до оптимизации поведения на основе вознаграждения в Марковских средах. Все эти подходы требовали полных знаний о нашей среде. Динамическое программирование, например, требует, чтобы мы обладали полным распределением вероятностей всех возможных переходов состояний. Однако в действительности мы обнаруживаем, что большинство систем невозможно интерпретировать полностью, и что распределения вероятностей не могут быть получены в явном виде из-за сложности, врожденной неопределенности или ограничений вычислительных возможностей. В качестве аналогии рассмотрим задачу метеоролога – число факторов, участвующих в прогнозировании погоды, может быть настолько велико, что точно вычислить вероятность оказывается невозможным.
Читать дальше →

Самостоятельная диагностика жестких дисков и восстановление данных

Reading time22 min
Views256K
В данной статье описываются методы самостоятельной диагностики различных неисправностей жестких дисков по симптомам их проявления, а также способы относительно безопасного клонирования жестких дисков с незначительными проблемами.

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

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


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

«Неуловимый» список установленных обновлений Windows

Reading time13 min
Views61K
Вы когда-нибудь задумывались, с помощью чего формируется список установленных обновлений Windows? А через какое API его достать? Ответы на эти и другие возникающие вопросы я постараюсь дать в своём небольшом исследовании.


Подробности - под катом

Градиентный спуск по косточкам

Reading time37 min
Views66K

В интернете есть много статей с описанием алгоритма градиентного спуска. Здесь будет еще одна.


8 июля 1958 года The New York Times писала: «Психолог показывает эмбрион компьютера, разработанного, чтобы читать и становиться мудрее. Разработанный ВМФ… стоивший 2 миллиона долларов компьютер "704", обучился различать левое и правое после пятидесяти попыток… По утверждению ВМФ, они используют этот принцип, чтобы построить первую мыслящую машину класса "Перцептрон", которая сможет читать и писать; разработку планируется завершить через год, с общей стоимостью $100 000… Ученые предсказывают, что позже Перцептроны смогут распознавать людей и называть их по имени, мгновенно переводить устную и письменную речь с одного языка на другой. Мистер Розенблатт сказал, что в принципе возможно построить "мозги", которые смогут воспроизводить самих себя на конвейере и которые будут осознавать свое собственное существование» (цитата и перевод из книги С. Николенко, «Глубокое обучение, погружение в мир нейронный сетей»).


Ах уж эти журналисты, умеют заинтриговать. Очень интересно разобраться, что на самом деле представляет из себя мыслящая машина класса «Перцептрон».

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

Деревянные игрушки, часть десятая — 1996

Reading time4 min
Views22K
В 1996 году у меня наконец-то появилась возможность собрать свой компьютер. Материнку с процессором 486dx33 купил на митинском рынке за какие-то копейки, потому что она больше ни с чем не работала, кроме этого процессора, хоть формально и поддерживала всё, что бывает в природе. А я туда много что потом ставить пытался. Монитор выпросил у родителей, знакомый как раз продавал свою новенькую Sony 100SFT за относительно небольшие деньги. Хотя всё равно пришлось на рассрочку договариваться. Корпуса сперва не было, был блок питания от 286 с тумблером на самом блоке. Память, первый жесткий диск (на 40 мегабайт) и всё такое настрелял у знакомых. Ну и дальше потихоньку докупал своё, как деньги появлялись. У друзей, у которых с финансами было получше, уже стояли по домам пентиумы с тридэфиксами, где можно было поиграть во что-то актуальное. А потом приходилось идти домой и садиться там за игрушки с первых дисков Classic Fond'a. Зато наверстал очень многое из пропущенного в предыдущие годы.

image

Содержание:
Деревянные игрушки — эпилог, что осталось прибитым к потолку
Деревянные игрушки, часть последняя — 1997
Деревянные игрушки, часть десятая — 1996
Деревянные игрушки — неписи
Деревянные игрушки, часть девятая — 1995
Деревянные игрушки, часть восьмая — 1994
Деревянные игрушки, часть седьмая — 1993
Деревянные игрушки, часть шестая — 1992
Деревянные игрушки, часть пятая — 1991
Деревянные игрушки, часть четвертая — 1990
Деревянные игрушки, часть третья — 1989
Деревянные игрушки, часть вторая — 1986-1988
Деревянные игрушки, часть первая — 1982-1985
Читать дальше →

Двойной VPN в один клик. Как легко разделить IP-адрес точки входа и выхода

Reading time13 min
Views133K


TL;DR В статье описывается самый простой способ настроить VPN-сервер, у которого IP-адрес для подключения VPN-клиентов отличается от IP-адреса, с которого клиенты выходят в интернет.

Используете VPN для защиты приватности в интернете и арендуете для этого свой личный сервер? При этом вы единственный клиент, который подключается к этому серверу во всем мире? Так ли сложно найти ваш реальный IP-адрес, как вам кажется? С вступлением в силу пакета Яровой, это становится намного проще.

Double VPN — популярная тема, вокруг которой много спекуляций. Часто этим термином называют совершенно разные технологии, но почти всегда это означает разнесенные на уровне IP-адресов точки подключения и выхода в интернет. Мы рассмотрим самый простой способ настройки VPN-сервера в таком режиме, который не требует дополнительной настройки на серверной стороне и позволяет получить максимальную скорость и самые низкие задержки.
Читать дальше →

Решаем судоку с помощью Алгоритма X

Reading time6 min
Views32K

В этой статье рассмотрим "Алгоритм X" Кнута и его применение для решения судоку. Прелесть алгоритма в том, что судоку при этом решается быстро без программирования каких-то продвинутых техник решения.

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

Information

Rating
5,347-th
Location
Коломна, Москва и Московская обл., Россия
Date of birth
Registered
Activity