Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
930 links
ЛаМПовое с Бобровским
Download Telegram
Программировать легко. Трудно это делать вместе с другими людьми.
👍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
PQlite: всеми любимый постгрес можно теперь запущать локально в браузере (3 Мб zip). Причём правильно всё сделали, в WASM-контейнере, как я и рекомендовал :)

(донам рассказываю, уже 12 малоизвестных фич PostgreSQL, на одном котором вы можете развернуть всю инфраструктуру)

P.S. Постгрес в браузере, реакт на сервере... будущее уже тут! 😁
53👍16🔥4😎2
На самом деле тут ответ простой: int* ptr, потому что "int*" -- это тип.
👍50😁15🤔5🔥4❤‍🔥3
Ни один стартап, создающий AI-программистов, не использует их для создания своих сервисов.

Вместо этого они нанимают живых белковых/кожаных, из плоти и крови, и платят им большие деньги.

Не видно пути от статистического LLM-like автозаполнения к уровню мышления человека-программиста. Попытки передать инженерное мышление генератору синтаксиса ничем хорошим не закончатся.

Да, возможно, AI позволяет писать код в два раза быстрее. Но это означает, что кода будет в два раза больше. В два раза больше возможностей для ошибок. В два раза больше работы для команды по пониманию этого кода.
46👍25😁11😎3💯2
Если у вас нету хорошего базиса и знания математики (в нормальных универах по computer science это обязательные темки, как минимум на первых курсах), то задачки корпоративного уровня на условной Java вам будут даваться весьма тяжело. Понятное дело, перекладывать там какие-то джсоны может практически каждый сообразительный человек, но здесь есть золотой такой стеклянный потолок. Если вы не владеете серьёзными математическими скиллами, чтобы решать серьёзные задачи, то вы никогда не придёте к математическому образу мышления. А оно в целом серьёзно меняет то, как вообще работают у вас мозги -- разбирательство с алгоритмами, решение сложных задач, трудных задач. Очень многие компьютерные курсы говорят "Да нафиг вам там математика, идите без математики, туда можно и гуманитариям идти", ну ок.

Начьните хотя бы с сокобана :)
3🔥38👍136😁4❤‍🔥1
У меня в вк 13т дорогих папищеков, поэтому как законопослушный гражданин с 1 ноября сего года я не смогу ↑↑↑ в своих постах указывать, например, ссылку на Chymyst Core (a domain-specific language for purely functional, declarative concurrency, implemented as a Scala library), на реализацию чистой системы типов по Барендрехту (System F) на питончике, на версию браузерного постгреса , к которому прикрутили AI (курсант прислал ссылочку) и т.д. Потому что это не СМИ и не госструктуры. Возможно правда, что авторы этих чудных творений захотят зарегистрироваться в РКН как блогеры.
52😁57🤯9🫡9🤔8👍5
"Модель домена" (предметной области) не равно "модель данных". Если пытаться реализовывать такое отображение напрямую, можно быстро запутаться в множестве зависимостей. По этой причине и кодирование новых фич -- далеко не самое узкое место в больших легаси-базах. Критически важно понимание полного контекста домена и того, как схема БД и кодовая база были написаны именно так, как они была написаны, и по каким причинам. Эти "почему" обычно не документированы и существуют только в виде мистического корпоративного знания :)
105515👍10🤯2👌2