Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Про решаемость пятнашек

Level of difficultyMedium
Reading time8 min
Views20K

Привет, я создатель известного в узких кругах приложения 15 Puzzle для Android.

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

Читать далее

Чему могут научить пул реквесты в чужие проекты

Level of difficultyEasy
Reading time3 min
Views3.3K

Привет. Гоу разберем почему вам может быть полезно вносить вклад в сообщество программистов. Речь пойдет про запросы на внесение изменений через форк проекта.

Читать далее

Для начинающих программистов

Level of difficultyEasy
Reading time9 min
Views19K

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

Читать далее

Как работает радио?

Level of difficultyMedium
Reading time8 min
Views26K

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

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


Если вы подзабыли какие-то из этих тем, то рекомендую сначала освежить память.
Читать дальше →

Установка Arch Linux кратко и (почти) без боли

Level of difficultyMedium
Reading time9 min
Views94K

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

Приступим к установке

Лонгрид о JavaScript

Reading time6 min
Views11K

JavaScript — ужасный язык программирования. По сравнению с другими распространёнными языками он выглядит генетическим уродом. Дело даже не в отсутствии многопоточности, или статической типизации, или того, что node_modules для простого проекта занимают сотни мегабайт, а в том, что в JavaScript столько стилей и подходов, что семь человек одну и ту же несложную задачу могут написать на нём семью различными способами. Каждый из них с трудом будет понимать, что написал другой, и тихо материться. Причем, так напишут и новички, и опытные программисты, которые просто привыкли писать по‑своему или захотели выпендриться.

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

Читать далее

ChatGPT для изучения программирования. Не очевидные примеры

Level of difficultyEasy
Reading time3 min
Views19K

Сценарии использования ИИ для учебы на поверхности. Тот же ChatGPT как стандарт по умолчанию студенты (да и преподаватели тоже) используют для написания текстов (рефераты, курсовые, дипломы и тому подобное), для анализа данных, изучения языков и, конечно же, для решения задач. Поговорим же здесь про то, как можно использовать ChatGPT для обучения программированию. Типично, студенты и школьники «скармливают» чату условие своей задачки, а на выходе получают код программы на требуемом языке. Часто чат дает еще и объяснения основных моментов в коде, рассказывает про алгоритм. Так можно учиться программированию, имея под боком «умного» консультанта. Не всегда, правда, код чата адекватен, а решения полные. Но, это очевидные вещи. Попробуем тут составить список примеров, которые могут быть полезны и тем, кто изучает программирование и тем кто учит. Начнем с простого.

Читать далее

Применяем стандартные алгоритмы в C++. Семь примеров

Level of difficultyMedium
Reading time8 min
Views17K

Привет, Хабр! Меня зовут Николай, я разработчик С++ в SimbirSoft. В этой статье я хочу поделиться своим опытом применения алгоритмов. 

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

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

Прежде чем перейти к примерам, необходимо отметить основное преимущество алгоритмов: они позволяют упростить код и повысить читаемость (или самодокументирование, которое позволяет на основании названия алгоритма понять, что делается), обобщить код. Начиная с C++17, алгоритмы могут выполняться параллельно, реализация алгоритма может быть жестко с оптимизирована компилятором по сравнением с обычным кодом.

Читать далее

LibreOffice под микроскопом: создаём одноклеточное расширение

Level of difficultyEasy
Reading time4 min
Views4.8K

В своё время для создания расширения к LibreOffice (LO) мне пришлось перелопатить кучу форумов и документации. Информации много, но она разбросана про крупицам. А когда если не знаешь, с какой стороны подступиться, на завершение проекта может уйти много времени.

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

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

Давайте разберёмся, что к чему

А в чем проблема работать с файлами?

Level of difficultyMedium
Reading time53 min
Views37K

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

Меня увлекла тема отказоустойчивости, а конкретно - отказоустойчивой работы с файлами. В этой статье я попытался соединить все полученные знания:

Кто участвует в процессе записи

Ошибки, которые могут произойти

Что от нас зависит, а что нет

И самое главное - как это этого защититься

Читать далее

Первые способы защиты компьютерных игр от пиратства

Level of difficultyEasy
Reading time12 min
Views16K
За несколько десятилетий ЭВМ эволюционировали от «100 квадратных метров площади, 25 человек обслуживающего персонала и 30 литров спирта ежемесячно» до вполне миниатюрных образцов: Commodore-64, Atari 800XL, Apple II, Электроника БК-0010… Проблема была в цене: все эти модели весьма били по карману рядовому обывателю (примерно как покупка автомобиля).

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

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

Где открыть магазин? Путешествие в геопространственный анализ и обратно

Level of difficultyEasy
Reading time21 min
Views3.5K

В статье расскажу поподробнее про оценку локаций для бизнеса.

Проблема классическая: ищем место для открытия нового магазина/ресторана/пиццерии.

Сразу скажу, что при помощи гео я решал очень узкий набор задач:

Оценить существующие локации с т.з. плотности населения, конкуренции, объема рынка. Найти новые точки для открытия или переезда бизнеса;

