Pull to refresh
4
Karma
0.1
Rating
Влад @ru_vlad

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

Шахматы на C++

C++ *Algorithms *Logic games
Tutorial

Не так давно я захотел написать свой шахматный движок. На удивление в Интернете нашлось не так много хороших статей на эту тему. Были статьи с довольно слабыми программами, многие из которых даже умудрялись пропускать некоторые важные правила. А были статьи с хорошими программами (некоторые из них были даже чуть лучше чем получилось у меня в итоге), но там авторы рассказывали лишь основные идеи, пропуская подробности, из-за чего написать что-то свое по таким статьям было проблематично. Поэтому после написания своей программы, я решил написать статью, дабы облегчить жизнь интересующимся в данной теме. Я не претендую на лучшую шахматную программу или на чистейший код, но эта статья будет хорошим и легким началом для тех, кто хочет написать что-то свое.

Читать далее
Total votes 154: ↑153 and ↓1 +152
Views 13K
Comments 51

Как написать «Змейку» в четыре переменные?

SkillFactory corporate blog Abnormal programming *C++ *C *Games and game consoles
Translation

Пишем классическую «Змейку», как на КДПВ, в четыре переменные. По словам автора, «Можно написать и с двумя, но зачем осложнять себе жизнь?» К старту курса по разработке на С++ приглашаем под кат.

Читать далее
Total votes 15: ↑12 and ↓3 +9
Views 4.6K
Comments 15

Как приготовить Зебру (Мой опыт в ZPL)

.NET *Microsoft SQL Server *
Sandbox
Tutorial

Всем привет.

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

Читать далее
Total votes 4: ↑4 and ↓0 +4
Views 1.6K
Comments 13

Электронный пантограф Тима

RUVDS.com corporate blog Developing for Arduino *3D printers DIY Electronics for beginners
Translation
Tutorial

Это вторая часть серии, посвящённой сборке инструментов на основе датчика Холла. Если первую часть вы не читали, то лучше будет начать с неё: Электронный циркуль Тима. В этом проекте я буду использовать уже не один, а два датчика 49E, каждый с парой магнитов, по тому же принципу, что и при сборке циркуля.
Читать дальше →
Total votes 43: ↑43 and ↓0 +43
Views 6.7K
Comments 10

Домашний Linux-сервер или как самому развернуть систему визуализации на MQTT+Telegraf+InfluxDB+Grafana

Open source *Wireless technologies *Data visualization *Smart House IOT
Tutorial

В данной статье приведен скоуп информации о том, что взять за основу, чтобы развернуть свой домашний Linux-сервер и систему визуализации на нем, используя MQTT в качестве транспорта с оконечного оборудования. 

Многие статьи или инструкции, которые есть в интернете, в части работы с Influx и Telegraf – имеют отношения к довольно старым версиям рассматриваемого ПО, в виду чего у меня ушло какое-то время, чтобы со всем разобраться. Хотелось бы оставить небольшое обновление по инструкциям здесь, возможно, они помогут кому-то сэкономить время и нервы, так как информация агрегирована в виде summury моего погружения в реализацию данного решения. 

Читать далее
Total votes 17: ↑15 and ↓2 +13
Views 13K
Comments 12

Разрабатываем чат с помощью Nest, React и Postgres

Timeweb Cloud corporate blog Website development *JavaScript *Node.JS *ReactJS *


Привет, друзья!


В данном туториале мы разработаем чат с использованием следующих технологий:


  • TypeScript — статический типизатор;
  • NestJS — сервер;
  • Socket.IO — библиотека для работы в [веб-сокетами]();
  • React — клиент;
  • TailwindCSS — библиотека для стилизации;
  • PostgreSQL — база данных (далее — БД);
  • PrismaORM;
  • Docker — платформа для разработки, доставки и запуска приложений в изолированной среде — контейнере.

