Pull to refresh
1
0
Send message

LlamaIndex: создаем AI-бота без боли и страданий

Level of difficultyEasy
Reading time6 min
Views12K

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

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments2

Игра на ECS и как мы там живем

Level of difficultyEasy
Reading time14 min
Views12K

Привет, Хабр.

Постараюсь описать наш опыт и к чему мы пришли работая над игрой на ECS. Код приведен для LeoEcs Lite, но сами мысли очень общие. Буду рад критике и вашим мыслям.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments5

Load Balancer и Reverse Proxy в микросервисной архитектуре

Level of difficultyMedium
Reading time8 min
Views8.7K


Автор статьи: Артем Михайлов

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

Однако при работе с микросервисами возникают некоторые сложности в управлении нагрузкой на приложение. Именно здесь на помощь приходят два важных компонента — Load Balancer и Reverse Proxy.
Читать дальше →
Total votes 16: ↑9 and ↓7+2
Comments10

Оптимизация выборок в больших коллекциях MongoDB

Reading time7 min
Views2.2K

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

Для такой операции, в MongoDB штатно предусмотрена функция $sample, которую можно использовать в составе pipeline при проведении агрегации данных. Однако, как показала практика, выполнение выборки полей таким образом на большой коллекции может занимать весьма ощутимое время. Чтобы сократить время выполнения таких выборок, потребовалось разработать собственный алгоритм, который на порядки увеличил скорость работы. Ниже приведен подход и вариант реализации данного алгоритма.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments3

Теорема Байеса для чайников

Level of difficultyEasy
Reading time5 min
Views51K

Теорема (формула) Байеса позволяет выяснить вероятность события при условии, что произошло связанное с ним другое событие.

Теорема позволяет рассчитать вероятность события, если причину и следствие поменять местами. Например, мы знаем распространенность симптома среди больных и здоровых. Значит, мы можем вычислить вероятность заболевания от наличия симптома.

Читать далее
Total votes 24: ↑23 and ↓1+22
Comments35

Цивилизация Пружин, 5/5

Reading time10 min
Views44K

Часть 5. В масштабе Вселенной


Предыдущая часть. Краткое содержание предыдущей части.

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


Читать дальше →
Total votes 206: ↑205 and ↓1+204
Comments234

Программируй свое здоровье

Level of difficultyEasy
Reading time10 min
Views3.3K

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

Моя статья будет состоять из двух частей:

Читать далее
Total votes 20: ↑14 and ↓6+8
Comments7

enum class и мой первый раз (использования Source Generator)

Level of difficultyEasy
Reading time15 min
Views2.4K

Приветствую.

Выбор между enum и собственным классом перечислений в C# был для меня сложной темой. Но когда увидел enum class из Kotlin, мое мировоззрение немного поменялось, я захотел иметь их в C#.

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

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments4

Про FPV-квадрокоптеры. Введение

Level of difficultyEasy
Reading time30 min
Views45K

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

Почему, спрашиваю, у тебя же есть уже аппарат для съемки, чего не хватает? Что, там у FPV камера лучше?

Камера‑то хуже, но вот зато он может очень точно маневрировать очень близко около объектов съемки. Пролететь впритирку к дереву или к скале, залезь в любую дырку, кадры снять подинамичнее, поинтереснее.

Я и до этого заметил во время той видеосъемки, что управлять‑то DJI Mavic несложно. Но вот управлять тонко, точно вовсе не так уж и просто.

Слова того человека о точном маневрировании с квадрокоптером FPV мне понравились и я начать курить ту тему... Очнулся уже будучи владельцем нескольких квадрокоптеров FPV.

Поразило 2 аспекта: как это удивительно дешево (ну для опытного ИТ‑разработчика с соответствующей зарплатой) и как же трудно научиться им управлять (зато когда научишься, то ого‑го).

Читать далее
Total votes 45: ↑45 and ↓0+45
Comments75

Убираем JavaScript. Как при помощи htmx красиво использовать HTML и уменьшить объем кода

Reading time6 min
Views47K

htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, альтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборки.

Читать далее
Total votes 20: ↑15 and ↓5+10
Comments23

Три типичных мнения опытных игроков или «очередная донатная дро…льня»

Level of difficultyEasy
Reading time5 min
Views12K

Последние 15 лет я занимаюсь разработкой игр. Мне повезло поработать как в крупных корпорациях типа VK (Mail.Ru), так и побыть инди-разработчиком. А ещё я люблю игры и сам регулярно играю.

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

Читать далее
Total votes 31: ↑24 and ↓7+17
Comments132

Графы и программирование

Level of difficultyMedium
Reading time12 min
Views11K

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

Характеристика связности графов часто описывается достижимостью из некоторой вершины графа всех других, а очевидное средство такой достижимости проложенный между парой вершин путь. Наличие множества путей, покрывающих вершины и\или ребра (дуги) графа, обеспечивает часто решение целевых задач таких, например, как минимизация контрольных точек или тестирование программ. Затрагиваются вопросы и цикломатической сложности графа.

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments1

Миллион одновременных соединений на Node.js

Reading time9 min
Views104K


