en
Feedback
Лаборатория Математики и Программирования Сергея Бобровского

Лаборатория Математики и Программирования Сергея Бобровского

Open in Telegram

ЛаМПовое с Бобровским

Show more
1 413
Subscribers
No data24 hours
-17 days
+630 days
Posts Archive
Дико уважаю: I started BPS.space almost 7 years ago in the fall of 2015 with the goal to propulsively land a model rocket. I had no background in aero, EE, coding, etc so it took a lot of trial and error, but today I finally stuck the landing

Если вы не можете записать что-то на русском языке, вы не сможете это запрограммировать.

Есть ли перспективы у no-code? Нет, абсолютно. Потому что в этой темке не бывает никаких революционных изобретений. Это просто поиск компромиссов между универсальностью и простотой UI, стараясь угодить выбранной рыночной нише. Вдобавок за этим стоит, очевидно, достаточно объёмный код, и этот легаси-хвост сильно затрудняет быструю подстройку под нужды разных клиентов. А агрессивная монетизация даёт в основном саморазрушительный эффект. Расходимся, в no-code вообще не на что смотреть. А вот low-code, где есть хотя бы немножечко кодинг, перспективно однозначно. Причём чем визуальнее тут программирование, тем лучше, как в squeak например -- потому что сегодня это направление очень сильно взлетает и в профессиональной разработке, на моём новом формате занятий "hard work" будем это обязательно изучать.

Хорошая новость, что симпатичный курс HighLoad Junior о котором я говорил недавно: "От организаторов конференции Highload++, и я его раньше рекомендовал. Однако, сервис по обучению highload от мастеров highload сам по себе оказался крайне ненадёжным и очень хрупким :)" вроде бы ожил: пришла рассылка, в которой (вроде бы) все активные ссылки на материалы наконец-то рабочие. Правда, highload.guide/blog/ слегка зависает, но это же мелочи для русского хайлоада? :)

Время срочно записывать Carbon в свои скиллы :)
Время срочно записывать Carbon в свои скиллы :)

Когда вы разрабатываете ТЗ для некоторой системы, есть обязательные мета-требования, подходящие практически к любой предметной области: - пользователям должны быть везде доступны undo/redo; - "пакетные" операции на клиенте ("автоматизация" пользовательской работы: макро, настраиваемые хоткеи....); - управляемая сборка мусора; - создание моментальных снимков состояния системы (условный сэйв/лоад в любой момент времени, а не то что в автосимуляторах, когда во время гонки невозможно сохраниться); - синхронизация состояний; - ребейзинг по истории изменений с возможностью просмотра дифов. Если вы их не добавите, это значит, что вы создаете софт, которым сами не захотите пользоваться.

Будущее редакторов для программистов уже тут: tylr.fun

Hazel is a live functional programming environment that is able to typecheck, manipulate, and even run incomplete programs, i.e. programs with holes. Вот это действительно Наука, а не эти ваши кококопилоты )))

Между прочим, интерфейс AutoCloseable из Java 7, методы наподобие File.open в Ruby, паттерн RAII в Rust и C++, и даже хаскелевская bracket -- это всё один и тот же мета-паттерн, впервые реализованный как макро with-open-file в Common Lisp в 1980-х годах. Разбираем его в очередном материале в СильныхИдеях.

"Top Competitive Programmer vs. LeetCode's HARDEST Questions" ))))) "Top Competitive Programmer vs. FAANG Interview Questions" тоже хорошо. Чем чище (в буквальном смысле) ваше вычислительное мышление, чем больше в нём абстракций и математики, тем легче вам будет справляться с детским садом собеседований, даже с незнакомыми темами, просто потому что они будут для него "конструктивно" просты. А вот стиль кодирования у парнишки совсем слабенький, у меня ребята после начального курса "28 задач" такой кривой код уже не пишут. Поэтому к его рекомендациям за пределами спортивного программирования рекомендую относиться с большой опаской :)