Использовать признаки близости покупателя к бизнесу/конкурентам в клиентской аналитике для предсказаний оттока и откликов на рассылки/оффлайн рекламу;

Сегодня расскажу поподробнее про оценку локаций. Все работы я производил на языке R.

Читать далее

Домашняя виртуальная лаборатория. Готовим собственный сервер виртуализации для обучения. 2. Выбираем сервер

Level of difficultyEasy
Reading time5 min
Views18K

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

Читать далее

Ассемблер: x86/x86_64/Arm32/Arm64

Level of difficultyMedium
Reading time6 min
Views12K

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

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

Читать далее

Почему соединения WPA3 разрываются через 11 часов

Reading time5 min
Views13K
В 2018 году началась сертификация первых устройств Wi-Fi с поддержкой нового протокола безопасности WPA3, а в последующие года WPA3 стал привычной функцией для всего нового оборудования, включая маршрутизаторы, одноплатники вроде Raspberry Pi и т. д.

Но иногда технология вызывает совершенно неожиданные и необъяснимые сбои. Некоторые пользователи начали сообщать о странном баге, когда беспроводные соединения WPA3 разрываются через 11 часов по непонятной причине.
Читать дальше →

Открываем Adobe Flash в Docker в 2024-м

Level of difficultyEasy
Reading time3 min
Views4.9K

Шарился я тут в по Интернету в поисках видео событий 15-летний давности и нашел что-то вроде искомого, но никак не смог посмотреть - требовался Adobe Flash. Погуглил я как мне открыть это видео, но рабочих вариантов не нашел. "Ладно" - подумал я: "Challenge accepted". А нам с читателем лишняя возможность потренироваться в создании Docker-контейнеров.

Дисклеймер: использование устаревших версий браузера и самого Flash-плагина несёт потенциальную угрозу безопасности. Используйте этот метод на свой страх и риск.

Итак, начнём с того, что поддержка Flash-плагина была выпилена в Chromium начиная с версии 89. То есть нам нужно что-то где есть более ранняя версия. Это что-то - это Ubuntu 18.04 - там 65я версия, если без апдейтов,а с апдейтами 112-я. В какой-то момент должна была быть и 88-ая, но не нашел где её добыть - если читатель подскажет, буду безмерно благодарен. И так, поехали - создаём Dockerfile

Читать далее

Что будет, если в мире исчезнут все специалисты по кибербезопасности

Level of difficultyEasy
Reading time6 min
Views1.6K

Привет! Меня зовут Роман Панин, я руководитель направления архитектуры ИБ в МТС. Сегодня мы поговорим о том, что произойдет, если в мире не останется специалистов по кибербезопасности. Возникнет серьезная угроза не только для мира IT, но и для всего человечества, которое пользуется плодами информационных технологий.

Читать далее

Компания Playtron разрабатывает альтернативу Windows и SteamOS

Reading time3 min
Views6.7K

Когда речь заходит об игровом программном обеспечении на базе Linux, сразу же вспоминается Steam Deck от Valve. В свое время выпуск новой игровой портативной консоли, да еще на базе полностью нового софта, стал сенсацией. Впечатление усиливалось тем фактом, что софт базировался на Linux, разработчики от Valve создали отличную операционную систему для своей приставки.

Этот продукт выделяет Steam Desk в отдельную категорию игровых устройств. Причем по сравнению с ним девайсы на Windows, например, Asus ROG Ally, Lenovo Legion Go и MSI Claw, кажутся не такими совершенными. Но вскоре, насколько можно понять, может появиться еще одна альтернатива.
Читать дальше →

От концентратора к PDU

Level of difficultyMedium
Reading time5 min
Views3.6K

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

Читать далее

Как изменилось изучение иностранного языка за 15 лет?

Reading time7 min
Views13K

Личный опыт.

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

В 2006 году я поступила на романо‑германское отделение филологического факультета МГУ, чтобы учиться по специальности французский язык. У нас была группа «продолжающих», мы все сдавали вступительный экзамен по французскому. И все равно нам предстояло учить и совершенствовать свой язык следующие 5 лет (о да, я еще застала эпоху специалитета и выпускных/вступительных экзаменов).

Что нам было доступно в качестве инструментов и материалов в универе? У нас не было одного какого‑то учебника, мы занимались по самым разным — чаще всего советским, изданным еще в прошлом веке. Грамматический практикум Поповой‑Казаковой был нашей настольной книгой. Были толщенные бумажные словари — фраза «два километра с Гаком» имела для нас особый смысл. Было множество листочков и записанных конспектов. Листочки с правилами, с текстами, с заданиями. Очень много листочков, которые еще иногда надо было сдавать на проверку. И был лингафонный кабинет (кто не в курсе, это зал с наушниками и мини‑плеерами, куда звук отправляется из студии и записывается по старинке на кассеты), куда мы ходили на уроки фонетики и самостоятельно — записывать на слух длинные тексты и тренировать свою речь.

Читать далее

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity