БлогNot. Блог ПерСа

числа учебное random математика mathcad javascript ретро дата информер время графика ошибка список форматы опсосы c# textprocessing программирование маразм деградация тест firefox xml музыка mp3 ссылки пародия c++ новосибирск россия украина общество война политика шахматы софт qt игра личное детское rip css цвет алгоритм картинка искусство интернет сервис погода памятка все теги все комментарии все ссылки свежие изменения


[1-15] [16-30] ... [2971-2985] [2986-2997]


Прикреплённое сообщение, правила и всё такое

Encoding: UTF-8 (Unicode). Primary language: Russian. Для полноценной работы блога нужны включённые в браузере картинки + Javascript + Cookies. Ссылки, открывающие новое окно (вкладку), везде подсвечены.

Даже по законам Эрефии этот блог - не СМИ, все сообщения выражают личную точку зрения своих авторов и являются оценочными суждениями, при этом любые совпадения мест, имён, названий и действующих лиц далеко не случайны. В блоге нет файлов, способных нанести вред Вашему компьютеру или мобильному устройству. Если Вам не исполнилось 18+, срочно отвалите отсюда, прикиньтесь ветошью и не отсвечивайте покиньте этот ресурс. Учтите, что посещая его, Вы вторгаетесь на мою личную территорию :) Страница статьидалее...

19.01.2038, 15:15 [15691 просмотр]


Как получить число Щасья

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

Если не рассматривать вопросы шифрования данных, достаточно несложной арифметики. Впрочем, при шифровании тоже.

Делая совсем просто, берём "плохую", то есть, сложную функцию c "нерегулярным" графиком, масштабируем её так, чтобы был подходящий разброс значений, кроме максимума и минимума оцениваем среднее (mean), среднеквадратичное отклонение (Stdev), медиану (median).

При вычислении конкретного неслучайного значения аргументом функции будет что угодно, например, контрольная сумма от введённого пользователем имени или количество секунд, прошедших с начала суток (js):

function getSecondsToday() {
 let d = new Date();
 return d.getHours() * 3600 + d.getMinutes() * 60 + d.getSeconds();
}

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

Вот пример такой функции с минимумом 5, максимумом 36 и средним и медианой в районе 21 (польстим клиентам). Страница статьидалее...

22.09.2023, 19:28 [37 просмотров]


Текущий прогресс в неделях, мини-информер

Понадобилось сделать за 5 минут, но может потом пригодиться в других приложениях.

Это примерно то же самое, только без текстового вывода, который, впрочем, показывается в атрибуте title, если подвести курсор мыши к элементу progress (в листинге он не стилизован, а целый учебный "мини-фреймоворк" для замены элемента есть вот тут).

Скрипт умеет отсчитывать номер недели, начиная с недели, указанной при вызове вторым аргументом (нумерация недель по ISO, см. также номера недель в календаре) и включая количество недель, переданное третьим аргументом (нумерация производится с единицы).

Первым же аргументом безымянной самовызываемой функции передаётся идентификатор элемента progress, показывающего, какая часть периода в неделях прошла. Впрочем, элемент не обязан быть именно полоской прогресса, ему достаточно иметь javascript-свойства max и value. Индикатор должен автообновляться раз в час.

Ниже показан скрипт в работе (период работы - 17 недель, начиная с 36-й недели 2023-го года) и код приложения.

Страница статьидалее...

20.09.2023, 17:51 [36 просмотров]


Почему графики рвутся на краях...

Мизантропия, простуда. :)

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

16.09.2023, 16:34 [47 просмотров]


Mobile Country Codes (MCC) на Javascript

Эта давняя заметка про IMSI/MCC устарела, а её данные не обновлялись. Данный код тоже "из архива", но, кажется, не публиковался.

Тем не менее, MCC (Mobile Country Code) — мобильный код страны в комбинации с MNC по-прежнему является уникальным идентификатором сотового оператора сетей GSM, CDMA, iDEN, TETRA и UMTS, а также некоторых операторов спутниковой связи.

