TyuleshPelmesh

На Пикабу
Дата рождения: 12 декабря
15К рейтинг 6 подписчиков 51 подписка 25 постов 7 в горячем
10

Ответ на пост «То, что я поняла за годы работы в авторемонтном бизнесе»1

По поводу п.20 "всем на вас насрать"
Купил я себе машинку в первый раз и абсолютно был не в теме этих ваших автомобилей. Приехал в первый раз к мастеру, которого посоветовали как очень хорошего (что-то громыхало в машине). А он после 5ти минут общения мне и говорит "Я вижу у тебя резина лысая, а ты и не в курсе. Пока ты её не поменяешь - я тебе ничего делать не буду. Всё равно убьёшься, пустой труд. Езжай меняй и возвращайся"
С тех пор уж лет 10 у него чинюсь =)

Александр, моё почтение!

19

Ответ Eukarioshka в «Что я узнала, став кардиологом, а хотелось бы раньше...»105

пу-пу-пу-пуууу. Как будто аспирант писал =)
Бахну своё видение скуф-кфмн'а

1) если ты "работаешь руками" - то ты всегда в халате/спецодежде. Потому что либо там слишком грязно, либо наоборот слишком чисто для обычной одежды. Правда в науке ты гораздо больше времени проводишь за компом.

2) Про кумовство это так и не так. Наука - очень рискованная в плане вложения денег. Потому что даже если всё делать правильно - то запросто может не получиться, а ещё это очень сложно контролировать неспециалисту. Поэтому уважаемый Иван Петрович который раздаёт деньги, даст их уважаемому Сидор Иванычу, с которым давно работает и знает что за деньги что-то будет сделано. Это не особо честное и возможно не самое эффективное решение, но причины для этого есть. Чаще всего основную массу работы делать будут аспиранты, за 1-2% от суммы =) Поэтому они чаще всего пишут гневные посты на эту тему. Правда самостоятельно они пока ничего сделать не могут =))

3) Кабала небольших грантов в том, что писанины овердофига, а денег немного. В остальном - получилось или нет не особо важно - главное отчитаться что ты сделал то что планировал и красиво написать что "отрицательный результат - тоже результат"

4) ГМО наши дружочки, полностью согласен =)

5) Если ты нормальный специалист, то ошибки, умолчания и ложь в статье ты сможешь заметить когда прочитаешь всю статью целиком, а не только аннотацию и выводы. Выводы бывают спорные - это факт, но из текста чаще всего видны проблемы исследования.

6) Базовые знания крайне важны! Просто ты не пользуешься ими напрямую. В ВУЗе тебя учат математике и особенно статистике, на которой стоит тупо вся наука, дают базовые знания об устройстве мира, учат постановке исследования и методике эксперимента, короче прививают "научное мышление". Можно его приобрести в процессе работы, но это очень геморно. На личном опыте - я вот в айтишке сейчас работаю и без базы местами тяжко, по сравнению с теми у кого она есть, хотя там-то документации завались, в отличие от науки.

7) В биофизике/биохимии реально с повторяемостью сложно, потому что очень много факторов влияющих на результат. Но как бороться более-менее понятно: берёшь всё то-же самое вплоть до табуреток ( не шутка ) и халатов (дада, см.п.1), и повторяешь =)

