janPona
заметки О веб-формах.

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

Поэтому форм-фреймворк моей мечты — это не библиотека визуальных компонентов (как material-ui или antd), не стейт-менеджер / валидатор (как redux-form, formik или react-hook-form), но набор продуманных контрактов для связи этих реализаций.

В моём представлении форм-фреймворк содержит следующие механизмы:

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

Остальное — стейт, валидация, персистентность и т.д. — это к форме не относится. Это задачи программного окружения.
Feniks
Win10 на_заметку заметки Старенький комп на windows 10 не хотел выключаться. Экран гас и тут же снова загорался с окном заставки. Решение.
zen.yandex.ru
Вкратце, необходимо отключить функцию "быстрый запуск" в разделе "Электропитание" — "Действие кнопок питания".
Feniks
Win10 на_заметку заметки Какая-то дичь, но удалённый рабочий стол в win10 pro заработал только после того, как я включил его в двух (!) местах. Точнее как, сначала, как обычно, сделал разрешения в свойствах компьютера — настройка удалённого доступа. Не подключается. Потом, оказывается есть раздел в "Параметры" — "Система" — "Удаленный рабочий стол", там переключатель удалённого рабочего стола был в положении "Откл". Включил, заработало. Что за юзер френдли, блин.
Feniks
tfs на_заметку заметки При установке tfs, для полнотекстового поиска требует JRE server. Скачиваю jre-8u221-windows-x64.exe, ставлю. Не видит. Оказывается надо ещё руками переменные прописать.

Set the following user environment variables (== environment variables of type user variables)

JAVA_HOME : C:\Program Files\Java\jdk1.8.0_112
JDK_HOME : %JAVA_HOME%
JRE_HOME : %JAVA_HOME%\jre
CLASSPATH : .;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib
PATH : your-unique-entries;%JAVA_HOME%\bin (make sure that the longish your-unique-entries does not contain any other references to another Java installation folder.

Notice that these environment variables are derived from the "root" environment variable JAVA_HOME. This makes it easy to update your environment variables when updating the JDK. Just point JAVA_HOME to the fresh installation.
Заработало после добавление первых четырёх.
Feniks
Win7 на_заметку заметки Один из способов определить кто занял COM порт.
Запускаем Process Explorer и ищем значение Serial. Помимо длл сериализации .net отображается процесс занимающий, например, \Device\Serial0 (COM1).
sagax
фильм 2 заметки terminator истории В 2003 году Алексей Балабанов начал снимать фильм «Американец». Главные роли в фильме должны были сыграть Майкл Бин (Кайл Риз) и Алексей Чадов. Большинство эпизодов фильма было отснято в Иркутске, но в Норильске Майкл Бин ушёл в запой и сорвал съёмки. Работу над фильмом пришлось прекратить. На судебное разбирательство конфликта Балабанов ездил в Лос-Анджелес. Фильм так и не был завершён.
sagax
фильм 2 заметки terminator истории После выхода фильма «Терминатор 2: Судный день» Линда переехала к Джеймсу Кэмерону, который развёлся до этого с Кэтрин Бигелоу; в феврале 1993 года у них родилась дочь Жозефина. Линда и Джеймс поженились только летом 1997 года, брак был недолгим, в 1999 они развелись. Сестра-близнец Лесли подменяла её в некоторых эпизодах фильма «Терминатор 2: Судный день».
sagax
фильм 2 заметки terminator истории Сцены на сталелитейном заводе снимались на заброшенном предприятии в Лос-Анджелесе. В качестве расплавленного металла использовались сахарный сироп и масло, а также панели оргстекла с подсветкой. Актёрам пришлось наносить пот при помощи грима, поскольку на площадке было довольно прохладно. Сцены получились настолько реалистичными, что бывшие работники завода-декорации посчитали его вновь работающим
contemplator
заметки Читаю очередную заметку про заметки, habrahabr.ru и мне кажется проблема всех заметок в том что они стремительно жиреют. Нужен просто башскрипт, который будет удалять в синхронизирующейся папке все заметки старше например месяца, и по количеству не давал накапливаться, после чего открывал текстовый редактор и все. Одна кнопка, два клика.
Feniks
Win10 заметки support.microsoft.com
После обновления некоторые веб-приложения не запускается, и они возвращают сообщение об ошибке HTTP 503


Чтобы устранить эту проблему, вручную удалите символических ссылок, которые создаются с помощью Windows Update. Чтобы сделать это, выполните следующие действия.

Примечание. Символические ссылки могут быть удалены так же, как обычные файлы.

Откройте окно Windows PowerShell с помощью параметра Запуск от имени администратора .
Выполните следующие команды:

Stop-Service -Force WAS
Remove-Item -Recurse -Force C:\inetpub\temp\appPools\*
Start-Service W3SVC
gcc
stm32 Linux CPP заметки OpenOCD прекрасно умеет обращаться с stm32 через stlink.
Прошить main.bin, проверить и сбросить МК:
openocd -f "interface/stlink-v2.cfg" -f "target/stm32f1x_stlink.cfg" -c "program main.bin verify reset"
Остановить МК:
openocd -f "interface/stlink-v2.cfg" -f "target/stm32f1x_stlink.cfg" -c "init" -c "reset halt" -c "exit"
Запустить (сбросить) МК:
openocd -f "interface/stlink-v2.cfg" -f "target/stm32f1x_stlink.cfg" -c "init" -c "reset run" -c "exit"
З.Ы.: Если не добавить -c "init" будет ругаться на неизвестную команду "reset".
З.Ы.Ы.: Если не добавить -c "exit" то останется в ожидании коннекта GDB.
З.Ы.Ы.Ы.: GDB нужно коннектить на порт 3333.
gcc
Linux altera заметки USB Blaster не захотел работать искаробки, пришлось шаманить:
1) Смотрим VID&PID бластера и правим правила udev:
#/etc/udev/rules.d/51-usbblaster.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
После либо перезагружаем комп, либо правила udev (udevadm control --reload)
2) Копируем файл из папки quartus/linux64 pgm_parts.txt как /etc/jtagd/jtagd.pgm_parts
3) jtagd требуется libudev.so.0 — делаем симлинк /usr/lib64/libudev.so.0 -> /usr/lib64/libudev.so

