По фиксированной цене можно продавать только готовый продукт, а любой кастдев - это всегда субъективная оценка. И так не только в нашей с вами айтишечке. Стадион/завод/дом/мост также строят по примерной оценке плюс риски. А в рисках может быть и x2 и больше.
Спасибо за историю. А почему не брали оплату вперёд? На сколько помню 2010-ые - тогда это было действительно не модно, доверия к интернет-площадкам особо небыло, но это могло стать выходом из ситуации с кассовым разрывом, а также снизило бы число заказов и возвратов.
17 таблиц, 1300 poi на странице, 50K записей в хранилище... боюсь гадать на кофейной гуще, но кажется нагрузка не в объёме данных и проблема не в типе хранилища.
Я бы посмотрел:
где именно проблема: в бд или в прослойке, так как если браузер показывает pending - это ещё не значит что проблема в бд.
на суммарное количество запросов в бд, возможно не решена n+1.
на структуру запросов, возможно join`ы оптимальнее разбить на отдельные запросы с lazy-load.
банальные индексы не там и не те, лишние сортировки или limit/offset.
на математику внутри запросов, для расчёта попадания координат в область есть стандартные методы.
возможно грузить стоит отдельно координаты для отображения на карте, а отдельно - детальную информацию для просмотра.
Имхо, методики scrum и прочие из семейства - помогают менеджерам как-то контролировать не до конца понятную им область, держать руку на пульсе и корректировать направление как можно раньше. Программистам тоже помогают, но в другом: научиться общаться "словами из рота" и слышать друг друга.
На сколько рьяно следовать каждой из методик - уже зависит от команды и от самого менеджмента, вечный баланс между "шашечки" и "ехать".
Продуктовая и заказная разработка - это два разных мира. Фриланс по проектам на пару месяцев не особо учит вести большие и сложные проекты. Фриланс даст какие-то азы, но лучшее подтверждение опыта - что вы год проработали в серьёзном проекте.
Просите денег по рынку, ну или по своим затратам, в первый год это не важно, гораздо ценнее получаемый опыт. Однако имейте в виду, что повышать зарплату без смены места работы тяжелее, чем вместе со сменой. места. Вдруг захотите остаться)
Смотрите на компании, где будете делать основной продукт, который приносит ощутимую долю прибыли компании. Не нужно "чинить принтеры" (со всем уважением к товарищам). Кстати, это не только it касается.
Ноунейм компании тоже делают классные продукты, почему нет)
HR-ы просто хотят найти подходящего кандидата. Какого - никто не знает. Будьте честны и открыты. Но никто не любит совмещение и непонятный рабочий день. Если вы учитесь, не предлагайте работать между парами.
Я работал на первом курсе, на втором уже работал программистом в ноунейм конторе. Всё реально, если оно вам действительно надо. Но профильное образование всё же лучше.
На фрилансе редко делают упор на качество, да и учиться особо не у кого. Учиться лучше у людей с опытом, чем "по книжкам".
Вуз имеет место в части компаний. Делать приложухи можно без вуза. Расти вглубь и по карьере без вуза сейчас уже тяжелее. Совсем без вуза - не попадёте под всевозможные blue card.
Алгоритмы модно спрашивать, поэтому спрашивают. Может и не пригодится в работе, но олимпиадные и алгоритмические задачи ещё никому не вредили, тут стоит поупражняться.
Врать - а какой смысл? Вот возьмут вас, через месяц расстанетесь - только время потеряете и трудовую замараете. Вы выбираете работодателя точно также как и он вас. Ищите того, кто вам подходит и сможет вам что-то дать, кроме денег конечно.
Использую именно такое разделение на уровни, с одним лишь дополнением, Lead не просто может спихнуть, а знает кому из сотрудников лучше отдать ту или иную задачу, кому что интереснее и кто сделает качественнее)
Смутил вывод что "их особенно-то никто и не разрабатывал", имхо это всё же следствие. Нам преподавали что троичные компьютеры просто выходили сложнее и дороже. И охотно верю, что в те времена было проще сбегать-посмотреть заряжена ли ячейка, чем измерять на сколько и каким зарядом.
И отдельный вопрос - хранение заряда разного полюса в соседних ячейках на магнитной ленте. А ещё были перфокарты, где небыло "наполовину-дырок", так что двоичность вроде как оправдана.
Дело в том, что memory_get_usage показывает объём используемой памяти в текущий момент. У нас тестируемым является колбэк, который запускается, использует какое-то количество памяти, потом завершается, и в этот момент объём памяти высвобождается, поэтому в результате колбэка мы видим ноль.
Вариантом является тестирование через memory_get_peak_usage, так как тут мы увидим не текущее, а максимальное пиковое потребление.
Остановился в решении на том, что нужно сбрасывать максимальное потребление между вызовами. И такой метод есть: memory_reset_peak_usage, но он появляется только в php8.2, поэтому внедрять его сейчас в библиотеку наверное рановато. А другого способа сбрасывать я не нашёл.
Помню на курсе педагогики про малышей нам рассказывали, в первые годы жизни ребёнка его органы, мышцы и области мозга развиваются последовательно с точностью до недель, на что влияет наличие внешних факторов, например если 3-4 месяц жизни ребёнка приходится на лето и малыш получает больше солнца и витамина D, то сильнее развиваются определённые направления. Тут же проводили параллели со знаками зодиака, что описанная в них специфика характера разных знаков как раз и обуславливается календарным месяцем, когда у ребёнка протекал тот этап развития, который влияет на эту черту характера.
Признаюсь, отношусь скептически к этой теории, так как знаки зодиака в разных широтах одинаковые, а климат разный.
Пс: теперь я знаю почему не стал футболистом, месяц не тот!
Это решение не про бенчмарки, на сколько я понял автора, а про "сравнить мои решения между собой" по времени на глазок и выявить явного лидера. Даже "winner/loser" как бы намекают на несерьёзность :)
Если бы мне нужно было сравнение в изолированной среде с нормальным распределением, замерами памяти, сети и io, я бы выбрал другое решение, и потратил бы на него больше времени.
По фиксированной цене можно продавать только готовый продукт, а любой кастдев - это всегда субъективная оценка. И так не только в нашей с вами айтишечке. Стадион/завод/дом/мост также строят по примерной оценке плюс риски. А в рисках может быть и x2 и больше.
Спасибо за историю.
А почему не брали оплату вперёд? На сколько помню 2010-ые - тогда это было действительно не модно, доверия к интернет-площадкам особо небыло, но это могло стать выходом из ситуации с кассовым разрывом, а также снизило бы число заказов и возвратов.
Важно уточнить, правда ли я не могу на что-то повлиять, или я просто привык так думать. А забор и правда стоит починить.
Расскажите подробнее где и как тормозят запросы?
17 таблиц, 1300 poi на странице, 50K записей в хранилище... боюсь гадать на кофейной гуще, но кажется нагрузка не в объёме данных и проблема не в типе хранилища.
Я бы посмотрел:
где именно проблема: в бд или в прослойке, так как если браузер показывает pending - это ещё не значит что проблема в бд.
на суммарное количество запросов в бд, возможно не решена n+1.
на структуру запросов, возможно join`ы оптимальнее разбить на отдельные запросы с lazy-load.
банальные индексы не там и не те, лишние сортировки или limit/offset.
на математику внутри запросов, для расчёта попадания координат в область есть стандартные методы.
возможно грузить стоит отдельно координаты для отображения на карте, а отдельно - детальную информацию для просмотра.
Имхо, методики scrum и прочие из семейства - помогают менеджерам как-то контролировать не до конца понятную им область, держать руку на пульсе и корректировать направление как можно раньше. Программистам тоже помогают, но в другом: научиться общаться "словами из рота" и слышать друг друга.
На сколько рьяно следовать каждой из методик - уже зависит от команды и от самого менеджмента, вечный баланс между "шашечки" и "ехать".
Продуктовая и заказная разработка - это два разных мира. Фриланс по проектам на пару месяцев не особо учит вести большие и сложные проекты. Фриланс даст какие-то азы, но лучшее подтверждение опыта - что вы год проработали в серьёзном проекте.
Просите денег по рынку, ну или по своим затратам, в первый год это не важно, гораздо ценнее получаемый опыт. Однако имейте в виду, что повышать зарплату без смены места работы тяжелее, чем вместе со сменой. места. Вдруг захотите остаться)
Смотрите на компании, где будете делать основной продукт, который приносит ощутимую долю прибыли компании. Не нужно "чинить принтеры" (со всем уважением к товарищам). Кстати, это не только it касается.
Ноунейм компании тоже делают классные продукты, почему нет)
HR-ы просто хотят найти подходящего кандидата. Какого - никто не знает. Будьте честны и открыты. Но никто не любит совмещение и непонятный рабочий день. Если вы учитесь, не предлагайте работать между парами.
Я работал на первом курсе, на втором уже работал программистом в ноунейм конторе. Всё реально, если оно вам действительно надо. Но профильное образование всё же лучше.
На фрилансе редко делают упор на качество, да и учиться особо не у кого. Учиться лучше у людей с опытом, чем "по книжкам".
Вуз имеет место в части компаний. Делать приложухи можно без вуза. Расти вглубь и по карьере без вуза сейчас уже тяжелее. Совсем без вуза - не попадёте под всевозможные blue card.
Алгоритмы модно спрашивать, поэтому спрашивают. Может и не пригодится в работе, но олимпиадные и алгоритмические задачи ещё никому не вредили, тут стоит поупражняться.
Врать - а какой смысл? Вот возьмут вас, через месяц расстанетесь - только время потеряете и трудовую замараете. Вы выбираете работодателя точно также как и он вас. Ищите того, кто вам подходит и сможет вам что-то дать, кроме денег конечно.
Желаю удачи!
А почему не создали свой чат? Пусть миллион первый, но по-моему люди активно вступали куда угодно. И конверсия в рамках мессенджера проще.
Алиса повторяет, если ей сказать "что?"
Даже есть баг на эту тему, в режиме разговора:
Алиса: - А знаете что такое ____?
Я: что?
И далее Алиса тут повторяет вопрос, вместо того чтобы продолжить общение
upd: проверил, в режиме "придумай" так не сработало.
Использую именно такое разделение на уровни, с одним лишь дополнением, Lead не просто может спихнуть, а знает кому из сотрудников лучше отдать ту или иную задачу, кому что интереснее и кто сделает качественнее)
Такое разделение называется high context и low context communication. Говорят что эти принципы также являются национальными чертами.
Релиз здорового человека, спасибо вам! За маркдаун — два плюса в карму. За уровни сложности — ещё один. За тёмную тему заготовил грузовик плюсов)
Смутил вывод что "их особенно-то никто и не разрабатывал", имхо это всё же следствие. Нам преподавали что троичные компьютеры просто выходили сложнее и дороже. И охотно верю, что в те времена было проще сбегать-посмотреть заряжена ли ячейка, чем измерять на сколько и каким зарядом.
И отдельный вопрос - хранение заряда разного полюса в соседних ячейках на магнитной ленте. А ещё были перфокарты, где небыло "наполовину-дырок", так что двоичность вроде как оправдана.
Дело в том, что
memory_get_usage
показывает объём используемой памяти в текущий момент. У нас тестируемым является колбэк, который запускается, использует какое-то количество памяти, потом завершается, и в этот момент объём памяти высвобождается, поэтому в результате колбэка мы видим ноль.Вариантом является тестирование через memory_get_peak_usage, так как тут мы увидим не текущее, а максимальное пиковое потребление.
Мои изыскания можно посмотреть тут:
https://github.com/dekmabot/runtime-comparison/blob/test-memory/src/Metrics/Memory.php
Остановился в решении на том, что нужно сбрасывать максимальное потребление между вызовами. И такой метод есть: memory_reset_peak_usage, но он появляется только в php8.2, поэтому внедрять его сейчас в библиотеку наверное рановато. А другого способа сбрасывать я не нашёл.
Помню на курсе педагогики про малышей нам рассказывали, в первые годы жизни ребёнка его органы, мышцы и области мозга развиваются последовательно с точностью до недель, на что влияет наличие внешних факторов, например если 3-4 месяц жизни ребёнка приходится на лето и малыш получает больше солнца и витамина D, то сильнее развиваются определённые направления. Тут же проводили параллели со знаками зодиака, что описанная в них специфика характера разных знаков как раз и обуславливается календарным месяцем, когда у ребёнка протекал тот этап развития, который влияет на эту черту характера.
Признаюсь, отношусь скептически к этой теории, так как знаки зодиака в разных широтах одинаковые, а климат разный.
Пс: теперь я знаю почему не стал футболистом, месяц не тот!
Если не запустится, скажут пошутили
Это решение не про бенчмарки, на сколько я понял автора, а про "сравнить мои решения между собой" по времени на глазок и выявить явного лидера. Даже "winner/loser" как бы намекают на несерьёзность :)
Если бы мне нужно было сравнение в изолированной среде с нормальным распределением, замерами памяти, сети и io, я бы выбрал другое решение, и потратил бы на него больше времени.
Простой и полезный скрипт, спасибо, часто провожу подобные тесты на коленке, взял на вооружение.
Столкнулся с округлением на маленьких значениях, попробую предложить pr, возможно с
show($precision)
, округляя уже на этапе вывода статистики.Та приятная часть разработки, на которую обычно не хватает времени.
Видимо, нам всем показалось.
Или как google wave, даже лого похож