Pull to refresh
70
0
Александр Календарев @akalend

Ламер с 20 летнем стажем

Send message
un1t А у нас в фирме, на оборот, менее 30 лет — рассматривают за редким исключением, средний возраст программиста 35, тестера 22.
так что с тобой — полностью согласен
согл, есть возрастная дискриминация… особенно на позиции джуниоров.

какой у тебя город?
Если человек адекватен он уживется в любом нормальном коллективе и возраст будет не помехой.

По опыту скажу, что вполне нормально уживался с 25-30 летними ребятами. Сейчас, когда мне через пару-тройку месяцев будет 55, я нахожу меньше тем… Так же со всеми в коллективе, обсуждаю и сериалы, и книги, и автомобили… Может, быть только, раньше сваливаю с корпоратива… А мне, он и в 40 не так был интересен.
Очевидно, приходит время — передавать опыт…
С возрастом, с приходом опыта, ты работаешь немного в другой плоскости, хотя разработкой тоже занимаюсь.
и еще один тезис «Программирование — это прежде всего призвание, а не профессия, это стиль жизни...»
А, может я живу — не правильно… не как все, но моя жизнь интересна, хотя и полна багов, как и всякая программа…
rikert ls18
Истории как таковой нет… все банально: Я офицер Вооруженных Сил СССР, служил в Космических войсках (тогда они как отдельное соединение не существовали, но управление соединения было подчинено Генштабу непосредственно), когда все стало рушиться ушел из армии на..., в общем поступил в аспирантуру. Мне тогда было 30 лет. По окончанию аспирантуры я женился и переехал в Питер. Далее еще несколько лет проработал на Государство, заработал пенсию и потом решил заниматься тем, что интересно в жизни. Так как предыдущие проекты были связаны с интернет (но моя роль была больше по части согласования документов), то я ударился в тогда, начинающую развиваться, WEB отрасль.

Программирование мне было интересно со школьной скамьи… Мой отец преподавал кружок программирования, тогда мы программировали на перфокартах… правда кружок через пару занятий заглох. Но, мой интерес активно проявился на первом курсе. Я начинал на таких машинах. В армии я работал в основном в отделе обработки информации, там на БК-10, если кто помнит такой комп сделал программу оперативной обработки телеметрии. Это моя комната в общежитии, справа на столе — БК-010, телевизор Электроника использовался для вывода вместо дисплея.

В общем, профессионально создавать программы я стал начиная с 34-35 лет… Работал в разных студиях, потом ушел в один проект и понял, что просто клепать сайты — не интересно. Потом меня пригласили делать соц.сеть, Соц.сеть так и не взлетела, зарплату мне там не выплатили за 3 мес, но я считаю, что там я поднялся как специалист. Там, мы стали одними из первых в РФ (Первый по моим данным был Макс Лапшин) кто стал использовать RabbitMQ. В этом проекте я реализовал PHP расширение… Ну а дальше скилсы стали увеличиваться вместе с интересными проектами… Выступаю на Конференциях… Вот одно из моих последних выступлений

Я согласен с тезисом автора «хочешь иметь хорошую работу — надо изучать матчасть...» Как говорил мой друг по службе (тоже разработчик, основатель собственной компании) «ты Живой — пока бежишь...»
После 30 лет трудоустройство программистом затруднительно.
После 35 лет путь в работу программиста практически заказан.

Ну, это как сказать…
я после 35 стал профессионально этим заниматься… сейчас мне 54 и я востребован
Спасибо, учты в следующих проектах.
Не хочу флейма, но смысл доклада в том, что есть очереди, их можно использовать для этого… и этого… и для реализации этого есть такие и такие инструменты… Это дают то..., а эти это…
как-то так…
Ниже комментарии от Евгения rybakit
из доклада:
То, что я реализовывал — это было еще 4-5 лет назад, тогда такого пакета еще не было. Сейчас появился очень хороший API у Tarantool, если кто пользуется Python, у них API, вообще заточенный под очереди.


rybakit:
Я написал для php библиотеку для работы с очередями больше года назад:
https://github.com/tarantool-php/queue

Вроде вышло неплохо, ссылка на нее добавлена в awesome-php список:
https://github.com/ziadoz/awesome-php#queue

Какие плюшки даем нам пакет Queue? Там есть очереди с приоритетами, такого я больше не встречал нигде среди других серверов очередей.