Рекомендация E.212 от ITU-T определяет мобильные коды стран.

Ниже опубликована Javascript-"заготовка" с актуальными на момент написания MCC-кодами, показано преобразование объекта mccList в формат JSON и обратно, а также программно сформирован список стран / кодов в списке HTML (у одной страны может быть и несколько кодов, поэтому свойство mcc - массив). Страница статьидалее...

15.09.2023, 23:55 [50 просмотров]


Диалоги открытия и сохранения файла в приложении WPF

Несмотря на то, что в панели элементов WPF по умолчанию нет диалогов для открытия и сохранения файла, вы легко можете найти эти стандартные диалоговые окна в пространстве имен Microsoft.Win32. Ниже показано простое приложение для открытия и сохранения текстового файла.

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

Основная часть XAML-разметки окна выглядит так: Страница статьидалее...

15.09.2023, 20:17 [37 просмотров]


Простейшие часы на WPF с автомасштабированием размера шрифта

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

Здесь мы создаём простейшие идущие часы. Разметка XAML: Страница статьидалее...

15.09.2023, 20:15 [35 просмотров]


Мини-тест на дебильность :)

Не буду указывать, на IT-первокурсниках какого славного заведения проверил, но связно написать ответ смогли двое из двадцати, причём, один из них иноагент из далёкой африканской страны. Ещё кто-то стал решать брутфорсом с помощью двойного цикла. :)

Задание было простейшим: дано чётное натуральное n > 2. Докажите, что оно всегда представимо в виде суммы двух нечётных натуральных чисел. Страница статьидалее...

13.09.2023, 12:20 [54 просмотра]


Введение в WPF и примеры проектов

Хорошее введение в тему есть на "Метаните". Для начала достаточно прочитать главу 1, пункты 2.1, 2.2 из главы 2, из главы 3 - введение и про Grid, из главы 4 - обзор, к остальным материалам можно обращаться по мере необходимости.

Несмотря на определённое сходство с разработкой Windows Forms, работа над проектом WPF имеет существенные отличия.

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

Например, кнопка с разноцветным текстом на ней не является стандартом Windows и WinForms не предоставляет готового решения. Вы будете должны реализовать собственную кнопку в классе-наследнике стандартного класса, либо воспользоваться готовыми нестандартными решениями. Кнопка в WPF же может иметь внутри что угодно, так как это просто блок, содержащий графический контент и способный находиться в разных состояниях (нажатая, не нажатая, реагирующая на наведённый курсор и т.д.). Её можно трактовать и как "невидимую" (что относится к большинству других элементов управления WPF), и она может содержать в себе ряд других элементов внутри. Вы хотите получить кнопку с разноцветным текстом? Просто поместите элементы XAML TextBlock внутрь кнопки и она готова.

Вот пример "необычной" кнопки (код можно вствить в файл .xaml; кстати, произносится "зэмл", а не "ксамл" или ещё как): Страница статьидалее...

13.09.2023, 10:32 [114 просмотров]


Русский рок в ИИ-каверах, AI-covers forever

Уголок кавера стараниями ув. Алексея. Рок-н-ролл жив! (а мы, к сожалению, ещё нет).

Что такое AI cover? "Лурка" лаконична, "Bики" делает вид, что явления не существует, Тинькофф намекает, что нужно иметь компы помощнее, а люди... делают каверы!

Ниже - интересная и актуальная для нас/времени подборка, прямые ссылки на лучшие AI-каверы. Страница статьидалее...

10.09.2023, 10:44 [76 просмотров]


Не пригодившиеся задачи осени-2023

Сейчас в статье: 11 задач На этот раз задачи будут добавляться "по мере поступления", чтобы не залёживались.

