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

дата html javascript c++ алгоритм числа шахматы статистика общество россия бюрократизм памятка css форматы список перепост картинка studio программирование вебдезигн математика ie личное стихи графика random история образование маразм тоталитаризм психология ссср америка цвет блог ссылки поиск афоризмы rip ретро философия php jquery софт железо ошибка цензура форум новосибирск православие все теги все комментарии


[1-15] [16-30] ... [2221-2235] [2236-2241]


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

Остеклить балкон, лоджию в Новосибирске? Проверено, Вам сюда

Encoding: Windows-1251 (Russian). Для полноценной работы блога нужны включённые в браузере картинки + JavaScript + Cookies.

Ссылки, открывающие новое окно (вкладку), везде подсвечены.

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


Как установить значение по умолчанию в элементе input type="date"?

Готового средства для установки текущей даты, как ни странно, в HTML5 не обнаружено и приходится воспользоваться яваскриптом.

Найденное в инете присваивание свойству value элемента с датой значения new Date().toDateInputValue у меня не сработало ни в одном браузере, а вот показанный ниже код сработал во всех - то есть, Firefox, Chrome, Opera и IE11.

Здесь в элемент ставится текущая дата по часам компьютера.

<input type="date" name="mydate" id="mydate">
<script>
window.addEventListener('load', 
 function (e) {
  var d = new Date();
  var day = d.getDate(); if (day<10) day='0'+day;
  var month = d.getMonth() + 1; if (month<10) month='0'+month;
  var year = d.getFullYear(); 
  document.getElementById("mydate").value = year+"-"+month+"-"+day;
 }, false);
</script>

Если нужна произвольная фиксированная дата, всё ещё проще: Страница статьидалее...
17.09.2019, 12:42 [5]


Вероятность того, что натуральное N-значное число является палиндромом и следующий палиндром

В первой задаче, наверное, можно рассуждать так:

  • если разрешить лидирующие нули, имеем 10N N-значных чисел;
  • палиндромами считаем числа, для которых первые N/2 цифр совпадают с последними N/2, прочитанными в обратном порядке;
  • для чётного и нечётного количества цифр в числе нам придётся брать, соответственно, N/2 и (N-1)/2 цифр;
  • вероятность быть палиндромом будет равна 10ceil(N/2) / 10N или 1 / 10floor(N/2).

А вот вторая задача - найти для заданного натурального числа следующий за ним наименьший палиндром, видимо, проще программируется, чем решается аналитически. Страница статьидалее...
15.09.2019, 15:49 [8]


Кубок мира - 2019 по шахматам: главное, чтобы костюмчик сидел

Вот здесь есть турнирная сетка с фамилиями по-русски, на чесскоме можно почитать обзор "Все что нужно знать о Кубке мира ФИДЕ", шорты Ковалёва больше не пройдут, а унылые костюмчеги в треде, как и приведённый на пикче сохатый конь - символ турнира:

рогатый конь - за дресскод!
рогатый конь - за дресскод!

Пока всё довольно предсказуемо, побеждают в основном рейтинг-фавориты, а я (тоже пока) просто отмечу, что нужно знать о КМ-2019 простому человеку: Страница статьидалее...
12.09.2019, 11:06 [59]


Две причины нежизнеспособности РФ

Вместо ответа на письмо о шутовских "выборах", вообще-то, желания и времени писать о таком нет, просто пара мыслей.

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

Основополагающим для жизнеспособности общества фактором является вертикальная мобильность, которая с советских времён сильно уменьшилась.

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

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

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

Сегодня о своих перспективах всё понимают уже школьники младших классов, и с каждом годом в РФ даже делают вид, что у нас "социальное общество", всё хуже.

Какая вертикальная мобильность правильная? Когда смена элит соответствует естественной смене поколений. Если где-то в паблике (в органах власти, в зомбоящике, в академии наук и т.д.) по 20-30 лет сидят одни и те же рожи и уходить не собираются - это верный и скорый тупик. Страница статьидалее...
11.09.2019, 22:35 [22]


Все селекторы CSS3

Табличка, очень кратко по всем селекторам, псевдоклассам и псевдоэлементам. Сама табличка сделана "по старинке", с атрибутами тега <table> и отдельных ячеек.

Селекторы сгруппированы, по каждому есть описание и короткий пример применения из 1 строчки. Страница статьидалее...
11.09.2019, 14:34 [49]


Повестка

Так-то, она была шире.

И не меняется.

Ничто в мире не вечно. Только позор вечен.

Попробуем выразить это картинками, дюжиной самых первых попавшихся... Страница статьидалее...
10.09.2019, 23:39 [32]


С++/CLI: валидация TextBox и перехват нажатий клавиш формой

Представим себе проект Windows Forms с обычным текстовым полем TextBox. Требуется разрешить вводить в поле только определённые данные, скажем, вещественные числа. Как и в QT, мы можем не применять в .NET довольно неуклюжие решения, связанные с проверкой вводимых данных "на лету" при помощи обработки событий нажатия клавиш, а воспользоваться вместо этого событием Validating, позволяющим проверить данные после ввода.

Кстати, при успешном результате проверки после этого происходит ещё и событие Validated, которое тоже можно программировать. Вот простой кусочек кода для Validating: Страница статьидалее...
10.09.2019, 17:24 [37]


Элемент textarea с нумерацией строк для листингов - а надо ли?

Для JQuery есть плагин, и не один.

Можно использовать также JS-редактор CodeMirror или подобное, скажем, Ace.

Можно подложить фоновую картинку под textarea, как индус, но вертикальное смещение будет отличаться при разных размерах текста в элементе у разных браузеров и при разных системных шрифтах по умолчанию!