Если не помогает — подключаем ПЛИС к jtag, jtag к ПК и запускаем jtagd --foreground --debug, затем jtagconfig и курим вывод на консоль.

wiki.archlinux.org
stackoverflow.com
gcc
Linux altera заметки cpld Убить CPLD циклами стирания-записи не так просто, как написано в даташите (заявлено 100 максимум циклов). Более десяти тысяч циклов перепрограммирования — не проблема и не предел.
marsohod.org
Balancer
fail заметки Evernote Прощай, Evernote. Ничему людей не учит пример BTSync :) — «В ближайшее время аккаунт Evernote Basic будет ограничен двумя устройствами, например: компьютером и телефоном; двумя компьютерами; или телефоном и планшетом».
Evilways
MySQL заметки Понадобилось за одним человеком чинить рекапчу. Как следствие, выпилить кучу спамеров из друпала, аж 22.5К. Оказалось относительно просто это замутить. В основном они обитали на одинаковых почтовых доменах,

Складываем в кучки ящики с одинаковыми почтовыми доменами и сортируем по размеру кучек:
MariaDB [asdf]> SELECT substring_index(mail, '@', -1), COUNT(*) AS MyCount from users GROUP BY substring_index(mail, '@', -1) ORDER BY MyCount DESC;

Ну и выпиливаем по имени домена:
MariaDB [asdf]> DELETE FROM users WHERE mail LIKE '%maildin.com';

В принципе можно даже так:
MariaDB [asdf]> DELETE FROM users WHERE mail LIKE '%.gq';

И даже как-нибудь так:
MariaDB [asdf]> DELETE FROM users WHERE mail LIKE '%s.com';

