Лайфхак дня: как узнать о наличии или отсутствии в бд postgresql таблицы, не перехватывая исключение.
Оказалось просто. Любая таблица это еще и отдельный тип данных, а все они сложены в системной таблице
Готово. Подзапрос возвращает ничего или имя таблицы, если она существует в бд, а команда
Оказалось просто. Любая таблица это еще и отдельный тип данных, а все они сложены в системной таблице
pg_type."select exists (select typname from pg_type where typname = 'my_table_name')"Готово. Подзапрос возвращает ничего или имя таблицы, если она существует в бд, а команда
select exists превращает результат подзапроса в true (если подзапрос не пустой), или false, если нет.👍2🎉1🥱1
Заканчиваем июнь новым пулом user_id в телеграм.
После того, как в феврале за 12 дней зарегистрировалось 200 млн спамеров, телеграм принял эффективные меры по затруднению автоматической регистрации юзеров.
Новый диапазон, с 29 июня - 6.3-6.4 млрд.
Так же, я решил поделиться своей библиотекой, которая определяет возраст аккаунтов по результатам наблюдений с 2020 года.
https://git.ssleg.tech/anton/tg_account_age
Новый пул уже в нее внесен.
После того, как в феврале за 12 дней зарегистрировалось 200 млн спамеров, телеграм принял эффективные меры по затруднению автоматической регистрации юзеров.
Новый диапазон, с 29 июня - 6.3-6.4 млрд.
Так же, я решил поделиться своей библиотекой, которая определяет возраст аккаунтов по результатам наблюдений с 2020 года.
https://git.ssleg.tech/anton/tg_account_age
Новый пул уже в нее внесен.
👍3🔥2
В ноябре прошлого года я сделал публичный счетчик всех пользователей моих ботов. Сейчас их 224 700 человек.
Естественно, на сервере ведется табличка: время замера, количество пользователей.
Сейчас я захотел взглянуть, как выглядит прирост аудитории за полгода.
В среднем - 89 новых людей в сутки. Минимум - 22 человека (3 июня). Максимум - 446 человек, угадайте дату, когда. 😁
Естественно, на сервере ведется табличка: время замера, количество пользователей.
Сейчас я захотел взглянуть, как выглядит прирост аудитории за полгода.
В среднем - 89 новых людей в сутки. Минимум - 22 человека (3 июня). Максимум - 446 человек, угадайте дату, когда. 😁
🔥3🤡2
Быстродействие NVMe SSD все еще меня впечатляет.
Понадобилось скидывать небольшие блоки текста в файл, в процессе обработки входящих сообщений.
На долбанном питоне, открыть файл, скинуть 300-500 байт, закрыть файл, занимает от 90 до 130 мкс. Микросекунд, да.
Сервера с физическим NVMe стоят своих денег.
Понадобилось скидывать небольшие блоки текста в файл, в процессе обработки входящих сообщений.
На долбанном питоне, открыть файл, скинуть 300-500 байт, закрыть файл, занимает от 90 до 130 мкс. Микросекунд, да.
Сервера с физическим NVMe стоят своих денег.
👍7
Товарищ столкнул в поединке Kafka и RabbitMQ.
Кратко - победил кролег.
Подробности, в поэме в трёх частях:
https://t.me/eshu_coding/324
https://t.me/eshu_coding/325
https://t.me/eshu_coding/326
Кратко - победил кролег.
Подробности, в поэме в трёх частях:
https://t.me/eshu_coding/324
https://t.me/eshu_coding/325
https://t.me/eshu_coding/326
Telegram
Эшу быдлокодит
Kafka vs RabbitMQ, часть 1. Описание эксперимента.
Проводил интересный эксперимент: сравнивал между собой брокеры сообщений: Apache Kafka и RabbitMQ под нагрузкой на сообщениях разного размера. В этом посте - описание условий эксперимента, результаты - в…
Проводил интересный эксперимент: сравнивал между собой брокеры сообщений: Apache Kafka и RabbitMQ под нагрузкой на сообщениях разного размера. В этом посте - описание условий эксперимента, результаты - в…
🔥2
«Требуются IT-специалисты, до 43 лет, для прошивки дронов.
Условия: при подписании контакта единовременно выплата 500 тыс, и зарплата 200 тыс. Контракт на бессрочный срок, до окончания сво. Если нет такого опыта работы, научат. Работа в Крыму, в глубоком тылу, в населённом пункте, проживание там же.
Тел (926) 249-22-35, Оксана». Source
Кто молод, мечтает о много денег сразу, надеть погоны, получить военную ипотеку и испытать все прелести sergeant calls stand up and fight! © - самое время набрать номер выше.
Джуны, ваш шанс.
Upd от 08/07: Предложение реальное, телефон проверили.
Условия: при подписании контакта единовременно выплата 500 тыс, и зарплата 200 тыс. Контракт на бессрочный срок, до окончания сво. Если нет такого опыта работы, научат. Работа в Крыму, в глубоком тылу, в населённом пункте, проживание там же.
Тел (926) 249-22-35, Оксана». Source
Кто молод, мечтает о много денег сразу, надеть погоны, получить военную ипотеку и испытать все прелести sergeant calls stand up and fight! © - самое время набрать номер выше.
Джуны, ваш шанс.
Upd от 08/07: Предложение реальное, телефон проверили.
🔥7💩2
И пришли за релокантами, но я же не релокант, я молчал ©
https://git.ssleg.tech/anton/tg_chat_reader
Ридер чатов, включая закрытые, имеет один недостаток, он написан под 1 аккаунт чтения. А если их несколько, приходится делать разные бд.
https://git.ssleg.tech/anton/tg_chat_reader
Ридер чатов, включая закрытые, имеет один недостаток, он написан под 1 аккаунт чтения. А если их несколько, приходится делать разные бд.
😁1
Забавное. None может быть ключом словаря. Никогда бы не догадался, если бы не собственный ляп в коде. Хотя логично.
😁5
Шпаргалка для себя.
ufw allow from мой_шз_адрес to any port 5432
Все время забываю синтаксис ufw для открытия внешнего доступа к порту с одного ip. Копать bash_history каждый раз надоело, теперь здесь будет.
Дело в том, что белые списки IP адресов это очень эффективная мера против взлома. Естественно нужна еще гигиена, хорошие пароли, патчи безопасности итд. Но сама по себе привязка "этот порт доступен извне только оттуда" убивает 99.9% атак.
Поэтому базы данных на сервере доступны только мне и только с домашнего компа.
Там слишком много интересного, в СБУ бухали бы неделю, но им не обломится. 😁
А когда надо что-то поправить, но комп далеко, открывается времянка. Главное потом, не забывать удалять эти правила.
P. S. Для эстетов есть вариант такого же, но через pg_hba.conf, но он требует перезапуска сервера postgres полностью, что нежелательно.
ufw allow from мой_шз_адрес to any port 5432
Все время забываю синтаксис ufw для открытия внешнего доступа к порту с одного ip. Копать bash_history каждый раз надоело, теперь здесь будет.
Дело в том, что белые списки IP адресов это очень эффективная мера против взлома. Естественно нужна еще гигиена, хорошие пароли, патчи безопасности итд. Но сама по себе привязка "этот порт доступен извне только оттуда" убивает 99.9% атак.
Поэтому базы данных на сервере доступны только мне и только с домашнего компа.
Там слишком много интересного, в СБУ бухали бы неделю, но им не обломится. 😁
А когда надо что-то поправить, но комп далеко, открывается времянка. Главное потом, не забывать удалять эти правила.
P. S. Для эстетов есть вариант такого же, но через pg_hba.conf, но он требует перезапуска сервера postgres полностью, что нежелательно.
👍3🤮2
И снова любимая тема, Паша и безопасность.
Вот сделали защищённые чаты, откуда нельзя пересылать сообщения и делать скриншоты. Вопрос - можно ли делать скрины с админлога таких чатов?
Вот сделали защищённые чаты, откуда нельзя пересылать сообщения и делать скриншоты. Вопрос - можно ли делать скрины с админлога таких чатов?
Anonymous Quiz
43%
Да
4%
Нет
53%
Да пофиг/показать ответы.
😁4👍1🤡1
Окраины Питера. Последний дом в Шушарах, дальше только Пулково и его глиссада.
Download 126 Mbit/s, upload 53. До чего теран страну довел.
Download 126 Mbit/s, upload 53. До чего теран страну довел.
👍6🤡1
В тележеньке снова всплеск регистраций. 100 млн аккаунтов ушли за 3 недели.
Ожидаем обжигающих истин "читать далее" в комментах и прочего спама.
Пул вчера открылся сверхширокий, сразу на 300 млн. юзеров. Текущий диапазон user_id: 6.4 - 6.7 млрд.
Библиотека определения возрастов обновлена.
Ожидаем обжигающих истин "читать далее" в комментах и прочего спама.
Пул вчера открылся сверхширокий, сразу на 300 млн. юзеров. Текущий диапазон user_id: 6.4 - 6.7 млрд.
Библиотека определения возрастов обновлена.
🙈2
Эпиграф: “Если имена неправильны, то слова не имеют под собой оснований. Если слова не имеют под собой оснований, то дела не могут осуществляться. Если дела не могут осуществляться, то ритуал и музыка не процветают. Если ритуал и музыка не процветают, наказания не применяются надлежащим образом. Если наказания не применяются надлежащим образом, народ не знает, как себя вести. Поэтому благородный муж, давая имена, должен произносить их правильно, а то, что произносит, правильно осуществлять.” ©
Очень старая шутка, но еще более глубокая, чем кажется. Проблема в том, что в языке, на котором мы думаем, каждое понятие имеет эмоциональную окраску. И каждый раз, когда мы думаем какое-то слово, за ним всплывает еще и оценка, вбитая родителями/школой/коллективом.
Например, сравните слова "кумовство" и "софт-скиллз". Второму вас в школе не учили и поэтому оно имеет нейтральную/позитивную оценку, а первая это жесткое "плохое".
Хотя это одно и то же явление, длина социальных связей решает все.
И так в каждом, практически, слове. Это особенность мозга, что он всегда из памяти тянет не только слово, а его ассоциации.
Поэтому, полезный опыт это выучить любой другой язык, по максимально нейтральному учебнику (из взрослых, языки народов севера или джунглей Бразилии мало чем помогут, поскольку не имеют 80% понятийного аппарата 21 века) и попытаться на нем думать.
Разница будет совершенно чудовищной и очень сильно удивит. Потому что на втором языке вам не проштамповали мозг всякой фигней, которую люди называют "воспитанием".
Очень старая шутка, но еще более глубокая, чем кажется. Проблема в том, что в языке, на котором мы думаем, каждое понятие имеет эмоциональную окраску. И каждый раз, когда мы думаем какое-то слово, за ним всплывает еще и оценка, вбитая родителями/школой/коллективом.
Например, сравните слова "кумовство" и "софт-скиллз". Второму вас в школе не учили и поэтому оно имеет нейтральную/позитивную оценку, а первая это жесткое "плохое".
Хотя это одно и то же явление, длина социальных связей решает все.
И так в каждом, практически, слове. Это особенность мозга, что он всегда из памяти тянет не только слово, а его ассоциации.
Поэтому, полезный опыт это выучить любой другой язык, по максимально нейтральному учебнику (из взрослых, языки народов севера или джунглей Бразилии мало чем помогут, поскольку не имеют 80% понятийного аппарата 21 века) и попытаться на нем думать.
Разница будет совершенно чудовищной и очень сильно удивит. Потому что на втором языке вам не проштамповали мозг всякой фигней, которую люди называют "воспитанием".
👍5💯3🔥2
Жаркий, воскресный, ленивый вопрос.
Народ, а на чем нынче модно и легко делать межпроцессное взаимодействие в линукс на 🐍?
Задача простая: процесс-провайдер данных, который будет заниматься поиском по базам, и выдавать другим процессам результат.
Встраивать в каждый из ботов, кому нужны данные диванона, всю схему поиска, очевидно глупо. Она же еще периодически дополняется, поэтому точка изменений должна быть одна, остальные подают запрос и получают ответ.
Народ, а на чем нынче модно и легко делать межпроцессное взаимодействие в линукс на 🐍?
Задача простая: процесс-провайдер данных, который будет заниматься поиском по базам, и выдавать другим процессам результат.
Встраивать в каждый из ботов, кому нужны данные диванона, всю схему поиска, очевидно глупо. Она же еще периодически дополняется, поэтому точка изменений должна быть одна, остальные подают запрос и получают ответ.
👍1😁1