Яндекс.Такси выложили задачи чемпионата по программированию для бэкендеров:
https://habr.com/ru/company/yandex/blog/483624/
Примечательны 2 вещи:
- примеры реализации на плюсах
- питонистам дают лимит на время работы программы до 20 раз больше, чем всем остальным
Бесполезный факт: при поиске python в картинках гугла, первая подсказка - monty
https://habr.com/ru/company/yandex/blog/483624/
Примечательны 2 вещи:
- примеры реализации на плюсах
- питонистам дают лимит на время работы программы до 20 раз больше, чем всем остальным
Бесполезный факт: при поиске python в картинках гугла, первая подсказка - monty
Минфин США ужесточил правила инвестирования для иностранцев
https://www.rbc.ru/economics/14/01/2020/5e1d60109a79472644d4a38e
https://www.rbc.ru/economics/14/01/2020/5e1d60109a79472644d4a38e
Шеймить рубистов уже даже как-то скучно, они сами с этой задачей отлично справляются.
Олег дал ссылку на историю преодоления от Digital Ocean: от 15000 коннектов к базе до 100.
На RoR.
https://news.1rj.ru/str/oleg_log/2652
На счет того, что снаружи все хорошо - даже близко нет.
Подпишитесь ради интереса на rss DO с информацией о проблемах. Через несколько дней отпишитесь, тк надоест.
Мы почти день убили, разворачивая новый проект, пока не стало понятно, что у них в dns не попадают хосты managed баз.
И самое забавное, что в этот момент у них сломалась страница со статусом :)
Веселый тамада и конкурсы интересные...
Я, конечно, понимаю, что хипстерский интерфейс кабинета придает ощущение спокойствия и надежности, не то что этот ваш aws с интерфейсом из 90ых, но так вас распротак, почти 10 лет проекту, крупнейших сервис провайдер...
Моя позиция относительно ORM известна, и RoR тут не исключение - это рак индустрии.
Уверен, что еще кучу позорных подробностей, типа хранения агрегатов в elasticsearch, они не рассказали.
Возможно, расскажут потом, как еще одну success story.
Может, конечно, это трагические совпадения, но такие камингауты мне попадаются только от рубистов.
Вероятно, что когда человек начинает считать что у него идеальный язык программирования, он попадает в пузырь зоны комфорта и перестает развиваться. Все рубисты, которых я видел, считают Ruby идеальным и в голос ржут над всеми остальными программистами.
А когда ты перестаешь развиваться, получается вот такое, с 15000 коннектов.
Олег дал ссылку на историю преодоления от Digital Ocean: от 15000 коннектов к базе до 100.
На RoR.
https://news.1rj.ru/str/oleg_log/2652
На счет того, что снаружи все хорошо - даже близко нет.
Подпишитесь ради интереса на rss DO с информацией о проблемах. Через несколько дней отпишитесь, тк надоест.
Мы почти день убили, разворачивая новый проект, пока не стало понятно, что у них в dns не попадают хосты managed баз.
И самое забавное, что в этот момент у них сломалась страница со статусом :)
Веселый тамада и конкурсы интересные...
Я, конечно, понимаю, что хипстерский интерфейс кабинета придает ощущение спокойствия и надежности, не то что этот ваш aws с интерфейсом из 90ых, но так вас распротак, почти 10 лет проекту, крупнейших сервис провайдер...
Моя позиция относительно ORM известна, и RoR тут не исключение - это рак индустрии.
Уверен, что еще кучу позорных подробностей, типа хранения агрегатов в elasticsearch, они не рассказали.
Возможно, расскажут потом, как еще одну success story.
Может, конечно, это трагические совпадения, но такие камингауты мне попадаются только от рубистов.
Вероятно, что когда человек начинает считать что у него идеальный язык программирования, он попадает в пузырь зоны комфорта и перестает развиваться. Все рубисты, которых я видел, считают Ruby идеальным и в голос ржут над всеми остальными программистами.
А когда ты перестаешь развиваться, получается вот такое, с 15000 коннектов.
А еще у Ruby On Rails есть twitter-аккаунт. Там 137к подписчиков и ему 13 лет.
Знаете как я об этом узнал?
Полез искать после того, как твиттер мне любезно рассказал про аккаунт expressjs, который завели сегодня и там уже 1к подписчиков.
Ruby on Rails
@rails
Imagine what you could build if you learned Ruby on Rails…
быгыгы :)
Знаете как я об этом узнал?
Полез искать после того, как твиттер мне любезно рассказал про аккаунт expressjs, который завели сегодня и там уже 1к подписчиков.
Ruby on Rails
@rails
Imagine what you could build if you learned Ruby on Rails…
быгыгы :)
На хабре сеанс магии с разоблачением:
https://habr.com/ru/post/483864/
400 коментов и несколько отдельных постов.
Если коротко: go молодец, js почти молодец, haskell совсем молодец.
python, ruby, php, c# не нужны :)
java и rust пусть будут.
https://habr.com/ru/post/483864/
400 коментов и несколько отдельных постов.
Если коротко: go молодец, js почти молодец, haskell совсем молодец.
python, ruby, php, c# не нужны :)
java и rust пусть будут.
Хабр
Быстрее, чем C++; медленнее, чем PHP
Привет, Хабр. У меня тут случайно код на хаскеле получился быстрее аналогичного кода на C++. Иногда — на 40%. (время работы, меньше — лучше, C++ снизу) Что самое смешное — я собирал хаскель-код через...
Forwarded from Pankratov daily
This media is not supported in your browser
VIEW IN TELEGRAM
В @ctodailychat подняли вопрос повышения квалификации и подготовкам к интервью при смене работы.
И если для молодых разработчиков смена работы довольно привычный паттерн, то для людей постарше это может быть проблемой. Особенно, когда работаешь 10 лет на одном месте.
Собрал все ссылки в кучу, добавил своих.
Подготовка к интервью
• cracking the coding interview (https://news.1rj.ru/str/techskill/1737 - перевод)
• https://www.interviewcake.com/
• https://www.pramp.com/
• https://www.geeksforgeeks.org/
• https://www.educative.io/
• https://www.careercup.com/
• https://github.com/jwasham/coding-interview-university
• https://github.com/MaximAbramchuck/awesome-interview-questions/
• https://github.com/yangshun/tech-interview-handbook
Челенджи и практика программирования
• https://www.hackerrank.com/
• https://leetcode.com/
• https://www.codewars.com/
• https://www.topcoder.com/
• https://checkio.org/
• https://www.codingame.com/
Алгоритмы, законы, шаблоны и тд
• https://refactoring.guru/
• https://www.algoexpert.io/product
• http://e-maxx.ru/
• https://informatics.mccme.ru/
• Learn how to design large-scale systems. Prep for the system design interview. https://github.com/donnemartin/system-design-primer
• Законы, теории, принципы и модели, которые полезно знать разработчику. https://github.com/solarrust/hacker-laws
• http://aosabook.org/en/index.html
И если для молодых разработчиков смена работы довольно привычный паттерн, то для людей постарше это может быть проблемой. Особенно, когда работаешь 10 лет на одном месте.
Собрал все ссылки в кучу, добавил своих.
Подготовка к интервью
• cracking the coding interview (https://news.1rj.ru/str/techskill/1737 - перевод)
• https://www.interviewcake.com/
• https://www.pramp.com/
• https://www.geeksforgeeks.org/
• https://www.educative.io/
• https://www.careercup.com/
• https://github.com/jwasham/coding-interview-university
• https://github.com/MaximAbramchuck/awesome-interview-questions/
• https://github.com/yangshun/tech-interview-handbook
Челенджи и практика программирования
• https://www.hackerrank.com/
• https://leetcode.com/
• https://www.codewars.com/
• https://www.topcoder.com/
• https://checkio.org/
• https://www.codingame.com/
Алгоритмы, законы, шаблоны и тд
• https://refactoring.guru/
• https://www.algoexpert.io/product
• http://e-maxx.ru/
• https://informatics.mccme.ru/
• Learn how to design large-scale systems. Prep for the system design interview. https://github.com/donnemartin/system-design-primer
• Законы, теории, принципы и модели, которые полезно знать разработчику. https://github.com/solarrust/hacker-laws
• http://aosabook.org/en/index.html
Написал еще один лонгрид. На этот раз про тестирование логов. Меньше шейма, больше пользы :)
zen: https://zen.yandex.ru/media/id/5e0fbc35fe289100b0003310/testiruem-logi-5e22f9c4dddaf400b2813019
medium: https://medium.com/@antonrevyako/%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D1%83%D0%B5%D0%BC-%D0%BB%D0%BE%D0%B3%D0%B8-c56a409f74f0
zen: https://zen.yandex.ru/media/id/5e0fbc35fe289100b0003310/testiruem-logi-5e22f9c4dddaf400b2813019
medium: https://medium.com/@antonrevyako/%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D1%83%D0%B5%D0%BC-%D0%BB%D0%BE%D0%B3%D0%B8-c56a409f74f0
Основная музыкальная тема из нового сезона «Молодого папы»:
https://youtu.be/fvKa-Ll9Ers
Джуд Лоу, Джон Малкович, Шэрон Стоун, Мерлин Мэнсон. Это ли не прекрасно?
https://youtu.be/fvKa-Ll9Ers
Джуд Лоу, Джон Малкович, Шэрон Стоун, Мерлин Мэнсон. Это ли не прекрасно?
The State of Software Engineers
https://hired.com/page/state-of-software-engineers/
Несколько халайтов:
• Рост спроса на блокчейн-инженеров - 500%
• Хочешь в SF или Лондон - учи TypeScript, а в NY не надо - там рубисты :)
• Никто не любит php
• Табы побеждают пробелы
• Профильное образование имеют меньше половины разрабов
• Все хотят разобраться с ML
https://hired.com/page/state-of-software-engineers/
Несколько халайтов:
• Рост спроса на блокчейн-инженеров - 500%
• Хочешь в SF или Лондон - учи TypeScript, а в NY не надо - там рубисты :)
• Никто не любит php
• Табы побеждают пробелы
• Профильное образование имеют меньше половины разрабов
• Все хотят разобраться с ML
Говорят, с переводом проектов с закопанной второй ветки python на третью возникают проблемы:
http://www.opennet.ru/opennews/art.shtml?num=52184
Если я ничего не путаю, похожие качели были у рубистов, когда там впиливали поддержку unicode и в php при переходе с 4 на 5 ветку.
Посмотрим что будет с go во второй ветке :)
http://www.opennet.ru/opennews/art.shtml?num=52184
Если я ничего не путаю, похожие качели были у рубистов, когда там впиливали поддержку unicode и в php при переходе с 4 на 5 ветку.
Посмотрим что будет с go во второй ветке :)
«Я джва года ждал эту игру» (с) корованы
Лет 20 назад фанаты сделали карту для quake (но это не точно), которая копировала главный корпус местного политеха. В деканате сидел босс уровня (это тоже не точно).
Скоро такое можно будет провернуть на совершенно новом уровне качества.
Тормозит пока адски :)
https://news.1rj.ru/str/uxlive/8159
Up: и сразу попалась новость имени #БаадераМайнхоф о дизайнере, который 22 часа моделил свою квартиру:
https://tjournal.ru/tech/137493-amerikanskiy-dizayner-detalno-vossozdal-svoyu-kvartiru-v-virtualnoy-realnosti-i-sdelal-pokadrovoe-sravnenie
Лет 20 назад фанаты сделали карту для quake (но это не точно), которая копировала главный корпус местного политеха. В деканате сидел босс уровня (это тоже не точно).
Скоро такое можно будет провернуть на совершенно новом уровне качества.
Тормозит пока адски :)
https://news.1rj.ru/str/uxlive/8159
Up: и сразу попалась новость имени #БаадераМайнхоф о дизайнере, который 22 часа моделил свою квартиру:
https://tjournal.ru/tech/137493-amerikanskiy-dizayner-detalno-vossozdal-svoyu-kvartiru-v-virtualnoy-realnosti-i-sdelal-pokadrovoe-sravnenie
Telegram
UX Live 🔥
Ещё одну технологию для сканирования реальности телефоном без обвесов завезли
https://www.aboundlabs.com/
https://www.aboundlabs.com/
https://news.1rj.ru/str/korkoma/775
Варианты подписи:
- ваши шансы дожить до сингулярности (её не будет, помните?)
- куда поехать жить на пенсию (если доживете)
- рандомная карта из интернета
Кстати, была уже карта со статистикой дожития до 80 лет:
https://news.1rj.ru/str/nosingularity/86
Варианты подписи:
- ваши шансы дожить до сингулярности (её не будет, помните?)
- куда поехать жить на пенсию (если доживете)
- рандомная карта из интернета
Кстати, была уже карта со статистикой дожития до 80 лет:
https://news.1rj.ru/str/nosingularity/86
Telegram
корк ома
В @ctodaily обещал рассказать про микросервисные фреймворки на nodejs.
Как-то давно у меня был опыт использования фрейморка поверх rabbitmq и это было довольно удобно. Оказалось, есть еще более интересные решения и это - микросервисные фреймворки.
Точкой входа послужил вот этот benchmark: https://github.com/icebob/microservices-benchmark
Естественно, мне захотелось побыстрее и я взял cote ) Да и seneca c moleculer показались более мудреными.
Казалось бы - зачем они нужны? Берешь express и делаешь что хочешь. Но микросервисные фреймворки берут на себя довольно много рутины.
1. Discovery Service. Несколько запущенных микросервисов должны уметь находить друг-друга
2. Message Queuing. Передача сообщений в режиме многие-ко-многим. Если запущенно несколько инстансов сервиса, который получает задачи на выполнение, в большинстве случаев нам хотелось бы, чтоб каждый инстанс получал свое собственное задание и только один раз.
Для реализации этих функций фреймфорки могут использовать redis и nats, но самое интересное что cote умеет обходится без этого. Он основан на библиотеке https://github.com/tj/axon и умеет решать все проблемы по UDP и через мультикаст.
Стартануть на cote можно буквально за 5 минут и это подкупает.
В одном репозитории можно создать 2 части сервиса - http интерфейс и worker’ы. Например, мы хотим по запросу в апи спарсить данные из нескольких источников. В одном репозитории мы имеем и express и парсеры, сделанные как cote.Responder, но при запуске контейнера указываем роль с которой он запускается - http-сервер или парсер и если парсер, то парсер чего именно. В итоге парсеров мы можем поднять нужное нам количество, контролируя это через k8s, а точкой входа будет обычный express роутер.
Так очень удобно разрабатывать. Все типы и классы лежат в одном месте, а логика скейлинга лежит на k8s.
Кроме того, проблемы с роутингом и очередью сообщений нас больше не волнуют.
И да, он очень ООП-френдли и собственные Requester и Responder удобно наследовать от cote-классов.
Тестировать, кстати, оказалось тоже очень удобно. Локально, без всяких микрокубов можно протестить и отдельные Responder’ы и работу всей цепочки микросервисов, запущенной раздельно.
UDP и мультикаст имеют свои темные стороны )
1. можно забыть про service mesh.
2. можно забыть про реализацию микросервисов на других языках с использованием cote. Все внешние взаимодействия придется делать через express.
3. с повтором отправки придется все-таки разбираться самостоятельно.
4. статистику взаимодействий тоже придется пилить самостоятельно. Но для этого есть инструменты.
5. SRE будут вас слегка ненавидеть, когда будут впиливать это в k8s )
Что касается moleculer. Мы переезжали с cote на molecular, и, кажется, единственной причиной были более богатые возможности роутинга сообщений. В cote, вроде бы нельзя создать группы получателей.
Для одной конференции я готовил доклад про микросервисы в nodejs, но доклад не случился ( Оформлю и выложу его лонгридом.
Как-то давно у меня был опыт использования фрейморка поверх rabbitmq и это было довольно удобно. Оказалось, есть еще более интересные решения и это - микросервисные фреймворки.
Точкой входа послужил вот этот benchmark: https://github.com/icebob/microservices-benchmark
Естественно, мне захотелось побыстрее и я взял cote ) Да и seneca c moleculer показались более мудреными.
Казалось бы - зачем они нужны? Берешь express и делаешь что хочешь. Но микросервисные фреймворки берут на себя довольно много рутины.
1. Discovery Service. Несколько запущенных микросервисов должны уметь находить друг-друга
2. Message Queuing. Передача сообщений в режиме многие-ко-многим. Если запущенно несколько инстансов сервиса, который получает задачи на выполнение, в большинстве случаев нам хотелось бы, чтоб каждый инстанс получал свое собственное задание и только один раз.
Для реализации этих функций фреймфорки могут использовать redis и nats, но самое интересное что cote умеет обходится без этого. Он основан на библиотеке https://github.com/tj/axon и умеет решать все проблемы по UDP и через мультикаст.
Стартануть на cote можно буквально за 5 минут и это подкупает.
В одном репозитории можно создать 2 части сервиса - http интерфейс и worker’ы. Например, мы хотим по запросу в апи спарсить данные из нескольких источников. В одном репозитории мы имеем и express и парсеры, сделанные как cote.Responder, но при запуске контейнера указываем роль с которой он запускается - http-сервер или парсер и если парсер, то парсер чего именно. В итоге парсеров мы можем поднять нужное нам количество, контролируя это через k8s, а точкой входа будет обычный express роутер.
Так очень удобно разрабатывать. Все типы и классы лежат в одном месте, а логика скейлинга лежит на k8s.
Кроме того, проблемы с роутингом и очередью сообщений нас больше не волнуют.
И да, он очень ООП-френдли и собственные Requester и Responder удобно наследовать от cote-классов.
Тестировать, кстати, оказалось тоже очень удобно. Локально, без всяких микрокубов можно протестить и отдельные Responder’ы и работу всей цепочки микросервисов, запущенной раздельно.
UDP и мультикаст имеют свои темные стороны )
1. можно забыть про service mesh.
2. можно забыть про реализацию микросервисов на других языках с использованием cote. Все внешние взаимодействия придется делать через express.
3. с повтором отправки придется все-таки разбираться самостоятельно.
4. статистику взаимодействий тоже придется пилить самостоятельно. Но для этого есть инструменты.
5. SRE будут вас слегка ненавидеть, когда будут впиливать это в k8s )
Что касается moleculer. Мы переезжали с cote на molecular, и, кажется, единственной причиной были более богатые возможности роутинга сообщений. В cote, вроде бы нельзя создать группы получателей.
Для одной конференции я готовил доклад про микросервисы в nodejs, но доклад не случился ( Оформлю и выложу его лонгридом.