Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
930 links
ЛаМПовое с Бобровским
Download Telegram
Девушка откликнулась на вакансию ↑↑↑ и вот какие вопросы задавали начинающему джуниору:

1. Параметр Generic-класса (всегда ли можем получить класс объекта с помощью getClass() в runtime).
2. Java heap memory: string pool и интернирование строк.
3. Аннотации в Spring (в целом было много вопросов за что какая аннотация отвечает, чем отличаются, в каких случаях что используется).
4. Жизненный цикл бинов.


Ставь китика, если ты миддл-сеньор, и с ходу не можешь на всё это правильно ответить и быстро вспомнить.
🐳82😁48👍7❤‍🔥6🤔4
Много раз замечал, что 98% тех, кто говорит "алгоритмы вам на работе никогда не понадобятся" (и это действительно так), сами как раз очень даже хорошо разбираются в темке АСД (на уровне 1-2 курсов универа).
54🤔13😁6🫡5👏4
Я попросил ChatGPT продолжить "def how_to_sex():" ...
😁6621👍7🤔21
Аналогично и с высшим образованием: 98% тех, кто заявляет "для того чтобы вкатиться в ИТ вышка вам не нужна" (и это действительно так), сами имеют очень даже приличное университетское образование (добавляя при этом "...оно мне ничего не дало", но действительно ли не дало? может, ты сам просто не смог взять?).

По большому счёту, и PhD вам ничего "материального" не даст (кроме прокаченных мозгов). Американский джуниор ("студент") в ИТ получает значительно больше, чем топовые "сеньоры"-математики в computer science -- им готовы платить сущие копейки: 400 рублей в час до вычета налогов :)
🫡39🤔21👍125🔥3
Как правильно изучать C++, если вы по каким-то причинам надумали на него перейти? Например, двинули в геймдев и решили пооптимизировать анрил :)

Начьните изучение с первого официального стандарта C++03 (на самом деле это фактически подправленный C++98). Как хорошо освоите, переходите на C++11, потому что в нём появились лямбды.

И потом на C++20, с акцентом прежде всего на темплейты; они тьюринг-полные, в принципе, уже были исходно, но к 20-й версии стали невероятно круты.

Сделал для начинающих совсем простой и наглядный пример ↑ ↑ ↑
🤔4598🤓5👍4
Для погружения в произведение искусства гарвардский искусствовед Дженифер Робертс советует своим студентам пойти в музей, выбрать картину и смотреть на нее не отрываясь три часа.

Но даже для минимального эффекта фокусировки он рекомендует вглядываться в творение искусства не менее 10 минут.

Программисты, это для вас. Метод пристального взгляда -- вечный N 1 в code review.
Сколько времени надо вглядываться в код, теперь вы знаете.
5513👍8🤔3🫡2
Программировать легко. Трудно это делать вместе с другими людьми.
👍53😁22💯31🤔1
То странное чувство, когда зашёл на разрекламированное piped.video где обещались "те же видео что и на ютубе".

Курсантам кстати подробно поясняю в нескольких материалах, почему эксепшены -- абсолютное зло, и как правильно к ним относиться. Когда они стали идеоматическими в популярных языках, классическое программирование по заветам Дейкстры (автоматические анализаторы кода появились ещё 50 лет назад, потому что поведение программы было чётко детерминированным) превратилось в "весь этот горький катаклизм, который я здесь наблюдаю, и Владимир Николаевич тоже"

Пророческая песенка 21-го года, в тему: "Когда отрубят Youtube"

Я кстати только за: чем меньше/сложнее будут доступны массам качественные образовательные материалы с ютуба, тем значительно выше будут мои доходы 😎

Я выйду из дома во двор
И буду бродить по аллеям
Я стану намного добрее
Когда отрубят You tube
👍52😁15🤔5🏆31
В продолжение темки интеграционных тестов.
Скоро уже выложу в СильныеИдеи подробный материал, какие для них будут 7 критериев, и при чём здесь философ Витгенштейн )))

Всем же порекомендую сервис pact.io

"Integration testing done properly
Fast, easy and reliable testing for integrating web apps, APIs and microservices

Say goodbye to end-to-end testing
Testing microservices shouldn't involve setting up complex end-to-end test environments, creating lengthy integration suites and managing test data. Stop wasting time, and start releasing."
🔥34👍8🤔54😎1
Я ни секунды не сомневался, что слух "скоро ютуб снова откроют" фейк 💯.
А теперь каждый школьник узнает, что такое впн и тор (и уже никогда не забудет).

Спрос на репетиторов и менторов уже к сентябрю, полагаю, взлетит в десятки раз, потому что теперь либо сам тратишь кучу времени на поиск нужного и возню со всем этим, либо платишь.

