Как стать автором
Обновить
5
0
Георгий @gochaorg

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

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

Алгоритм Monte Carlo Tree Search простыми словами

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

Можно ли научить ИИ играть в настольную игру и выигрывать в ней, если мы сами не знаем как это сделать? Да! И один из способов — использовать алгоритм Monte Carlo Tree Search (MCTS). Он актуален даже сейчас, в эпоху развития нейронных сетей.

У многих людей, в том числе и у меня, поначалу были сложности с пониманием алгоритма, как и с верой в то, что он может хорошо играть. В этой статье хочу рассказать об MCTS максимально просто и помочь разобраться в нем новичкам. В первой главе расскажу об основах, с которыми многие могут быть уже знакомы. Однако считаю, что они действительно важны для понимания. Подробности под катом!
Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии2

Разбор и обнаружение уязвимости OverlayFS (CVE-2023-0386)

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.9K

Всем привет!
Совсем недавно в ядре линукс была обнаружена критичная уязвимость, позволяющая повышать привилегии до уровня root. Она получила идентификатор CVE-2023-0386 и затронула версии ядра до 6.2. В интернете уже есть несколько доступных PoC:
https://github.com/CKevens/CVE-2023-0386
https://github.com/xkaneiki/CVE-2023-0386
В этой статье я хотел рассмотреть принцип работы данной уязвимости и возможные варианты ее обнаружения.

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

Вариант стратегии быстрого и надежного резервного копирования/восстановления VLDB по сети

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

Эта статья была опубликована на SQL.RU Другие опубликованные там статьи на тему MS SQL Server можно найти в блоге https://mssqlforever.blogspot.com/ Telegram-канал блога тут: https://t.me/mssqlhelp

По материалам технической статьи Майкрософт: A Case Study: Fast and Reliable Backup and Restore of a VLDB over the Network

Статья была опубликована рание на SQL.RU Публикуется повторно ввиду недоступности сайта.

Автор: Томас Грохсер (Thomas H. Grohser)

При содействии: Линдсей Аллен (Lindsey Allen)

Техническая экспертиза статьи: Sanjay Mishra, Lubor Kollar, Stuart Ozer, Thomas Kejser, Juergen Thomas, James Podgorski, Burzin Patel

Перевод: Александр Гладченко,  Ирина Наумова

Дата издания: июнь 2009г.

Тематика статьи: SQL Server 2008

 Резюме: Размер базы данных непрерывно растёт, темп этого роста, а также её доступность и готовность фиксируется в соглашение о качестве сервиса - SLA. Одновременно с ростом повышается важность быстрого и надежного резервного копирования и планового восстановления в текущем окружении. Этот документ посвящён проблемам проектирования устойчивого резервного копирования и решений по восстановлению очень больших баз данных (VLDB). На реальном примере, в этой статье демонстрируется, как лучше всего использовать резервное копирование и возможности по восстановлению, которыми обладает SQL Server 2008, что должно помочь при создании планов резервного копирования и восстановления VLDB по сети.

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

Собираем «Тревожный чемоданчик». Мнение спортивного туриста

Время на прочтение18 мин
Количество просмотров206K
Когда началась война, все произошло так быстро, что я не могла ни понять, что происходит, ни подумать о том, что хотела бы взять с собой, когда мы убегали. (из интервью сирийской беженки)

Мне почему-то не хочется делать вид, что ничего не происходит. Потому что нынешняя военная эскалация напоминает затишье перед бурей, похожие ощущения были в январе 2020, когда «коронавирус же не у нас, он в Китае». В итоге жизнь подтвердила несостоятельность подобного «психологического» трюка. Поэтому, думая про худшее и надеясь на лучшее, я написал недавно эмоциональную заметку про «тревожный чемоданчик». Написана она с учетом моего опыта спортивного туризма (инструктор гор/пеш), поэтому профессиональные военным (выживальщикам?) просьба отнестись с пониманием. Писалось с акцентом на беларускую аудиторию, и вот искренне надеюсь, что (НЕ) пригодится всем. Просьба не политизировать данную статью, а воспринимать as is. Те кто затевает войны — Хабр не читают. Мы все в одной лодке, надеюсь написанное под катом хоть немного поможет этой «лодке» быть на плаву…


Собираем тревожный чемоданчик вместе
Всего голосов 225: ↑198 и ↓27+223
Комментарии391

Подготовка к шатдауну. Как общаться после отключения интернета

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


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

Например, международная ассоциация Internet Society зафиксировала в 2021 году 49 искусственно вызванных шатдаунов, в том числе 17 национальных, 26 региональных и 6 частичных (ограничения отдельных сервисов).

Частичный шатдаун предполагает избирательное отключение сервисов, например, VPN, мессенджеры, протокол HTTPS и так далее.
Читать дальше →
Всего голосов 130: ↑112 и ↓18+124
Комментарии411

Удаление Whitelist ноутбуков HP на примере HP Pavilion dv6-2135er

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

Удаление Witelist ноутбука HP Pavilion dv6-2135er. Реверс-инжиниринг и модификация дампа bios.

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

Мониторинг системы мониторинга, или Жизнь внутри индекса

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

Мы с Аней не тестировщики. Мы относимся к эволюционирующему классу IT-специалистов — системным администраторам или operations-инженерам. Но в нашей повседневной жизни мы тоже не обходимся без тестов. И сегодня мы хотим немного поговорить про Splunk. Точнее, вся наша статья будет именно про него.

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