8) полностью согласен. А ещё это всё офигенно, неподъёмно дорого =(((

Насчет десяти лет чтобы стать учёным - тоже ну такое. Если ты бодрый и толковый - то уже через 5 будешь вполне годным учёным, это условно магистратура + аспирантура. И вообще науку делают аспиранты, у них кругозора пока нету, зато уже есть знания, дофига времени и сумасшедшая работоспособность. Поэтому условный дядя профессор задаёт направление и резумирует результаты, а аспиранты пашут. Один мой одногруппник к 30ти годам уже целую книжку научную написал.

Показать полностью
6

Вопрос к розоводам - помогите опознать вредителей

Друзья, на комнатной розе поселилась какая-то непонятная хтонь, никак не могу найти что за беда =(
может кто-то сталкивался, подскажите пожалуйста

Вопрос к розоводам - помогите опознать вредителей Цветы, Комнатные растения, Роза, Вредители, Болезни растений
Вопрос к розоводам - помогите опознать вредителей Цветы, Комнатные растения, Роза, Вредители, Болезни растений
Показать полностью 2
0
Вопрос из ленты «Эксперты»

Подскажите, а кто как делает бэкапы?

Наконец-то исполнил детскую мечту: я купил себе китайский ксеон, несколько hdd и поднял небольшой сервачок на Unraid ( по сути Слака с красивыми плюшками ). И хочется настроить бекапы данных с рабочего компа, а заодно с папулькиного архива фотографий. Чтоб можно было поставить на винду и оно само изменения скидывало на сервер, причем хотелось бы не просто синхронизацию, а прям бэкап, чтоб можно было восстановить состояние папки "на позавчера".

Подскажите пожалуйста, кто чем пользуется и как это правильно организовывает?
В гугле не забанили, но как говорил В.И. Ленин "Не всем статьям в интернете можно доверять", а вот личный опыт - это всегда полезно.

6

"Если работа мешает хобби - ну её, такую работу!" (с)

Банального предупреждения пост.
для ЛЛ: ребята, не работайте с мудаками, это рано или поздно приведёт вас к пиздецу.
Пару месяцев назад осознал, что мой пет-проект не обновлялся уже 3 месяца как. И вообще все хобби заглохли, на работе творится перманентная хтонь, да и в остальной жизни как-то грустно. Что я могу сказать по этому поводу. Ребята, не работайте с мудаками! Это подтачивает ваш разум и веру в себя и рано или поздно приведёт к тому, что вы перегорите и к работе и ко всему остальному в жизни.
Даже если:

  • да может просто кажется ( нет, не кажется )

  • да он был нормальный ( был нормальный - а стал нет, увы)

  • зато он хороший специалист ( по моральному уничтожению окружающих )

  • да это временно ( хз как сложится, могут успеть всё и за пару месяцев)

  • да я сам виноват ( вполне может быть, но это не повод )

  • да зато такие плюшки ( плюшки должны быть такие, чтобы к понедельнику опять радостно бежать на работу, иначе - смысла нет)

Ну а я сменил работу, чего и вам желаю, если вы таки работаете с мудаками.
Скоро напишу что-нибудь интересное =)

0

Производительность БД с одной и многими таблицами. Мини-тест

В прошлом посте обмолвился, что собираюсь в своей базе данных завести каждому пользователю по табличке. Ну потому что у меня запросы всегда только для одного пользователя, а значит можно сэкономить ресурсы сервера на индексации, так я думал. Мне накидали полную панамку что так делать нельзя, но почему – никто особо не объяснил. И я решил бахнуть небольшой тест на нескольких БД – проверить что там будет на самом деле.

Для ЛЛ: В большинстве случаев выдавать каждому пользователю по таблице действительно нет смысла. Но для SQLite запросы обрабатываются ощутимо быстрее, если у каждого пользователя своя табличка.

Итак, тестовая задача, более- менее приближенная к моему сценарию:

периодически пользователи закидываеют в БД записи в которой есть ID пользоватея, время записи, текстовая метка (комментарий) и какой-то параметр (число)

INSERT INTO mega_table (id, dt, txt, dat_stat) VALUES ( %s, %s, %s, %s )

после наполнения базы пользователями иногда запрашивается статистика по тому самому числовому параметру за какой-то период времени и с определенным комментарием

SELECT SUM( dat_stat ) FROM mega_table WHERE id=%s AND dt < %s AND dt > %s AND txt = %s

Проверял 3 БД: MySQL сдвижками InnoDB и MyISAM, SQLite и Postgres. Написал скрипт, который эмулирует заполнение БД и запросы к ней, и измеряет сколько времени занимает добавление записи и выполнение запроса. Скачать скриптец можно тут (он сугубо тестовый, т.е. стрёмный и без никакой обработки ошибок, уж сорян). Менял количество пользователей и количество записей у каждого пользователя и смотрел что будет если всё писать в одну таблицу, либо каждому пользователю создавать отдельную. Заодно после выполнения скрипта посмотрел сколько полученные базы данных занимают места на диске.
И вот получились такие таблички.

Производительность БД с одной и многими таблицами. Мини-тест Программирование, Python, IT, Mysql, Postgresql, База данных, Тест, Чайник, Длиннопост
Производительность БД с одной и многими таблицами. Мини-тест Программирование, Python, IT, Mysql, Postgresql, База данных, Тест, Чайник, Длиннопост
Производительность БД с одной и многими таблицами. Мини-тест Программирование, Python, IT, Mysql, Postgresql, База данных, Тест, Чайник, Длиннопост

Какие выводы я для себя сделал.

Во первых видно, что если делать по таблице для каждого пользователя, то и добавление записи, и обработка запроса и размер БД получаются вобщем не лучше, чем если завести одну таблицу на всех. Единственное исключение – выполнение запросов в SQLite (и в некоторых случаях для Postgre) может быть в разы быстрее на многих таблицах, чем на одной. Почему так получается? Думаю потому что БД люто заоптимизированы очень крутыми чуваками под определенные сценарии использования. И если ты не столь-же крут (я лично нет), то нужно выбрать наиболее подходящую БД и подгонять свою задачу под типичные сценарии использования этой БД.

Во вторых если мне важнее скорость добавления/чтения (т.е. экономить вычислительные ресурсы) то из протестированных лучше пользовать Postgres, если важнее экономить место на диске – то MySQL с движком MyISAM. MySQL с движком InnoDB где-то посередине.

В третьих SQLite неожиданно всех обошел в скорости выполнения запросов (для моего случая по крайней мере). Прикольно.

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

В любом случае это было интересно сделать, надеюсь кому-то было интересно и почитать.

Показать полностью 3
7

"dataset" - простая работа с SQL в питоне

Для ЛЛ: разбирался как сделать простые SQL-вещи в питоне просто. Нашел "dataset" - питоновская обёртка для SQL-запросов: не ORM, не DB-API а что-то среднее.

Пост от новичка к ещё более новичкам.
Для моего маленького ТГ-бота понадобилось собирать данные, и очевидно хранить их в базе данных. Как я понял, в питоне для этого есть два подхода: по взрослому писать SQL-запросы либо использовать ORM - штука, которая сопоставляет некие питоновские классы с записями в БД. Ясен-красен второе гораздо приятнее, т.к. не обязательно знать SQL, тебя берегут от факапов с хакерскими запросами слишком продвинутых пользователей и переход от одной БД к другой делается изменением одной строчки вначале.

Почитал я про разные ORMы, и выбрал peewee. Пиви прикольный, простой в использовании и лаконичный, вобщем самое то для чайника. Изрядно его поковыряв уткнулся в проблему - не получается создавать каждому пользователю свою таблицу. Не факт что это в принципе хороший подход, но мне показалось прикольным, а значит - нужно искать варианты. И вариант был найден - штуковина под названием "dataset"

"dataset" - простая работа с SQL в питоне Программирование, Python, SQL, Новичок

Dataset инкапсулирует SQL-запросы внутри питоновского кода, но при этом не превращает их в какие-то сущности типа классов. Тупо SQL-запросы на питоне. Круто-же!! Выглядит это так:

коннектимся к БД

db = dataset.connect( 'mysql://user:password@localhost/mydatabase' )

создаем таблицу (или открываем, если она уже есть)

table = db[ 'user' ]

вставляем запись

table.insert( dict( name='John Doe', age=46, country='China' ) )

ищем запись

chinese_users = table.find( country='China' )
elderly_users = table.find( age={'>=': 70} )

По мне - просто и удобно, и конечно можно использовать всякие питоновские штуки:

for user in db['user']:
print(user['age'])


with dataset.connect() as tx:
tx['user'].insert(dict(name='John Doe', age=46, country='China'))

Надеюсь кому-то пригодится! =)
Всем удач!

Показать полностью 1
5

Как запустить телеграм-бота с помощью pyrogram

Pyrogram - это питоновский фреймворк для написания ботов, он работает напрямую через MTProto. Плюс в том, что бот сам создает и поддерживает соединение с сервером, так что вам не нужен статический IP-адрес. Заодно можно сделать бота который будет выглядеть как обычный пользователь, документация начинается с этого. Но это вроде как не приветствуется (хз если честно), ну и мне интересен тру настоящий бот, буду писать про него. Как запустить обычного бота я не сразу догадался, для таких как я - этот пост =)
Это всё есть в документации, тут будет короткая выжимка.

Получаем Telegram API key (а именно api_id и api_hash) и bot token. Если что-то непонятно - в cети в достатке русскоязычныех манов для первого и второго. Все id, ключи и токены конечно-же нужно хранить в секретном месте, чтоб никто их не видел !!
И пишем немудрёный код для эхо-бота:

from pyrogram import Client

app = Client(

"bot_name_here",

api_id = 12345678,

api_hash="234k5jh2345jhgqr33",

bot_token="2323232302:ASDFasdfasdfasdASDFASDFasdfasdFASDFasd"

)

@app.on_message()

async def echo(client, message):

await message.reply(message.text)

app.run()

Дальше запускаем код на любом компе где есть инторнет и питон - и всё, Вы прекрасны, ваш бот работает! Можно найти его в телеге по тому имени, которое вы установили в БотФазере когда получали bot_token, и пообщаться с ним.

ЗЫ. Для опытных перцев: если я где-то натупил - поправляйте плз, я в этом новичок

Показать полностью
Отличная работа, все прочитано!