Готовы ли вы стать программистом? Узнайте в тесте
Реклама ООО «Яндекс», ИНН: 7736207543
Реклама ООО «Яндекс», ИНН: 7736207543
Запуск тестов параллельно с мокнутыми импортами, но..
- Медленное исполнение каждого теста
- Врут про Zero Config
- Развесистый сложный API
- Заточка под модульные тесты вместо компонентных
- Красивые отчёты не помогают в отладке
В прошлом посте обмолвился, что собираюсь в своей базе данных завести каждому пользователю по табличке. Ну потому что у меня запросы всегда только для одного пользователя, а значит можно сэкономить ресурсы сервера на индексации, так я думал. Мне накидали полную панамку что так делать нельзя, но почему – никто особо не объяснил. И я решил бахнуть небольшой тест на нескольких БД – проверить что там будет на самом деле.
Для ЛЛ: В большинстве случаев выдавать каждому пользователю по таблице действительно нет смысла. Но для 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. Написал скрипт, который эмулирует заполнение БД и запросы к ней, и измеряет сколько времени занимает добавление записи и выполнение запроса. Скачать скриптец можно тут (он сугубо тестовый, т.е. стрёмный и без никакой обработки ошибок, уж сорян). Менял количество пользователей и количество записей у каждого пользователя и смотрел что будет если всё писать в одну таблицу, либо каждому пользователю создавать отдельную. Заодно после выполнения скрипта посмотрел сколько полученные базы данных занимают места на диске.
И вот получились такие таблички.
Какие выводы я для себя сделал.
Во первых видно, что если делать по таблице для каждого пользователя, то и добавление записи, и обработка запроса и размер БД получаются вобщем не лучше, чем если завести одну таблицу на всех. Единственное исключение – выполнение запросов в SQLite (и в некоторых случаях для Postgre) может быть в разы быстрее на многих таблицах, чем на одной. Почему так получается? Думаю потому что БД люто заоптимизированы очень крутыми чуваками под определенные сценарии использования. И если ты не столь-же крут (я лично нет), то нужно выбрать наиболее подходящую БД и подгонять свою задачу под типичные сценарии использования этой БД.
Во вторых если мне важнее скорость добавления/чтения (т.е. экономить вычислительные ресурсы) то из протестированных лучше пользовать Postgres, если важнее экономить место на диске – то MySQL с движком MyISAM. MySQL с движком InnoDB где-то посередине.
В третьих SQLite неожиданно всех обошел в скорости выполнения запросов (для моего случая по крайней мере). Прикольно.
Ну и в четвертых, питоновская обёртка для SQL-запросов про которую я писал в прошлом посте таки упростила бы мне написание тестового скрипта, но для чистоты эксперимента пришлось её отложить в сторону.
В любом случае это было интересно сделать, надеюсь кому-то было интересно и почитать.
Скинул мне знакомый тестовое задание. Это компания Веселый водовоз ищет себе программиста. Обещают 90k. Но у моего знакомого закрались в голову сомнения что они просто хотят получить на халяву законченную программу. Бесплатно.
Почему возникли такие подозрения? Из-за последней строчки и зачем компании программист на постоянку, когда можно просто получить софт на халяву.
Начну из глубооокого начала!
Кем я мечтала стать, когда вырасту? Я и актрисой хотела быть, и певицей, а в старших классах, когда туман над моим разумом потихоньку рассеялся, я начала думать в строну архитектуры и строительства. Хотела конструировать, чертить, создавать... Но мама сказала однажды: «Твои родители не олигархи, чтоб архитектурный тебе оплачивать!» А я покорно согласилась и поддалась родительской воле.
Почему так просто?
Я училась в школе, где работает моя мама, а начальные классы и вовсе училась у неё. Она до чертиков строгая и требовательная женщина. Ну чтоб не ввязываться лишний раз в никому не нужный конфликт, я просто молча слушалась. В школе я училась, можно сказать, на отлично, хотя синдромом отличницы не страдала. Ну а как ещё должны учиться дети учителей? Закончила школу с серебряной медалью... 4 по геометрии обломала золото маме)).
К чему я это все? А к тому, что я вполне могла поступить туда, куда захочу. Так ещё и на бесплатное. Но тогда я это не осознавала... даже не задумывалась. На столько сильно я была под родительско-учительским влиянием.
В общем стала мама хлопотать по знакомым, чтоб меня в московский железнодорожный устроить. Ездили туда, с кем-то о чем-то договаривались. И все вроде бы шло хорошо, пока не раздался телефонный звонок утром после выпускного.
Лежу я, значит, еле живая. Глаза под тяжестью вчерашнего макияжа открыть не могу, перегар адский, ног не чувствую, волосы колом стоят от лака. Мама сняла трубку, и там ей сказали что-то типа: «Направление вам не дадим, потому что нет у вас живых родственников, которые в данный момент работают на ЖД. Поступайте в общем потоке без направлений».
У мамы шок!!! Почему- то она решила, что, если с направлением я не поступлю, то я вобще не поступлю туда. Ну да ладно... Затем она делает пару звонков по знакомым и выясняет, что в администрации дают направления в радиотехнический университет. Можно сходить туда, может там чего интересного и осталось.
Она будит меня, мы быстро собираемся и едем в администрацию. Там нас встречает приятный худощавый мужчина, дает лист бумаги со списком и говорит: «Вот это список бесплатных специальностей, куда мы можем дать направление». Мама, соответственно: «Выбирай, дочь»!
Ну вы представляете? Я ещё не проснулась даже, а тут события так быстро развиваются! Какой там выбирать?! Водички бы мне... Но я все же собралась и начала читать. Очень там были сложные, длинные и непонятные названия специальностей. Ну я и выбрала самую короткую и красивую специальность - «Информационные системы и технологии»!!!
Ну вы поняли, да? Все нормальные люди готовятся стать программистами, со школы мечтают, поступают, учатся в конце концов! Мои же 5 лет нахождения в универе:
1. Отрыв
2. Отрыв
3. Угроза отчисления, прозрение
4. Учеба
5. Учеба, диплом, свадьба
И тут началась семейная жизнь в общаге в отдельной комнатке. А чтобы продлить проживание в общаге, я пошла в магистратуру.
Сразу после универа меня по рекомендации свекрови взяли на стартап программистом 1С в микроскопическую конторку (в штате было человек 10). Свекровь - главбух. Ей в этой конторке 1С обслуживали. Задач по делу там было мало, и то, только если очень сильно попросить. В основном я там занималась либо ничем, либо какой-то мелкой бумажной работкой. Это мне естественно не нравилось. Но я мечтала, что может все же наберусь тут опыта программирования в 1С и уйду в компанию покрупнее, посерьёзнее.
Ну да, ну да!!!
Проработала я тут 4 месяца. И на первый же день после новогодних каникул дядя-начальник вызывает меня к себе и говорит: «Приятно было с вами работать, но я вынужден просить вас уйти. Могу предложить отпуск за свой счёт, но... вобщем решайте сами.» Вручил 5000 ₽ и освободил от работы.
Че по деньгам? Он платил мне 15 000 ₽. По договору я получала 2000 или 2500... Не помню точно. Позже узнала, что после меня он выпер ещё несколько человек.
Не знала я радоваться мне или плакать. Но дальше началось 2 месяца скитаний по самым разным конторам в поисках работы программистом. Нигде меня не брали(((. Максимум предлагали курсы с последующим устройством. Очень не хватало опыта, практики. А потому что учиться надо было, а не отрываться!!! А какой тут учиться, когда наступила долгожданная свобода вместо бесконечных уроков под маминым контролем? Да и времени на практику и обучение у меня уже не было, не смотря на то, что я была замужем, и, казалось бы, что мешает посидеть полгодика у мужа на шее, пока я осваиваю профессию? Я помню, что тогда были совсем тяжелые времена, когда холодильник был реально пустой, я ходила в старой драной парке, а денег не было совсем(((! Да и муж не самый амбициозный был товарищ. Он всегда говорил: «Если моя жена будет зашибать сотку, то я уволюсь с работы». Надеяться на него страшно, поэтому ищу работу дальше. Чуть позже, кстати, я с ним развелась.
И тут я пришла на собеседование в очередную компанию, как оказалось, крупную и серьезную. По этическим соображениям я не буду предоставлять имена, явки, пароли. Программистских вакансий у них на тот момент не было и меня взяли в тех. поддержку. Я была согласна уже на всё! Пришла я на работу, посадили меня за комп, вручили стопку из руководств пользователей (каждое по 700 страниц), показали где и как обрабатывать заявки клиентов, и я начала потихоньку погружаться. Сначала мне все было чуждо, непонятно, страшно и не очень интересно. Но через 4 месяца я была уже уверенным сотрудником тех. поддержки. Но наш отдел занимался не только поддержкой. Работы было бесконечно много. Компания производила целую линейку программных продуктов для автоматизации розничной торговли (штук 10 у нас точно было). И мы эту линейку, тестировали, поддерживали и продвигали.
Откровенно говоря, в нашем отделе был бардак. Нас было 4 человека, в худшие времена увольнений нас оставалось 3. Надо было успевать все, проблемы решались по мере их поступления. Выпуск релиза объявлялся внезапно, и мы должны молниеносно менять приоритеты задач и переходить в режим выпуска. Мне говорили: «Бросай клиентов, приступай к тестированию, релиз в приоритете». А кто будет решать проблему моего клиента, если на ТП я сейчас одна? А никто. Все потом как-нибудь решится. Вот так!
Почему выход релиза мы не планировали? По этическим соображениям опять же причины озвучивать не буду. Примем это как данность. Что такое планирование, мы вовсе не знали, потому что все время были заняты разгребанием образовавшихся кучек гоМна. А от начальства периодически приваливали срочные задачи. Плюс текучка по очевидным причинам: работы много, организации никакой, зп небольшая, премий нет. Кадры текли, но я никуда не текла. Хотя один раз попыталась утечь в другую компанию на ТП. Но там мне не могли предложить условий лучших, чем у меня были. А зачем менять шило на мыло? Тут у меня все получается, и я привыкла. Этот треш стал моей зоной комфорта.
Так я проработала померено года два. Затем реструктуризация внутри компании, небольшие кадровые перестановки. У нас меняется начальство, а меня делают руководителем отдела. Отдел продолжает заниматься тестированием и сопровождением ПО. И тут я начинаю серьезно и с головой погружаться в профессию тестировщика.
Привет, Пикабу! Вопрос к сайтостроителям. Хочу сделать сайт с тестированием, чтобы заходить на него, тренить тесты по ТБ и производству. Из функционала трэба: выбор одного ответа из 3-х, 4-х, чтобы правильный/неправильный ответ подсвечивался, поиск определенных вопросов по всем вопросам, ну и конечно заточка под экран смартфона. Мож кто посоветует правильный инструмент, да и цмс подходящую (думаю делать на ВордПресс и плагин подключить, но думаю меня функционал не устроит. Всем спасибо.
Тогда этот вызов для вас! Мы зашифровали звездных капитанов команд нового юмористического шоу, ваша задача — угадать, кто возглавил каждую из них.
Переходите по ссылке и проверьте свою юмористическую интуицию!