Функционал чата будет таким:


  • фейковая регистрация пользователей:
    • хранение имен пользователей в памяти (объекте) на сервере;
    • хранение имен и идентификаторов пользователей в localStorage на клиенте;
  • регистрация подключений и отключений пользователей на сервере и передача этой информации подключенным клиентам;
  • запись, обновление и удаление сообщений из БД в реальном времени на сервере и передача этой информации клиентам.

Репозиторий с кодом проекта.


Если вам это интересно, прошу под кат.

Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Views 2.5K
Comments 6

Использование SymPy в вычислениях

Python *
Tutorial

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

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

Приступим!)

Читать далее
Total votes 8: ↑7 and ↓1 +6
Views 2.8K
Comments 2

Электронный циркуль Тима

RUVDS.com corporate blog Programming microcontrollers *3D printers DIY Electronics for beginners
Translation

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

Недавно мне пришла в голову идея собрать небольшой инструмент – электронный циркуль – чтобы показать базовые принципы работы датчика эффекта Холла. И в процессе съёмки ролика, демонстрирующего циркуль в действии, я решил также пояснить, как нахожу полюса используемых в этом циркуле магнитов.
Читать дальше →
Total votes 48: ↑47 and ↓1 +46
Views 9.9K
Comments 11

История о том, как Python помог купить мебель в ИКЕА

Python *Programming *Popular science
Sandbox

5-го июля 2022 года стартовала масштабная онлайн распродажа в интернет-магазине мебели ИКЕА по причине ухода компании с российского рынка. В связи с этим началось несравнимое ни с чем по своим масштабам паломничество покупателей к сайту магазина. Шведско-нидерландский идол не выдержал такого натиска. Разработчикам ИКЕИ пришлось создать электронную очередь на сайте, чтобы распределить нагрузку. Как бы это парадоксально не звучало, этим шведско-нидерландское божество создало "ад" для рядового покупателя. Ему пришлось выстаивать часами/днями в очереди, постоянно обновлять страницу в надежде увидеть на сайте жёлтое кресло, а не пугающее объявление. Я был в их числе, но спустя сутки решил делегировать эту задачу своим союзникам - Python и Telegram-боту.

Нажимаем кнопку "ЧИТАТЬ ДАЛЕЕ" и смотрим
Total votes 25: ↑20 and ↓5 +15
Views 24K
Comments 21

Задача о 8-ми ферзях. Свежий взгляд. Шаг 1 + 1/2. Сокращаем количество шагов перебора в три с половиной раза

Entertaining tasks Programming *Algorithms *Mathematics *Studying in IT

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

https://habr.com/ru/post/679200/

Оптимизация перебора в данной задаче, это не только лишь хардкорное скоростное решение на базе 64-битной арифметики и SIMD-стиля. Это внесение в алгоритм решений, позволяющее сократить само количество шагов перебора. Пока я представляю начальный позиционный анализ.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 2K
Comments 2

Игры для обучения программированию

RUVDS.com corporate blog Programming *Software Games and game consoles Logic games

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

Профессионалов мало. Но их можно обучать с нуля. Теоретически, при неограниченном времени любого человека можно обучить чему угодно, если у него бесконечное желание и любопытство. Кажется, любопытство даже важнее, чем способности.

Соответствующие способности можно развить, а интеллект — повысить в рамках генетически заданного широкого коридора. Это возможно в любом возрасте. Лучше всего с детства, хотя и взрослым ничто не мешает… Проще всего начинать с игр.
Читать дальше →
Total votes 50: ↑50 and ↓0 +50
Views 17K
Comments 24

Задача о 8-ми ферзях. Свежий взгляд. Шаг первый. Сокращаем количество шагов перебора в три раза

Entertaining tasks Programming *Algorithms *Mathematics *Studying in IT
Sandbox

Задача о 8-ми ферзях.

Цитата о данной задаче
"Задача невероятно известная и вся уже рассмотрена под микроскопом, поэтому было удивительно, что появилось что-то действительно новое."

Ну что же! Настало время удивлений. Я добавил оптимизацию в алгоритм перебора, сделав перебор нелинейным.