Все программы выполнялись в консоли актуальных сборок Visual Studio 2019 или 2022 из пустого проекта с единственным добавленным файлом Source.cpp (для С++) или из проекта вида "Консольное приложение .NET Framework" (для C#).

Предыдущая статья по теме находится здесь. См. также: "Программизмы" в списке пополняемых статей.

Задачи 1-4 рассчитаны на повторение и они "линейные", то есть, решаются с временной сложностью O(1), хотя 1-2 частенько программируют с применением условных операторов и циклов, что излишне. Страница статьидалее...

02.09.2023, 21:16 [55 просмотров]


Сентябрь-2023. Не последняя осень

Это - пополняемый материал, следите за обновлениями.

Юный друг мой, дай мне руку и помчимся с тобой далеко-далеко, в Волшебную страну, которая отделена от всего мира Великой пустыней и цепью огромных гор... Представь себе гипотетическую современную страну, где человек за высказывание в интернете, а то и в частной беседе, личного мнения, не совпадающего с официальными установками, может в одночасье остаться без работы, банковских счетов, а следом получить многолетний тюремный срок, отбывать который ему предстоит в условиях, весьма далёких от тех, что имеют куда менее законопослушные граждане более вегетарианских государств. Справедливо ли будет упрекать его, что он "не борется" ну или не боролся, позволив довести общество до такого состояния? И с другой стороны, могут ли быть вообще разумными прогнозы о будущем подобного государства? О каком будущем?

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

Предыдущий лог находится здесь. Страница статьидалее...

02.09.2023, 00:02 [345 просмотров]


Интеграл-2023

С прязднечгом. День Незнайки-2023. Что ето за расчёты и в чём выполнены? :)

(1)
(1)
Страница статьидалее...

31.08.2023, 22:41 [67 просмотров]


Stockfish 16 давно вышел :)

... ещё 30 июня, ссылка для скачивания не менялась, процесс установки тоже, а про предыдущий 15-й "Стокфиш" было здесь.

Объём папки с развёрнутым архивом уменьшился с 46,5 аж до 40,5 Мб, практически полностью за счёт исполняемого файла "движка" (кроме которого всё остальное из архива, в общем-то, и не нужно).

В самостоятельной игре против Stockfish 15 этот новый выпуск получает до 50 [пунктов рейтинга] Эло и выигрывает в 12 раз больше игровых пар, чем проигрывает.

- традиционно оптимистично утверждает офбложек.

Традиционные же 10 "фоновых" (на загруженном задачами компе) партий по минутке без добавления и дебютных книг против предыдущей версии 15.1 дали результат +2-2=6, причём 15-й один раз получал мат в 6 ходов, а второй - просрочил время при оценке примерно -2, 16-й же дважды просрочил время в равной позиции. Во всех случаях результат присудила оболочка.

Вот как выглядела эта экзотическая "чистая победа" (не забываем, что контроль - одна минута без добавлений): Страница статьидалее...

16.08.2023, 01:50 [100 просмотров]


Ввод и вывод кириллицы в консольном приложении Qt6

Как известно, в шестой версии фреймворка Qt однобайтовым кодировкам объявлена война, а простой способ кириллизации консоли с помощью метода setCodec не работает, поскольку сам этот метод упразднён.

Для компилятора MSVC и только для Windows, наверное, подошло бы решение с SetConsoleCP/SetConsoleOutputCP, но как быть тем, кто хочет работать с MinGW?

Вот несколько набросков, которые удалось получить, проверялись они в актуальной сборке Windows 10 и Qt 6.2.0 с MinGW 8.1.0 64 bit из-под оболочки Qt Creator.

Везде тип проекта - "Консольное приложение Qt", кодировка редактора Utf-8. Вообще же, проблема состоит в том, что при работе с консолью в современных версиях Windows требуется учитывать взаимодействие сразу нескольких кодировок: Страница статьидалее...

14.08.2023, 13:42 [110 просмотров]


[1-15] [16-30] ... [2971-2985] [2986-2997]