Отечественные же видеосервисы, ну не знаю кстати, чего уж их так ругают (если не вспоминать про алгоритмы рекомендаций :), по мне вполне норм. Но у них у всех есть абсолютный недостаток: они не позволяют легко и просто скачать целиком в свой логин любой ролик с ютуба, парой кликов (типа. скопипастил урл любого публичного видео, и всё).
У некоторых есть какие-то режимы импорта (по-моему, только плейлист или канал с ютуба, что совсем неудобно), для ВкВидео вообще какой-то самопальный, а сейчас они все не работают, т.к. создавались для режима, когда ютуб таки был нормально доступен.

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

И второе: разрешить монетизацию "трофейных" роликов авторов из недружественных стран. Любой ролик американского/французского/немецкого... автора я должен иметь возможность скачать на русский сервис силами самой площадки "без впн", встраивать в него рекламу и получать рублики исключительно себе.

Но такого конечно не будет: очень уж у нас любят "оглядываться на Запад/как бы чего не вышло", а он откровенно плюёт в ответ.

P.S. На картинках качество работы фронтендеров российских площадок. На втором кнопка "Ок" в окне "разреши куки" закрыта сверху плашкой контактов, и нажать её ну никак не возможно :)

P.P.S. Как вариант, скачиваешь себе/в облако видосы по впн, и потом грузишь на российский хостинг, если долго/часто планируешь смотреть. Процесс этот автоматизируется ботом легко и просто.
Вот посмотрите, закачал видосик про братков в гетто :)
👍3814😁7🤔75
Такое мы одобряем: plainvanillaweb.com

An explainer for doing web development using only vanilla techniques. No tools, no frameworks — just HTML, CSS, and JavaScript.
🤔499🔥65😎1
Товарищи тимилиды и сеньоры, напоминаю, сейчас самое время набросать команде побольше тикетов на понедельник.
🫡44😁23👍7🤔41
Любая система немного сложнее CRUD и перекладывания JSON эволюционно развивается в направлении примитивной реализации модели акторов (независимо от того, что планируют её создатели :). Поэтому лучше сразу начинать с наиболее правильных подходов.
❤‍🔥35🤔18👍144😎1
Реклама выдала оффер от Я-Банка ↑↑↑
В нём всё прекрасно и минималистично, и по форме, и по содержанию.

Prometheus (метрики) + Grafana (дашборда) добавил для практики в "дипломный" проект. Между прочим, в .NET 8 нечто подобное уже встроено:
ASP.NET Core metrics and Grafana dashboards
и доступно из F#.

В тему, от курсанта (не из Я):

..."при протухании токена некоторый сервис, разработанный другим подразделением банка, выдавал ответ со статусом 200, вместо стандартного 403. Я долго не мог понять, в чем проблема при разработке новой фичи, потому что по умолчанию в той библиотеке, которую я использовал, ошибочными статусами считаются все статусы с 400 по 500. В итоге спросил у коллег, как с этим быть, и оказалось, что нужно было перехватывать информацию, которая шла вместе с этим статусом, и при наличии определенных данных, подменять статус 200 на статус 403, чтобы обрабатывать его корректно."
😁55🤔126🐳4❤‍🔥2
Между прочим, GNU Assembler под Unix умел в хвостовую оптимизацию за десятилетия до появления функциональных языков программирования.
👍58🤔86😁21
В C# появятся Type Unions, а в F# -- Interfaces with static abstract members.

Резюме, что C# плавно превращается в F# :)

А куда движется Java? (риторическое)
👍46😁14🤔951
Один из лучших советов, который вы когда-либо получите по поводу понимания легаси-кода, такой: данные важнее кода.

Следуйте потоку данных в программе, а не потоку управления, это помогает быстрее разобраться в логике. Найдите ключевую структуру данных и проследите, куда и как. Поэтому, в частности, полезно уверенно знать АСД. Вам скорее всего они не понадобятся, но очень вероятно, что над большой легаси-базой работали программисты высокой квалификации, которые стремятся к декларативщине.

Корни этого подхода уходят в классику "Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs" Джона Бэкуса. Приверженцами данного подхода были Эдсгер Дейкстра, Питер Норвиг и немало других святых computer science.

Естественнее всего этот подход получается в ФП.
65👍12🫡31
Наши лучшие блогеры на сегодня 👍👍💥💥

Из новеньких, рекомендую подписаться на Веронику Алексеевскую "Mama Java".

Блоги для программистов -- это как комментарии в коде. Большинство их не читает, но те, кто читает, понимают, что без них было бы гораздо сложнее жить.
👍525🔥2😎1