Category: it

Category was added automatically. Read all entries about "it".

Mysql задолбало

это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/11/21

Сервер lleo.me время от времени подтормаживает, в основном из-за Mysql. Я уже чинил всякие запросы, индексы. Вчера я страницу https://lleo.me/dnevnik/comm сильно доработал по вашим просьбам, теперь там видно, на чей коммент кто отвечал, а если на ваш, то еще и красным показывает. При этом заметил: если нажимаю ссылку «предыдущие комменты», то сервер подвисает в половине случаев уж точно. Стал разбираться и увидел сложную конструкцию. Ну, как сложную... Сильно упрощая, выглядит так:

SELECT c.*,u.*,z.*
FROM `comments` AS c
JOIN `publications` AS z ON c.`num`=z.`num`
LEFT JOIN `users` AS u ON c.`user`=u.`user`
WHERE 1 AND c.`Time`<'1605909120' ORDER BY c.`Time` DESC LIMIT 50


Логика проста: движок берет 50 комментариев от некого момента во времени, но к каждому нужна бы дополнительная информация из других таблиц. Поэтому пытается подсосать информацию о заметке, к которой комментарий относится (известен номер заметки), а также информацию об авторе комментария (известен его номер, хотя в базе может не оказаться). Все мыслимые индексы есть для всех таблиц.
Collapse )

Я много задавал технических вопросов, пора дать ответы

это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/11/20

За последнее время я задавал целый ряд технических вопросов, вызвавших живой отклик среди моих технически подкованных подписчиков. Естественно, речь не про тех двух говноедов, которые прибегают в каждый пост со свежесозданных аккаунтов рассказать, что я все делаю неправильно, напрасно, и вообще зря занимаю то место на планете, которое по праву должно принадлежать им ;) Речь о тех достойных людях, которые поделились своими знаниями, и благодаря им я в итоге решил все проблемы. Также многих заинтересовали сами вопросы - некоторые, например, заказали свисток чтобы тоже поэкспериментировать с Зигби. Иными словами, теперь я ощущаю свой долг сказать всем вам спасибо, а также подробно рассказать, чем закончилась каждая из историй, дабы мой опыт тоже мог оказаться полезен кому-то (а также мне, когда я столкнусь снова с этой проблемой и пойду гуглить в своем же блоге, как я ее решал). Итак...


Collapse )

Розетка Судного Дня

это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/11/15

Виснет вайфай-роутер?

Зависает важный рабочий сервер в офисе?

Смените роутер, смените админа. Не помогло? Тогда аварийный вариант — включите неустойчивую технику в Розетку Судного Дня. Это простое устройство постоянно проверяет доступность заранее указанных сайтов, и если доступ пропал — отключает и снова включает питание.


Collapse )

Вселенские размышления о судьбах фоток в партициях ext3/ext4

это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/11/07

Волшебным образом оказалась удаленной папка /r/FOTO с архивом фотографий, и вот уже третий день я пытаюсь ее восстановить. Это было место на сервере с каталогами «Конвенты и поездки», «Мероприятия», «Семья», «Документы и сканы» и так далее — и в каждой все разложено по годам за 20 лет.

Несмотря на самостоятельно утвержденный праздник «11 марта День Бэкапа», я конечно ни хрена его не соблюдал даже раз в год. Как теперь выяснилось, последний раз бэкап архивов я делал примерно в феврале 2014 при замене роутера с Asus на Banana Pi, когда в нем менялся носитель и способ его включения. Нынче же, скорее всего, дело было так: на прошлой неделе я отдавал другу Кириллу свой старый ноутбук и чистил от мусора. Вместо того, чтобы удалить папку /FOTO в ноутбуке я зачем-то полез сравнивать ее с одноименной, но в тысячу раз более крупной /FOTO сервера, хотя было понятно, что ноутбук давно под снос, и ничего не скопированного там быть не могло. В итоге, скорее всего, тупо нажал не туда и удалил /FOTO сервера вместо ноутбука. Но может что-то случайно нажал Стаська или Маргарита — мало ли у кого доступ к домашнему серверу. Или просто случился сбой.
Collapse )

Help

это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/10/27

Долго не решался написать, но... короче, друзья, мне очень нужна ваша помощь, если среди моих френдов есть специалисты по:
— программированию микрочипов Silicon Labs
— системе Simplicity Studio 4
— или просто по протоколам ZigBee

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

Электронное голосование, блокчейн и проблема анонимности

это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/06/29

Удивительная российская традиция — закрывать безделие загадочным словом.

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