rybakit:
Вообще, очереди с приоритетами можно встретить во многих реализациях. Вот, например, довольно популярный Beanstalkd, с которого был скопирован API для тарантуловской очереди:
https://github.com/kr/beanstalkd

Я сам реализовывал очереди с приоритетами (по времени) для многих бэкедов (redis, mondo, db и тд):
https://github.com/rybakit/phive-queue#queues

Спасибо за интересные комментарии, в общем для меня было сюрпризом, что доклад попал в лучшие…
как продолжение, есть слайды с митапа "10 рецептов готовки кролика"
Лет эдак 10-12 назад по интернет ходила история, в которой один наш аспирант, учившийся в Токио в течение 2ч лет пытался устроиться в Google. Статья в блоге написана с долей иронического юмора, как он прошел два или три собеседования… но и к тому времени не получил результата. Это очень похоже на болезнь всех больших холдингов.

Мой знакомый проходил три собеседования, пока его не взяли в Яндекс, но взяли в другой отдел…

Что по моему опыту, то мне однажды по почте пришло предложение поработать в проекте по разработке распределенного хранилища данных Гугла. Я имел вполне вменяемый по теме разговор по скайпу, но меня подкачал мой инглиш. Как говориться: знал бы прикуп инглиш жил бы в Сочи Лосс Анжелесе.

А с другой стороны, надо помнить, что хорошо там, где нас нет…
Интересно как это работает спустя 3 года,
хочу разочаровать автора… так как, когра её читал ранее, то знал об асинхронности на много меньше :)
так как предлагает делать автор —

Был найден wrapper для librabbitmq на perl. К счастью, nginx умеет embedded perl.

ТАК ДЕЛАТЬ НЕЛЬЗЯ!!!

librabbitmq — это блокируемая библиотека, её НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ КАК МОДУЛЬ NGINX,
как вариант, возможно только через upstreem с подзапросами.

Я тоже, лет 5-7 назад страдал написанием модулей под nginx с блокирующими сокетами. Со временем понял ашыпки…

Сейчас, единственное решение — это использование модуля OpenResty Stomp https://github.com/wingify/lua-resty-rabbitmqstomp с установкой STOMP плагина в RabbitMQ.

Модуль https://github.com/AlanWangWP/nginx-rabbitmq тоже использовать нельзя, так как использует librabbitmq-c.

Ответ немного не в тему,
в статье прямым текстом сказано, не хотелось бы вводить новую сущность, а редис уже активно используется, да и потом, mosquitto опять через nginx проксировать надо.

Если бы можно было заменить редис, то я бы поменял его на Tarantool, и поженил бы Tarantool с web-сокетами.
Tarantool и кеширование данных, и сервер очередей, и прямое общение с nginx и поиск по гео-индексу и все в одном флаконе
Конечно, проблемы нет открыть еще один порт, но как бы правильно, что все что связано с HTTP было на 80 порту.
Честно говоря, у меня ответы от внешнего сервиса приходят не так быстро, по этому одновременно находится где-то 100-200 клиентов, специально не считал.

машина: 2 процессора Xeon E5-2620v3 2.0 ГГц 12 ядер: nginx + php + redis + MySQL

Я подумаю, как лучше провести нагрузочное тестирование, и сообщу результаты. Тут свои проблемы: подакшен нагружать нельзя, а на площадке разработчика — получатся другие данные. Очевидно, цель узнать, будет ли держать более 10К? Для этого сильный процессор не нужен… Попробую запустить туеву кучу клиентов…

А можно вообще заточить все под свои нужды, используя https://github.com/warmcat/libwebsockets будет быстрее и могу реализовать даже без Редиса, но надо ли оно, если трудозатраты на разработку lua скрипта ушло 1-2 дня.

А теперь, подумай, как будешь не нагружая nginx проксировать на postHawk? Использовать другие порты, как -то не кошерно, и поднимать еще один сервер и пулить на поддомен, тоже как -то не вариант.
> что бы убедиться что…
параллельное выполнение запросов в БД
Проверял, точно не падает?
когда тестировал, у меня упало…

используя неблокируемое соединение — не обязательно делать несколько воркеров,
тут совсем другой код…

если кто и проверял — путь выложат код в студию…

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Software Architect, Database Architect
Lead
From 325,000 ₽
PostgreSQL
Golang
C++
Python
Database
Designing application architecture
Creating project architecture
Database design
Object-oriented design
Code Optimization