TL;DR:


  • Node.js v0.8 позволяет обрабатывать 1 млн одновременных HTTP Comet соединений на Intel Core i7 Quad/16 Gb RAM практически без дополнительных настроек.
  • На 1 соединение тратится чуть больше 10 Kb памяти (4.1 Kb Javascript Heap + 2.2 Kb Node.js Native + 3.8 Kb Kernel)..
  • V8 Garbage Collector не рассчитан на управление > ~500Mb памяти. При превышении нужно переходить на альтернативный режим сборки мусора, иначе «отзывчивость» сервера сильно уменьшается.
  • Подобный опыт можно (и нужно!) без особых затрат повторить самому (см. под катом).

Читать дальше →
Total votes 193: ↑187 and ↓6+181
Comments125

Книга «ASP.NET Core Security» в правильном переводе команды DotNetRu

Reading time4 min
Views5.6K

Сообщество DotNetRu совместно с издательством ДМК Пресс договорились на доработку и проверку перевода очередной книги. Напомним, что мы уже помогли выпустить три книги: «Управление памятью в .NET для профессионалов» Конрада Кокосы,  «ASP.NET Core в действии» Эндрю Лока и «EF Core в действии» Джона Смита. Издатель делает первоначальный перевод, а ребята из сообщества в качестве экспертов корректируют текст, придавая переводу оригинальный и непротиворечивый смысл.

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

Рады представить вам очередной результат совместных усилий: книга Кристиана Венца «Безопасность ASP.Net Core» в правильном переводе DotNetRu. В продолжении поста — впечатления о процессе перевода от непосредственных участников и промокод на скидку от издательства.

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments1

BULLY — шедевр Rockstar из нулевых, о котором забыли даже сами разработчики

Level of difficultyEasy
Reading time19 min
Views18K
ДОСТАВАЙТЕ НОСОВЫЕ ПЛАТОЧКИ, ОТКРЫВАЙТЕ ФОРТОЧКИ И УБЕРИТЕ ДЕТЕЙ ОТ ЭКРАНОВ… АВТОР ПРИВЁЗ ДВА КАМАЗА ТЕКСТА

«BULLY» (Она же Балли, Булли, Бычок, Хулиган, GTA в школе и 'Собака Собака Править') — видеоигра 2006 года от Rockstar Vancouver. Изначально разработанная на PS2, но лишь в 2008 добравшаяся до обладателей пекарных мастерских. А на данный момент в неё и вовсе можно поиграть уже на 8 разных платформах разных поколений: PC, PlayStation 2-3-4, Xbox 360, Wii, iOS и Android.

Копирование Wiki на этом, пожалуй, стоит закончить, ведь впереди будет написано очень много букаФФ.

image
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments16

Точечные фильтры: алгоритмы и их реализация

Level of difficultyEasy
Reading time9 min
Views3.2K

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

Для начала импортируем модули для дальнейшей работы с изображениями.

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments4

Мультяшная графика продаётся лучше реалистичной. Так ли это на самом деле?

Level of difficultyMedium
Reading time8 min
Views10K

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

Читать далее
Total votes 12: ↑9 and ↓3+6
Comments47

Бесплатный VPN без ограничений для всех. За чей счет банкет. Часть II

Level of difficultyEasy
Reading time6 min
Views23K

В прошлом блоге я уже рассказывал о реализации бесплатного VPN в России и подробно описывал почему это нужно.

Сейчас я расскажу Вам все технические момент связанные с виртуализацией и подбором хостинга. Ну и самый интересный вопрос в комментариях был — за чьи деньги гуляем?

Мы не призываем использовать VPN в России, и точно так же не рекомендуем использовать его для посещения запрещенных в РФ ресурсов.

Бесплатный впн или за чей счет банкет
Total votes 18: ↑15 and ↓3+12
Comments63

Как Kinect только Pinect

Level of difficultyMedium
Reading time9 min
Views3.2K

На мундиале 2018 году в России. Футбольные болельщики со всего мира могли бы увидеть и поиграть в наш отечественный игровой контроллер для писуаров. Не хочется писать по каким организационным причинам этого не случилось. Здесь я хочу рассказать как происходила разработка этого нестандартного игрового аппарата.

Как оно было...
Total votes 18: ↑16 and ↓2+14
Comments16

Google: «У нас нет преимущества перед открытым кодом, и у OpenAI тоже нет»

Level of difficultyMedium
Reading time12 min
Views27K

Утекший внутренний документ Google утверждает, что открытый исходный код AI обойдет Google и OpenAI.

В Google много обсуждали OpenAI. Кто первым преодолеет следующий рубеж? Каким будет следующий шаг? Но неприятная правда заключается в том, что мы не готовы выиграть эту гонку вооружений, и OpenAI тоже. Пока мы ссорились, третья сторона тихо забирала наш обед. Я, конечно, говорю об открытом исходном коде. Проще говоря, они опережают нас. То, что мы считаем "основными открытыми проблемами", уже решено и находится в руках людей. Достаточно назвать лишь несколько примеров...

Читать далее
Total votes 54: ↑49 and ↓5+44
Comments38
1
23 ...

Information

Rating
Does not participate
Registered
Activity