Есть комбинированные решения на JS+CSS, но тоже кривовато, особенно если учесть, что современный браузер предоставляет возможность тянуть textarea за уголок, которую не во всех браузерах можно отключить.

По-моему, проблема решается проще, если отказаться от идеи непременно использовать для листинга textarea. Особенно если мы собрались листинг только отображать, а не редактировать на странице.

Наверное, предложенный способ только на CSS не очень удобен при ручной разметке, но для "зашития" в движок вполне подойдёт.

Итак, просто определяем в стиле два CSS-класса: Страница статьидалее...
05.09.2019, 12:51 [32]


Закон Бенфорда или цифры не равны

Закон первой цифры или закон Бенфорда описывает вероятность появления первой значащей цифры в распределениях величин, взятых из реальной жизни.

В общем, в любых числовых множествах, которые могут расти экспоненциально, от данных об удельной теплоёмкости химических соединений до перечня номеров домов на улицах вашего города, единица будет встречаться чаще двойки, двойка чаще тройки и т.д., общая формула вероятности быть первой цифрой для десятичной системы счисления выглядит как P(d) = log 10 (1 + 1/d), d = 1,2,...,9.

При этом распределение зависит только от системы счисления, но не от единиц измерения.

Проверим это великое утверждение на первых 1000 членах ряда Фибоначчи.

Полученные результаты наглядно демонстрируют правоту Бенфорда:

Последнее найденное число: 2.68638e+208
         Найдено                 Ожидалось
1 :            30.1 %                      30.1 %
2 :            17.7 %                      17.6 %
3 :            12.5 %                      12.5 %
4 :             9.5 %                      9.69 %
5 :               8 %                      7.92 %
6 :             6.7 %                      6.69 %
7 :             5.6 %                       5.8 %
8 :             5.3 %                      5.12 %
9 :             4.5 %                      4.58 %
Сумма :            99.9 %                       100 %

а ниже прилагается листинг консольной программки, проверенной в Visual Studio 2015. Существенно увеличить объём выборки помешает потенциальное переполнение (см. "последнее найденное число"). Страница статьидалее...
04.09.2019, 22:47 [31]


Шаблон для класса очереди фиксированного размера

Далее показан несложный шаблон класса-очереди ограниченной ёмкости (не более size элементов, 1≤size≤SIZE).

В очереди сохраняется не более size последних помещённых туда элементов, самые старые удаляются.

Наверное, самое простое решение, чтобы сделать шаблон для любых скалярных типов - предусмотреть дополнительный аргумент конструктора (назовём его NaN), принимающий значение, которым будут помечаться пустые элементы. Ведь просто (T)0 не обязано везде работать, а typeid(T).name() тоже не обязано возвращать одно и то же в разных средах.

Также мне было нужно, чтобы очередь потенциально не переполнялась по достижении счётчиками значения INT_MAX, поэтому "сквозной нумерации" элементов в коде нет.

Существенно и то, что методы set и get ничего не знают о порядке своего вызова, можно попытаться получить элемент до добавления, добавлять элементы бесконечно и т.п.

Лучший контроль за значением переменной i, которой мы разрешаем меняться в пределах от 0 до size-1 включительно, выглядит как i++; i %= size;

Ниже приводится исходник, проверенный в Dev C++ 4.9.X, Visual Studio 2015 и QT 5.10.X Страница статьидалее...
03.09.2019, 16:08 [43]


C++: шпаргалка по кастам

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

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

Вот типичный пример, где сравнивается "классическое" преобразование типа и dynamic_cast. Класс Derived наследует классу Base с атрибутом public. Из комментариев видно, что классический способ с круглыми скобками работает "в обе стороны", и при преобразовании указателя на объект родительского класса к дочернему и наоборот. Операция dynamic_cast в первом случае не работает, что защищает нас от потенциально некорректного преобразования типов (например, при составлении списков разнотипных объектов нужно всегда преобразовывать тип данных к родительскому).

Коды проверялись в Dev C++ 4.9.X, Visual Studio 2015, QT 5.10.X Страница статьидалее...
01.09.2019, 15:02 [50]


Контур в CSS3: ещё одна лишняя рамка?

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

Почему на рисунке 2 outline-рамки "пересеклись" горизонтальными сторонами? Потому что 15+15 больше 20 :) Увы, в IE outline-offset не работает совсем.

outline-offset
outline-offset

Код этого примера: Страница статьидалее...
31.08.2019, 19:37 [38]


Уехал :)

Ну, как обычно, до конца августа меня в инете не будет или почти не будет.

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

Эх, всегда мне было жалко бедного волка, что ему одна кожура досталась.

А мы в РФ и живём как волки - бежим или вылёживаемся, но ни минуты покоя и достоинства. См. также соответствующую песню Высоцкого. Страница статьидалее...
28.06.2019, 20:06 [180]


Brownian tree на Javascript

Этот скрипт будет работать заметно дольше предыдущего, возможно, придётся подождать 10-20 секунд и в начале, но в итоге нарисуется нечто вот такое:

пример вывода скрипта
пример вывода скрипта

Когда построение закончится, под канвой появится сообщение.

Основано также на идеях Diffusion-limited aggregation.

Ниже приводится ссылка для вызова скрипта онлайн, а его исходники можно увидеть из исходников прикреплённого файла, предполагается, что он будет сохранён в кодировке Юникода UTF-8. Страница статьидалее...
24.06.2019, 16:45 [195]


[1-15] [16-30] ... [2221-2235] [2236-2241]