Сравнительный анализ тональности комментариев в YouTube (осторожно, ненормативная лексика)

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

Привет! Чем еще заняться на каникулах любителю Data Scienсe как не анализом тональности комментариев под новогодними обращениями?! На эту мысль меня натолкнули алгоритмы YouTube, выдавшие к просмотру первого января 2022 года два видео, с очень разными по эмоциональной окраске комментариями.

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

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

LJV: Чему нас может научить визуализация структур данных в Java

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

Эта статья является пересказом моего доклада на Java-конференции SnowOne 2021 года. LJV — проект, созданный в 2004 году как инструмент для преподавания языка Java студентам. Он позволяет визуализировать внутреннее устройство структур данных. В этом докладе я запускаю LJV на разных структурах (от String до ConcurrentSkipListMap) в разных версиях Java и разбираю, что там внутри, как оно менялось от версии к версии, и как это всё работает.


image

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

Девиации и разветвление личности: как лечить?

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

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

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

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

Читать далее
Всего голосов 18: ↑8 и ↓10+3
Комментарии60

Простой backend на C++: это возможно?

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

Была у меня мечта - писать backend на C++. А вот разбираться в unix socket'ах, TCP, многопоточной/асинхронной обработке запросов и во многом другом совсем не хотелось. Не верил я, что до сих пор нет каких-то минималистичных фреймворков. И сегодня я вам расскажу, как можно просто сделать HTTP API микросервис на C++ с помощью фреймворка Drogon.

Поехали!
Всего голосов 32: ↑32 и ↓0+32
Комментарии24

Малоресурсное шифрование

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

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

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

Распутывание микросервисов или балансировка сложности в распределенных системах

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

Эта статья является переводом материала «Untangling Microservices, or Balancing Complexity in Distributed Systems».

Расцвет микросервисов закончился. Uber преобразовывает тысячи микросервисов в более управляемое решение [1]; Келси Хайтауэр предсказывает, что будущее за монолитами [2]; и даже Сэм Ньюман заявляет, что микросервисы никогда не должны быть выбором по умолчанию, а скорее крайним средством [3].

Что происходит? Почему так много проектов стало невозможно поддерживать, несмотря на обещание микросервисов простоты и гибкости? Или все-таки монолиты лучше?

В этом посте я хочу ответить на эти вопросы. Вы узнаете об общих проблемах проектирования, которые превращают микросервисы в распределенные большие комки грязи (distributed big balls of mud), и, конечно же, о том, как их избежать.

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

Беда “войти в айти” или курсы тестировщика, отзывы: Глава 2.2, в которой сильный испанский стыд

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

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

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

Читать что там дальше написано по делу
Всего голосов 12: ↑10 и ↓2+8
Комментарии18

Другой взгляд на многопоточность

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

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

Читать далее
Всего голосов 21: ↑20 и ↓1+23
Комментарии26

Самопаркующаяся тачка в 500 строк кода

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

В этой статье мы "научим" автомобиль выполнять самостоятельную парковку с помощью генетического алгоритма.

В 1-м поколении автомобили будут иметь случайный геном и будут вести себя хаотично.

К ≈40-му поколению автомобили понемногу начнут учиться парковке и будут все ближе и ближе подбираться к парковочному месту

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

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

Читать далее
Всего голосов 30: ↑29 и ↓1+36
Комментарии8

SQLite-песочница в браузере

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

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

Вот чего хотелось:

— Возможность загрузить готовую базу, а не писать SQL для создания таблиц.
— Подключать как локальные базы, так и удаленные (по url).
— Сохранять базу и запросы в облаке.
— Бесплатно и без регистрации.
— Свежайшая версия SQLite.
— Минимализм.

В итоге сделал сам
Всего голосов 70: ↑70 и ↓0+70
Комментарии9

Сравнение подходов к реализации распределенных транзакций для микросервисов

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

Как архитектор-консультант в Red Hat, я имел возможность поработать над множеством проектов для наших клиентов. У каждого из них есть свои особенности, которые, однако, имеют некоторые общие черты. Большинство клиентов хотят знать, как скоординировать запись в несколько систем одновременно. Ответ на этот вопрос обычно включает подробное объяснение двойной записи, распределенных транзакций, современных альтернатив, а также возможных сценариев сбоев и недостатков каждого подхода. Как правило, именно в этот момент заказчик понимает, что разделение монолитного приложения на микросервисы - долгий и сложный путь, обычно требующий компромиссов.

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

Типичные ошибки архитектора, или Как перестать бояться и полюбить RFC

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

Всем привет! С вами Женя, разработчик Dodo Engineering и один из ведущих подкаста «Читаем вместе». Он посвящен IT-книгам. В каждом сезоне мы планируем читать и разбирать одну книгу. Уже подходит к концу первый сезон, который мы посвятили книге Fundamentals of Software Architecture. Она написана архитекторами для архитекторов, но разработчикам, особенно тем, которые интересуются, как создавать работающие системы, тоже может быть очень интересна и полезна.

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

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

Знакомо? Нам тоже. Но мы смогли победить эти проблемы.

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

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

Способы обмена знаниями в компаниях

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

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

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

Читать далее
Всего голосов 50: ↑48 и ↓2+52
Комментарии11
1

Информация

В рейтинге
5 454-й
Откуда
Екатеринбург, Свердловская обл., Россия
Дата рождения
Зарегистрирован
Активность