Задачка, которую 99% гуманитариев решают правильно, а 99% программистов ошибаются. Строка "x+(x-x)+x" палиндром? (никакого подвоха в плане кодировок символов и т.п.) Спойлер: нет.

Многострадальный Python превратили ещё и в функциональный язык.

...то странное чувство, когда как обычно внезапно закончились минуты на GitLab CI/CD, а оплата долларами теперь традиционно сильно усложнена, и в результате вся система у знакомых пацанов встала почти намертво ))) Остаётся импортозамещённый cicd яндекс, причём они даже вроде с GitLab как-то совместимы, хотя там честно говорится, что "Пайплайн CI/CD сложно применять для больших и сложных монолитных систем". Так CI/CD как раз и нужны именно для таких систем в первую очередь ) Маленькие и несложные монолиты полезно как раз вручную обслуживать.

Фишка из web3 — как организовывать журналирование без, например, SS-таблиц или LSM-деревьев, когда ноды могут покидать сеть и возвращаться в неё произвольно по своему усмотрению: брать цепочку proof-of-work в качестве целостной и доказанно корректной информации о том, что произошло, пока узла не было в онлайне.

Доктор философии скрестил ежа с ужом Питон с Лиспом. Получилось очень забавно.

Джуниоры нужны всё меньше? "Storyboard Programming" разработана в Массачусетском технологическом институте нашими с вами друзьями. Автоматическая генерация кода, реализующего операции над различными структурами данных (чем мы на курсах по АСД занимаемся вручную) на основании картинок, которые программист рисует мышкой "интуитивно" (квадратики и стрелочки) и добавляет примеры ввода-вывода. Тут есть видео, как это происходит. А брат этого товарища занимается разработкой фреймворка синтеза программ, который оптимизирует сам себя, и умеет генерировать formula simplifiers под конкретные предметные области. В СильныхИдеях сделаю небольшой разбор этой темы, которая в наших прозаических целях очень важна прежде всего тем, что, как показано математически, даже сильно сложные функции (логику) в повседневном кодинге можно конструировать из очень небольшого числа строительных блоков, микро-паттернов (на курсах для начинающих, впрочем, делаю на этом особый акцент уже не один год).

Программисту обязательно нужна раздельная/сплит клавиатура: чтобы можно было программировать на пляжном шезлонге (ну или в по
Программисту обязательно нужна раздельная/сплит клавиатура: чтобы можно было программировать на пляжном шезлонге (ну или в подобном "личном" кабинете :). Правда, в магазинах она безумно дорогая, лучше на али заказывать.

Отличное выступление на PyCon 2015: "Beyond PEP 8 -- Best practices for beautiful intelligible code" Distillation of knowledge gained from a decade of Python consulting, Python training, code reviews, and serving as a core developer. Learn to avoid some of the hazards of the PEP 8 style guide and learn what really matters for creating beautiful intelligible code. Классный пример, как 20 строчек кода отрефакторить в 3 строки, да и вообще поразбирайтесь с этим примером, рекомендую. Более подробный разбор этого доклада сделаю для занимающихся у меня, в СильныхИдеях -- про то, что надо прежде всего уметь выявлять общие структуры управления и абстрагироваться от них. На самом деле, подобных паттернов не так уж много (только не путайте их конечно с искусственными "паттернами проектирования"). Усвойте эти принципы, и у вас появится внутренняя сила, которая не позволит вам писать плохой код, и вы будете блистать своими скиллами на собеседованиях и код-ревью :) Ну если только вы не занимаетесь у меня ))) я бы сперва настоял на том, чтобы вы прежде всего исправили магическую константу: жёстко закодированный IP-адрес (мой курс Ясный Код в помощь).

Diagram as Code: рисуем красивые диаграммки питон-кодом. Diagrams lets you draw the cloud system architecture in Python code. It was born for prototyping a new system architecture design without any design tools. You can also describe or visualize the existing system architecture as well.