Спамеров на mail.ru и подобных можно выпилить методом исключения. Сначала надо взглянуть на логины:
MariaDB [asdf]> SELECT name FROM users WHERE mail LIKE '%mail.ru';

Записал тех, кто явно не спамер, далее удаляем всех, кроме них(имён было немного больше, сократил):
MariaDB [asdf]> DELETE FROM users WHERE mail LIKE '%mail.ru' AND name != 'ольга' AND name != 'Екатерина92' AND name != 'аня' AND name != 'admin' ;

Вероятно, это всё можно сделать более оптимально. Даже скорее всего, но как всегда времени разбираться не было. Зная реальных пользователей, можно было сразу указать выпилить всех, кроме них. Но всех 22.5К просматривать не вариант, да и реальные люди успели порегаться в процессе, так что по датам кромсать тоже не катит.
gcc
заметки Android Заблокировать / разблокировать приложение, даже если кнопка "Отключить" не активна в CyanogenMod можно командрй от рута:
pm disable/enable $(package)
Например, заблокировать стандартную камеру:
pm disable com.android.camera2
Zawullon
Linux работа заметки Поделюсь, да и самому чтобы не забыть.
Задача — сервер 1С и терминалка. Ставилось на x86, т.к. лицензия на 1С только 32-бита. Ядро автоматом PAE, так что ограничение 4GB только на процесс.
На федоре не взлетели ни xrdp, ни freenx.
На убунте 14.04 — норм.
xrdp из коробки.
x11rdp из сорцов. Инструкций тьма, только думать надо, а то некоторые в интернетиках насоветуют — типа прав 777 на /opt/X11rdp/. Можно deb-пакет сделать, но это я потом отложил.
lxde глючит, надо xfce.
В ~/.xsession прописать startxfce4.
Через редактор меню изменить команду "Выйти" с "xfce4-session-logout" на "xfce4-session-logout -l -f".
haspd с сайта этерсофта старый — haspd_3.3-eter2ubuntu_i386.deb и haspd-modules_3.3-eter2ubuntu_i386.deb, последний не взлетел, разбираться почему именно — лень. При установке надо --force-overwrite, там файлик одинаковый в обоих пакетах.
1С не стартует, если в /etc/nostname и /etc/hosts разные имена.
К 1С не подключиться удаленно, если DNS-запись для имени из /etc/hostname указывает на другой компьютер.
Для раскладок — setxkbmap в автозапуск.
Локальные ресурсы (звук, USB и т.п.) не пробрасывал, буфер обмена работает, принтеры через CUPS стандартным способом ручкам.
Подключаться стандартным виндовым клиентом.
Feniks
на_заметку project заметки sharepoint Решил поизучать SharePoint, а конкретно ProjectServer. На виртуальной машине ставлю, всё ставиться, но при запуске мастера конфигурации, падает. С ошибкой: Configuration Failed — Failed to create sample data. Да, кстати надо ставить версию enterprise и standalone. Энтерпрайз шарепоинт нужен для проджект сервера, а стэндэлон, если используется только одна машина, в моём случае виртуальная. Так вот, всемирный разум дал следующий ответ, который и помог:
adventuresinsharepoint.co.uk

1. Once the Configuration Wizard has failed browse to C:\Program Files\Microsoft Office Servers\15.0\Data\Office Server

2. Right-click on the Analytics_GUID folder and choose Properties

3. On the Sharing tab click Advanced Sharing

4. Tick the box to share the folder (don’t change the share name) and click the Permissions button

5. Click Add, enter WSS_ADMIN_WPG and click OK. Grant the group Full Control and click OK

6. Click Close
don-Rumata
code Linux find заметки shell
Чтобы скопировать всё музло НЕ создавая копию каталогов (как это было бы с rsync -avrh), а чтобы все файлы лежали одной кучей в одной папке - надо написать чё-то типа такого:

cd /dir/with/music

find . -name "*.ogg" -exec cp "{}" ./ \;

Бэкслэш и точка с запятой нужны, без них не пашет.