Читать далее и удивляться =)
Total votes 13: ↑10 and ↓3 +7
Views 8.7K
Comments 31

«Домашний компьютер» 1987 — моя первая компьютерная книжка

Programming *Professional literature *Studying in IT Reading room History of IT

Помните ли вы свою первую детскую книгу о компьютерах? Ту, с которой всё началось, захватило, закрутило и не отпускает до сих пор. У меня такой книгой стала брошюра «Домашний компьютер» 1987 года издательства «Детская литература». Она до сих пор стоит у меня на полке — изрядно потрёпанная, но всё такая же яркая, занимательная и драгоценная.

Читать далее
Total votes 55: ↑55 and ↓0 +55
Views 9.1K
Comments 110

Превращаем пластмассу в металл

Popular science 3D printers Physics DIY
Tutorial

Хомяки приветствуют вас друзья!

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

Читать далее
Total votes 83: ↑81 and ↓2 +79
Views 13K
Comments 10

Браузерная игра про пиратов

Game development *Canvas *WebGL *

«Йо-хо-хо!» - невольно приходит на ум при любом взаимодействии с морем, передвигаешься ли на речном трамвайчике или же сидишь в баре круизного корабля. В последнем случае еще можно приобрести бутылку рому. Море привлекает своими волнами, закатами и рассветами. А особенно прикольно, когда на море завелись злые пираты. Ну... если это мы, конечно же.

Возьмем шейдер неба и шейдер воды - атмосфера готова! Что может быть проще. И да, я буду писать игру под браузер на Javascript с использованием библиотек Three.js и Cannon.js. Первую я использую для отображения 3D графики, а вторую - в качестве легковесного скриптового физического движка.

Я заставил небесную сферу и плоскость воды двигаться вместе с кораблем. Это обеспечивает практически бесконечный мир - только по мере движения будут подгружаться разные острова. Волны привязаны к началу координат, а сама плоскость воды передвигается. В этом примере уменьшен размер плоскости, чтобы было видно, как это работает.

Читать далее
Total votes 39: ↑39 and ↓0 +39
Views 8.1K
Comments 35

Как получать музыку из ВКонтакте в 2022 году

Python *VK API *
Sandbox

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

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

Я решил посмотреть что сейчас отдает ВКонтакте при воспроизведении записи и полез во вкладку network, вот что я там увидел...

Читать далее
Total votes 57: ↑55 and ↓2 +53
Views 12K
Comments 17

Пишем онлайн-тренажёр для Python, C++ и Go: опыт Практикума

Яндекс corporate blog Яндекс Практикум corporate blog Python *C++ *Go *

Один из вариантов мини-IDE в интерфейсе урока

Привет! Меня зовут Павел Свиридов, я руководитель группы разработки в Яндекс Практикуме. Сегодня я вместе со своим коллегой, разработчиком Владимиром Лукьяновым, хочу рассказать о том, как наша команда развивала онлайн-тренажёры в вебе — это такие маленькие среды разработки, встроенные в курсы Практикума. Основное внимание уделю тренажёрам Python и С++, а о других языках скажу пару слов в самом конце и покажу на примере, как создать тренажёр для языка Go.
Читать дальше →
Total votes 29: ↑27 and ↓2 +25
Views 9.1K
Comments 4

Расстояние Левенштейна для чайников

Python *Algorithms *
Sandbox

Когда я взялась решать задачку по динамическому программированию — реализовать алгоритм, который рассчитывает расстояние Левенштейна — мне пришлось послушать пару небольших лекций и прочесть несколько статей (приведу их в конце), чтобы разобраться. Я решила попытаться пересказать алгоритм настолько просто, чтобы по этому объяснению можно было снять ролик для тиктока (когда он снова возобновит свою деятельность в РФ). Дальше — мало формул и много картинок.

Читать далее
Total votes 44: ↑40 and ↓4 +36
Views 19K
Comments 13

Information

Rating
2,904-th
Location
Апатиты, Мурманская обл., Россия
Registered
Activity