Два железных сервера в разных сетях, на каждом по чистовой и тестовой версии (итого: 4 сайта, 68 Докер-контейнеров). Всё сделано с нуля, начиная с покупки железок и их скручивания, установки системы, регистрирования доменов, настройки собственных ДНС-серверов, до разработки систем синхронизации, проксирования, кеширования, конвертирования медиа-файлов и т. д., а так же написания сайта способом, который позволяет автопереключать загрузку так, что рядовой клиент даже не узнает о выходе из строя одного из серверов (только при просмотре видео в этот момент заметна заминка в полсекунды). Страница /multiserver интересна тем, что не только показывает нагрузку и даёт возможность перезагружать контейнеры и системы целиком, но, главное, позволяет наблюдать (почти всё время) за подробностями этих процессов на ходу.
Потребовалось аккуратное ведение логов, их прореживание и удобный показ, чтобы справиться с лавиной ошибок и неточностей, которые вызваны всё нарастающим размером системы и неизбежными конфликтами её компонентов. Придумал и решил проверить идею о том, что неудобный постраничный показ большого количества элементов может быть заменен перемоткой с функцией ускорения. Оказалось, что так гораздо удобнее; и намного лучше, чем читать огромный логовый файл (которые, конечно, пишутся).
Собирать фотки и всякие файлики, и иногда делиться - идея древняя. Первую интернет-версию сделал в конце декабря 2014-го (соц. сети ставят слишком большие ограничения и не всё туда захочешь выкладывать). Оказалось, что это крайне удобно, т.к. близкие сами узнают основные подробности и не нужно пересказывать их по пять раз. Со временем, конечно, система разрослась, и теперь работает музыкальным плеером по всему дому, ещё одновременно кинотеатром и сервером всего своего огромного содержимого везде, где ловится интернет, а главное - структурирует и сохраняет данные в нескольких местах.
Своя финансовая мини-система. Заметил, что в путешествиях много времени тратится на подсчеты денег, ведь, например, платит за застолье обычно кто-то один, часто по очереди. Подумал, что сайт (работающий без интернета), может послужить лучшим калькулятором, чем непонятные записочки на коленке. Совсем не разбираясь в финансах, долго искал способ формализации, пока, наконец, после очередной пьянки на дне рождении (20130729), не стукнуло под утро, что можно обойтись простыми записями "кто кому сколько чего должен" и их последовательностью. Конечно, практика показала, что всё немного сложнее, и, главное, эти записи нужно вести аккуратно, ничего не пропуская. Последнее стало большой проблемой, поэтому скоро я остался единственным пользователем своего приложения. Зато теперь у меня есть многолетняя история каждой финансовой операции с комментарием и, иногда, приложенными документами.
Версия 5 была самой сложноустроенной, т.к. все расчеты производились только на клиенте и только с помощью встроенного в браузер SQLite. Даже фильтры, в которые я прикрутил простейшие регулярные выражения, работали через единый запрос, который был буквально километровым - опытным путем выяснил, что в join можно вставлять условие, одним из путей которого будет такой, который ничего не изменит, а значит будто его и не было.
В 6-й версии перешел на сокеты и выбросил sql.
Оказалось, что в месяц трачу 48к на всё, кроме стройки и аренды
2020-02-20 16:47
Опять соработнички сходят с ума
2020-02-11 21:39
Переделал PDF, чтобы было проще печатать
2020-01-06 14:00
Запустил на ночь, измерив размеры железок
2019-12-03 01:19
Кажется, закончил
2019-12-02 03:14
Опять всю ночь провозился впустую
2019-11-26 14:38
Опять всё передал
2019-11-16 04:26
Мне нравится
2019-11-15 06:45
Опять сижу круглосуточно дома
2019-11-14 16:22
Практической макроэволюцией заниматься утомительно
2019-10-28 20:17
84к символов за 2 недели, буду продолжать
2019-10-22 13:17
Пришлось сделать зум, т.к. всё мелкое
2019-10-17 23:47
Заподозрил, нашел, исправил. Теперь в двух изменениях
2019-09-26 20:03
Придумал нарезать из металла
Пришлось написать программу, которая позволила на порядок удешевить стоимость отделки. Изначально очень не хотелось класть везде плитку - не нравится она мне, любая. Решили с архитектором остановиться на современных наливных покрытиях, но изучив всё, пришел к выводу, что они недолговечны. Придумал, что нержавейка, будучи закаленной, справится даже лучше кафеля. Целиковые куски не подошли, поэтому остановился на мозаике из кружков - такие будут блестеть и рябить в глазах, скрывая этим вездесущую грязь. Основная проблема в стоимости изготовления - крупные получаются по цене почти такими же, что и мелкие, поэтому задача усложняется тем, что надо умостить много крупных, вставив среди них как можно меньше мелких, да так, чтобы это было красиво. Расчет укладки решил написать при помощи эволюционного отбора - захотелось попрактиковаться в своих знаниях биологии, и, понимая, что в таком случае качество результата зависит только от времени, не стал привлекать сервер, делая всю работу на клиенте. Заодно хорошо освоил Web Workers и много других современных браузерных возможностей. Практика внесла коррективы: пришлось дать допуск на неровность стен и дописать так, чтобы можно было вставлять длинные, сложные борозды сливов для пола - такое обременение не пошло на пользу программе. Но свою задачу она уже точно выполнила.
Автофотостудия
2019-12-04 16:05
Теперь на фотике выносной аккумулятор
2016-08-12 14:41
Подключил второй фотик
2015-07-03 14:46
Держалка для падающих картриджей
2015-06-05 18:45
Что-то начало получаться
Делая фотки вручную, со временем понял, что это долго, а главное, все новинки, будучи пока штучными, не оседают на складе, а исчезают в рюкзаках курьеров очень ранним утром. Заставить фотать зав. складом можно, но результат будет плохим. Припомнил, что когда-то видел фотоаппарат на Андроиде. Купил такой, сгонял раз пять в строительный, заказал широкий рулон бумаги. Потом ещё с месяц писал приложение на Java. Оказалось, что Андроид сыплет ошибками, при этом им нет конца - чуть ли ни каждый раз разные и на самом ровном месте, без всякой связи с чем-либо. Однако со временем наладил полную стабильность работы, а заодно написал на сервере скрипт, который управлял зумом, фокусом и прочим на фотике, и настроил ImageMagick, который обрезал пустые края, делал фон белым и приклеивал нужный логотип. Оставалось только поместить объект, выбрать с помощью телефона его название на сайте и нажать кнопку "сделать фото". Себе я оставил функцию выбраковки, но через какое-то время, после научения, она отпала. Конечно, сфотать белую коробку на белом фоне оказалось почти невозможно, но в большинстве случаев результат получался отличным уже через несколько секунд.
Микромарафон 2017
2017-09-30 12:33
Чаепитие после
2017-09-30 12:32
Антон тоже получили свою
2017-09-30 12:05
Никто не пришел
2017-09-30 01:44
Всю ночь доделывал сайт
2017-09-29 20:06
Дал платную рекламу
2017-09-29 19:55
Я не дизайнер
2017-09-29 07:45
Тестовый забег
2017-09-28 23:17
Быстро нарисовали
2017-09-28 14:50
Сдал медали в мастерскую
2017-09-26 09:56
Тестировал GPS
2017-09-25 19:56
ЦДиС выдал медали
2017-09-15 22:59
Пока не работает, но появился https
Пришла в голову идея, что можно использовать GPS, чтобы автоматически определять путь, скорость, начало и конец забега. Чтобы отпала необходимость в судьях, строгих датах и подобных усложнениях. Ведь погрешность в несколько долей процента от большого расстояния сгодится для непрофессионального учета. Практика показала, что на деле точность GPS очень далека от необходимой. Пришлось срочно переделать всю концепцию. Телефоны, конечно, оставил, ведь они могут поработать хотя бы секундомером и показывателями результаты. Теперь бегун сам нажимает "старт" и "стоп" на своем телефоне, а любые окружающие, открывшие сайт и ставшие судьями, могут подтвердить, что он нажал вовремя, или наоборот, что он обманул (в таком случае результаты забега не учитываются). Решение судей - их требуется минимум двое на каждом конце - считается автоголосованием (чтобы не было сговора с бегуном, а при равных голосах результат выбраковывается).