Или вот, например, «план Путина», постоянно звучавший в 2007-2008 из каждого утюга. «План Путина» обсуждали все телеканалы, гордились им, клялись выполнить, обещали реализовать — короче, постоянно вытаскивали из рукава как козырь. Хотя никто не знал, что это. «План Путина» нигде не был озвучен или опубликован, Путин сам не понимал, в чем его план.

У Медведева были «нанотехнологии». Что это такое — не имел понятия ни Медведев, ни российская промышленность. Нанотехнологии сгинули так же внезапно и навсегда, как ускорение и план Путина.
Collapse )

Вопрос про MySQL часть 2

это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/06/07

По советам умных людей перевез базы сайта с MyISAM на InnoDB, написав себе для этого всяких новых кнопок в админке баз движка (которая уже немного по функционалу приближается к PhpMyAdmin :). И немного уже пожалел, что переехал на InnoDB.

Да, проблема инкрементального бэкапа решилась, он стал умнее: /backup 1450M /inc 3701042
Я правда всё равно не очень понимаю, зачем мне прилетели 3,7 мегабайта данных всякий раз, когда в базе не изменилось ровным счетом ничего... Но это уже лучше, чем тупо копировать полтора гига. В любом случае я случайно нашел в коде движка собственный экспорт баз в своем формате (оказывается, я это делал когда-то), чуть подправил его, и теперь думаю делать бэкап баз средствами движка, потому что это точно будет умнее и компактнее. Например, то, что у MariaDB занимает 1450M, у меня в простом формате движка заняло 500M. Но дело не в тот, это я как-нибудь сам сделаю, как будет время.
Collapse )

Крах всему: помощь зала

это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/06/03

UPD: Всем спасибо за советы, вопрос решен: оказывается, инкрементальный бэкап MySQL MariaDB не будет правильно работать до тех пор, пока базы не перевести из устаревшего формата MyISAM в формат InnoDB. Сделать это по-любому следует, формат устаревший. Перегнать MyISAM в InnoDB можно одной командой «ALTER TABLE `имя таблицы` ENGINE=InnoDB».

БЫЛО:

Вчера лишился всего, шо нажито непосильным трудом — всех своих сайтов и сетевых архивов. Потом все вернулось, но страху натерпелся...

История смешная. Короче, Linux-сервер. Я люблю, чтобы сервер, система и все прочее легко восстанавливаемое говно было где оно само захочет, но вот мои уникальные данные — где я захочу. А именно - в отдельной корневой папке, желательно даже на отдельной партиции. Мои данные уникальны, поэтому должны храниться на самом видном для меня месте. Чтоб если переезд — не бегать их собирать по кусочкам в далеких сраных папках самого разного софта, а взять и перенести. Как-то так.
Collapse )

Ошибка в резюме

это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/05/15_CV

Ржу. Ксенчик тут составляла себе резюме, а я в разговоре вспомнил, что у меня тоже где-то было резюме типа программиста: http://home.lleo.me/CV Зачем я его сделал — не помню, кажется, когда подавал заявление сисадмином в Антарктиду. Так вот, вспомнил ссылку, послал ей, и сразу в резюме программиста была обнаружена ошибка программирования! Ну, там строка «возраст: 47» выводилась скриптом, который высчитывает возраст относительно нынешней даты. А то я уже задолбался каждые три года бегать исправлять:

=============== cut ===============
возраст: {_PHPEVAL: $o=floor((time()-strtotime('1972-05-21'))/(365*24*60*60));_}
=============== /cut ===============

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

Роскомнадзорушке всё неймётся...

это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2020/05/15_rkm

Никогда такого не было, и вот опять в ЖЖ приходят жалобы:

=============== cut ===============
В соответствии с частью 7 статьи 15.1 Федерального закона от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и защите информации» уведомляем, что на основании решения суда (Ломоносовский районный суд — Ленинградская область) от 26.06.2019 № 2а-1242/2019 указатель страницы сайта в сети «Интернет» https://lleo.livejournal.com/364600.html включен в «Единый реестр страниц, содержащих информацию, распространение которой в Российской Федерации запрещено», номер реестровой записи 978908-РИ в связи с тем, что данная информация содержит сведения, распространения которых в Российской Федерации запрещено решением суда.

Описание запрещенной информации:

Размещена информация содержащая стихотворение, начинающееся со слов: «Штаты — (нецензурно). Немцы — бяки...», заканчивающееся словами «... Вот с кем мы дружить могли! Только (нецензурно) надо!», признанное экстремистским материалом.
Collapse )