В 2017-м, в пятницу, в GitLab один из разработчиков, притомившись к концу недели, всё же взялся за сложный тикет, и "случайно" удалил одну из важных баз данных :) При этом актуальная резервная копия как обычно отсутствовала, и восстановление оказалось крайне сложным. Отдохнуть не получилось.
Аналогичный случай в пятницу был и у Knight Capital Group (крупнейший в своё время трейдер США), когда разрабы решили быстренько задеплоить новые фичи на 8 серваков SMARS, однако про один сервер забыли :) В результате посыпалась куча биржевых операций, за 45 минут компания потеряла 440 миллионов долларов, и по дешёвке за 30% продалась Getco. Впрочем, их справедливо обвиняли в спуфинге, так что поделом.
Не знаю, в то время, по-моему, про темки CI/CD, контейнеры и т.п. вообще мало кто слышал. DevOps лет 10-15 назад только-только зарождался.
Пятница: день, когда спрятавшиеся баги пьют кофе, готовя план побега на выходные.
Аналогичный случай в пятницу был и у Knight Capital Group (крупнейший в своё время трейдер США), когда разрабы решили быстренько задеплоить новые фичи на 8 серваков SMARS, однако про один сервер забыли :) В результате посыпалась куча биржевых операций, за 45 минут компания потеряла 440 миллионов долларов, и по дешёвке за 30% продалась Getco. Впрочем, их справедливо обвиняли в спуфинге, так что поделом.
Не знаю, в то время, по-моему, про темки CI/CD, контейнеры и т.п. вообще мало кто слышал. DevOps лет 10-15 назад только-только зарождался.
Пятница: день, когда спрятавшиеся баги пьют кофе, готовя план побега на выходные.
2💯44👍15🔥10😁9❤🔥5
Короче говоря, итог моего скромного тестирования сломанности найма.
Плохая новость: если раньше (3-5 лет назад) на среднее миддловское резюме за день-два приходило столько приглашений, что выбрать хорошее было вообще не проблема, то сейчас нифига вообще не приходит (1000+ показов, 50 просмотров). Мне пришло быстро всего одно, но это скорее всего "программист нужен срочно, сдавать проэкт надо было ещё вчера", с такими вообще не рекомендую связываться ни за какую зарплату, вляпаетесь по уши. Возможно, кстати, что вообще сегодня ждать когда позовут, плохая тактика в целом.
Хорошая новость: я сделал 15 откликов, в 3 отказали, в 5 отклик вообще не посмотрели (в Красное-Белое, эх жаль:), из оставшихся 7 (где просили контакты) в 3 сразу позвали на технический собес (один даже в дискорде:). В одном даже зарплату сказали от 160 (+"гарантированно" с премиями от 230).
Да, отказали в частности в "Ъ", но меня их вакансия сразу смутила. Ну ладно, C# T-SQL базовые знания HTML, CSS это норм, но когда ещё хочут до кучи "Опыт работы с TypeScript", ага, фуллстек, да ещё и на TS, щас.
=
При том, что я сделал довольно скромное резюме C# ASP NET, никаких особых деталей, везде откликался одинаково без сопроводительного письма. Опыт 5 лет поставил, надо было уже сеньором хантиться, с ним вакансий ещё больше.
Дальше, на питончике поэкспериментирую.
P.S. всё это на хх, а суперджоб вообще отстой, ни одного отклика, не тратьте время.
Плохая новость: если раньше (3-5 лет назад) на среднее миддловское резюме за день-два приходило столько приглашений, что выбрать хорошее было вообще не проблема, то сейчас нифига вообще не приходит (1000+ показов, 50 просмотров). Мне пришло быстро всего одно, но это скорее всего "программист нужен срочно, сдавать проэкт надо было ещё вчера", с такими вообще не рекомендую связываться ни за какую зарплату, вляпаетесь по уши. Возможно, кстати, что вообще сегодня ждать когда позовут, плохая тактика в целом.
Хорошая новость: я сделал 15 откликов, в 3 отказали, в 5 отклик вообще не посмотрели (в Красное-Белое, эх жаль:), из оставшихся 7 (где просили контакты) в 3 сразу позвали на технический собес (один даже в дискорде:). В одном даже зарплату сказали от 160 (+"гарантированно" с премиями от 230).
Да, отказали в частности в "Ъ", но меня их вакансия сразу смутила. Ну ладно, C# T-SQL базовые знания HTML, CSS это норм, но когда ещё хочут до кучи "Опыт работы с TypeScript", ага, фуллстек, да ещё и на TS, щас.
=
При том, что я сделал довольно скромное резюме C# ASP NET, никаких особых деталей, везде откликался одинаково без сопроводительного письма. Опыт 5 лет поставил, надо было уже сеньором хантиться, с ним вакансий ещё больше.
Дальше, на питончике поэкспериментирую.
P.S. всё это на хх, а суперджоб вообще отстой, ни одного отклика, не тратьте время.
4🤯46✍28👍11🫡6😁2
Напоминаю, дорогие, что у вас осталось всего ДВА-ТРИ дня, чтобы стать доном в группе для неначинающих программистов и получить доступ к материалам СильныхИдей (доступны моим курсантам, но тут расширенные версии, дополненные множеством примеров). На неделе я выложил 4-й материал, и на следующей неделе, после 5-го материала, первый сгорит безвозвратно (и так далее еженедельно), и больше вы его никогда не получите.
Что ценного в этих материалах, можете посмотреть тут.
Вот что произойдёт с теми, кто не станет доном в ближайшие дни, на случай, если вы забыли =>
С каждым днем инфляция становится всё сильнее. Экономическая ситуация ухудшается. Ставка ЦБ уже 20%. Цены на автомобили безумно растут. Про квартиры я вообще молчу.
Всё большему числу компаний всё труднее и труднее оставаться прибыльными, и они будут вынуждены проводить массовые увольнения.
Когда это время придёт, и вы не будете готовы разговаривать с этими компаниями так, как хотите вы,
Если у вас нет возможности успешно проходить собеседование с компаниями высокого уровня на высокооплачиваемыми позиции…
Если вы не в состоянии отделить себя от всех существующих стандартных разработчиков…
ТОГДА ТЕБЯ СЪЕДЯТ ЗАЖИВО.
Вот почему вам нужен не только план действий для богатого программиста, но и поворотный пункт, необходимый для того, чтобы выделиться.
Как только вы получите доступ к бесценным знаниям, которые выделят вас из безликой массы,
Как только вы научитесь держать себя в руках, потому что знаете, как сделать любой проект легко и просто, и сможете уверенно вести переговоры в любой ситуации, независимо от того, каковы ставки…
И как только у вас появится уверенность в том, что вы никогда больше не будете беспокоиться о том, найдёте ли вы высокооплачиваемую работу, потому что у вас есть простые (но малоизвестные и часто контринтуитивные) и кристально ясные знания из computer science, которым нужно следовать…
Тогда вы сможете играть в своей собственной лиге, полностью контролируя свой доход и то, насколько глубинно стабильным на самом деле будет ваше понимание ИТ.
Всего за несколько дней вы можете потерять это всё.
Что ценного в этих материалах, можете посмотреть тут.
Вот что произойдёт с теми, кто не станет доном в ближайшие дни, на случай, если вы забыли =>
С каждым днем инфляция становится всё сильнее. Экономическая ситуация ухудшается. Ставка ЦБ уже 20%. Цены на автомобили безумно растут. Про квартиры я вообще молчу.
Всё большему числу компаний всё труднее и труднее оставаться прибыльными, и они будут вынуждены проводить массовые увольнения.
Когда это время придёт, и вы не будете готовы разговаривать с этими компаниями так, как хотите вы,
Если у вас нет возможности успешно проходить собеседование с компаниями высокого уровня на высокооплачиваемыми позиции…
Если вы не в состоянии отделить себя от всех существующих стандартных разработчиков…
ТОГДА ТЕБЯ СЪЕДЯТ ЗАЖИВО.
Вот почему вам нужен не только план действий для богатого программиста, но и поворотный пункт, необходимый для того, чтобы выделиться.
Как только вы получите доступ к бесценным знаниям, которые выделят вас из безликой массы,
Как только вы научитесь держать себя в руках, потому что знаете, как сделать любой проект легко и просто, и сможете уверенно вести переговоры в любой ситуации, независимо от того, каковы ставки…
И как только у вас появится уверенность в том, что вы никогда больше не будете беспокоиться о том, найдёте ли вы высокооплачиваемую работу, потому что у вас есть простые (но малоизвестные и часто контринтуитивные) и кристально ясные знания из computer science, которым нужно следовать…
Тогда вы сможете играть в своей собственной лиге, полностью контролируя свой доход и то, насколько глубинно стабильным на самом деле будет ваше понимание ИТ.
Всего за несколько дней вы можете потерять это всё.
2❤45✍22👍6🐳4🔥2
Программная инженерия -- это когда вы создали разрозненную архитектуру с микросервисами и очередями сообщений, и она у вас постоянно ломается непонятно почему. А затем Сергей Игоревич подсказывает вам просто убедиться, что везде используется одна и та же версия одной и той же библиотеки сериализации JSON, чтобы дататайм заработал правильно и единообразно по всей вашей системе.
2👍60🔥14🫡7❤2⚡1
Обновлённый список наших блогеров. Добавилось немало новеньких, подписываемся 💥
Несмотря на то, что на сайтах по поиску работы можно находить хорошие вакансии, тем не менее уже лет пять я говорю о том, что подобные сервисы вырождаются и сегодня практически не работают (в выигрыше там прежде всего работодатели, т.к. это всё создаётся исключительно для их интересов).
Вам нужен качественный нетворк! Важность этого разбираю в частности на треке "Элитный программист" (про эхо-камеры).
Трудно выразить, насколько сейчас важна ваша сеть контактов, хоть друзей, хоть профессионалов. Соответственно, крайне важно заботиться о своей сети и регулярно инвестировать в неё реальные ресурсы (время и деньги).
Начьните с прокачки linkedin.
Не помню, у кого-то из топовых американских кадровых консультантов прочитал на днях:
"Блог - это гриб Супер Марио для твоей карьеры" 💯
Несмотря на то, что на сайтах по поиску работы можно находить хорошие вакансии, тем не менее уже лет пять я говорю о том, что подобные сервисы вырождаются и сегодня практически не работают (в выигрыше там прежде всего работодатели, т.к. это всё создаётся исключительно для их интересов).
Вам нужен качественный нетворк! Важность этого разбираю в частности на треке "Элитный программист" (про эхо-камеры).
Трудно выразить, насколько сейчас важна ваша сеть контактов, хоть друзей, хоть профессионалов. Соответственно, крайне важно заботиться о своей сети и регулярно инвестировать в неё реальные ресурсы (время и деньги).
Начьните с прокачки linkedin.
Не помню, у кого-то из топовых американских кадровых консультантов прочитал на днях:
"Блог - это гриб Супер Марио для твоей карьеры" 💯
5❤41👍18✍8❤🔥1💯1
Регулярно читаю подобное:
В будущем нам не понадобятся программисты, только люди, способные описать компьютеру, что именно он хочет сделать, не допуская двусмысленности, не предвидя возможных «слепых зон» и не охватывая все возможные крайние случаи.
Подождите, а разве это не программисты и есть?
Ну вот вы непрограммист, всё описали, как считаете, правильно. На самом деле конечно накосячив кучу непоняток в ТЗ; и опытные постановщики с хорошей практикой программирования на такое с ходу не способны. Ладно когда проект небольшой, а если достаточно крупный? Ведь почему отказались от модели Водопада? Ровно поэтому. Такое ТЗ сделать сложнее, чем сам код написать.
Ок, AI вам выдал 128 файлов и несколько инструкций по запуску. Вы запускаете maven или make из командной строки (ага, щас:)... сюрприз 100500 ошибок сборки.
Но даже если повезло, и нечто запустилось, вы решаете тут подправить, там добавить... Внезапно заканчивается окно контекста и AI понёс пургу. Сейчас надеются на окна в миллионы токенов, но если заказчики выкатят хотелку, которая подразумевает существенную переделку/расширение архитектуры?
Честно, я не представляю, как такое возможно в принципе. Как ассистент, AI однозначно удобен, но не более. На уровне целого проекта... Не знаю, ну я бы делал так, что максимально брал стандарты вроде Capability Maturity Model Карнеги-Меллона + всяческие rfc, и очень-очень формально расписывал по ним каждый шаг взаимодействия.
В будущем нам не понадобятся программисты, только люди, способные описать компьютеру, что именно он хочет сделать, не допуская двусмысленности, не предвидя возможных «слепых зон» и не охватывая все возможные крайние случаи.
Подождите, а разве это не программисты и есть?
Ну вот вы непрограммист, всё описали, как считаете, правильно. На самом деле конечно накосячив кучу непоняток в ТЗ; и опытные постановщики с хорошей практикой программирования на такое с ходу не способны. Ладно когда проект небольшой, а если достаточно крупный? Ведь почему отказались от модели Водопада? Ровно поэтому. Такое ТЗ сделать сложнее, чем сам код написать.
Ок, AI вам выдал 128 файлов и несколько инструкций по запуску. Вы запускаете maven или make из командной строки (ага, щас:)... сюрприз 100500 ошибок сборки.
Но даже если повезло, и нечто запустилось, вы решаете тут подправить, там добавить... Внезапно заканчивается окно контекста и AI понёс пургу. Сейчас надеются на окна в миллионы токенов, но если заказчики выкатят хотелку, которая подразумевает существенную переделку/расширение архитектуры?
Честно, я не представляю, как такое возможно в принципе. Как ассистент, AI однозначно удобен, но не более. На уровне целого проекта... Не знаю, ну я бы делал так, что максимально брал стандарты вроде Capability Maturity Model Карнеги-Меллона + всяческие rfc, и очень-очень формально расписывал по ним каждый шаг взаимодействия.
3✍48💯13👍11❤6🔥3
Сильная идея: форкнуть известный язык )))
Крик души: Rewriting Rust!
Процесс Rust RFC -- это кладбище хороших идей. Сколько из них хоть когда-нибудь попадёт в настоящий язык? Сопрограммы -- этому RFC уже 7 лет. Не заблуждайтесь -- сопрограммы реализованы в компиляторе. Они просто недоступны для нас, рядовых исполнителей. Если бы сопрограммы были детьми, они бы уже учились в начальной школе.
Проще всего кстати добавлять новые фичи в Python, у меня лет 10 назад была статья, как за один час добавить в питончик оператор repeat :)
Для прокачки личного бренда, да и для стартапа может быть здорово реализовывать риквесты, которых долго ждут популярные языки и стандартные библиотеки.
Навскидку:
JEPS 405 - расширенный паттерн-матчинг для более выразительных и более сильных запросов
JEPS 423 - поддержка векторных вычислений AVX
я говорил об этом: И вот если формализовать модель векторного стриминга AVX, и под неё разработать суперкомпилятор Си, и получить космическую оптимизацию...
C# 8478 -- прозаически хочут параметры с readonly :)
сверим часы: C# постепенно превращается в F#
А экзистенциальные типы C# 1328 публика ждёт с 2018-го.
Крик души: Rewriting Rust!
Процесс Rust RFC -- это кладбище хороших идей. Сколько из них хоть когда-нибудь попадёт в настоящий язык? Сопрограммы -- этому RFC уже 7 лет. Не заблуждайтесь -- сопрограммы реализованы в компиляторе. Они просто недоступны для нас, рядовых исполнителей. Если бы сопрограммы были детьми, они бы уже учились в начальной школе.
Проще всего кстати добавлять новые фичи в Python, у меня лет 10 назад была статья, как за один час добавить в питончик оператор repeat :)
Для прокачки личного бренда, да и для стартапа может быть здорово реализовывать риквесты, которых долго ждут популярные языки и стандартные библиотеки.
Навскидку:
JEPS 405 - расширенный паттерн-матчинг для более выразительных и более сильных запросов
JEPS 423 - поддержка векторных вычислений AVX
я говорил об этом: И вот если формализовать модель векторного стриминга AVX, и под неё разработать суперкомпилятор Си, и получить космическую оптимизацию...
C# 8478 -- прозаически хочут параметры с readonly :)
сверим часы: C# постепенно превращается в F#
А экзистенциальные типы C# 1328 публика ждёт с 2018-го.
5👍51🏆4✍1😎1
Если вам захочется почувствовать себя крутым, сломайте какую-нибудь внешнюю зависимость низкого уровня в вашем проекте (например, напишите код, использующий фичи из самой свежей версии важной библиотеки), набирайте попкорн и наблюдайте, как полностью рушится производительность разработчиков в вашей компании.
2😎39😁26👍4🐳4🤔3
Продолжаю работу с курсантами.
Реализовать интеграционное тестирование оказалось намного сложнее, чем в гайдах по документации. Теперь понял, в чём конкретно надо разбираться в веб фреймворках - где и что подкрутить, чтобы всё заработало :)
Но из хороших новостей, я пока читал ваши статьи про интеграционное тестирование, увидел упоминание про контрактное программирование с ассертами, и так углубился, что какое то озарение пришло того, о чём был первый курс по ООАП. Пост + предусловия, атомарные операции АТД, использование ассертов для валидации инвариантов. Я по началу вообще не понял зачем они нужны :)
Дня 3 в общем переписывал импортную функциональност на работе, потел думал какие типы данных выудить, какими операциями они описываются(самое тяжелое). Расставлял ассерты для подтверждения инвариантов, делал атомарные операции и старался, чтобы они не зависели от последовательности вызовов. Короче мозг кипел на 100%, но начало получаться. От этого аж прямо драйв. Использовал в частности Chain of Responsibility, чтобы просто флоу настраивать, а не последовательность вызовов.
До меня как то во время курса мало доходит, но когда носишь ваши идеи и думаешь о них, через некоторое время наступает озарение. Но ассерты вообще мощь!
...Во второй половине курса меня не покидало ощущение, что материал усваивается поверхностно, не было ощущения закипания мозга, которое было ранее на 28и задачах. Постоянно искались какие-то оправдания сделать все на скорую руку, участилась копипаста. Затем окончательно меня добил пост для донов из «Начинающих программистов». Проанализировав изменения в собственных подходах к выполнению задач пришел к выводу, что моим false friend’ом, костылем, подпоркой стала ChatGPT. Сам не заметил как стал злоупотреблять данным инструментом, буквально «тупея» на глазах. Когда не работает «S2 по Канеману», тогда и не рождаются новые уровни понимания.
Упомянутый пост -- это вот про что:
Вы изучили лучшие методы обучения, опробовали их на практике и…
Ничего.
Вы всё ещё чувствуете себя так, словно:
- Вы не можете эффективно решать задачи.
- Вы забываете всё, что раньше учили.
- Ваше понимание программирования остаётся поверхностным.
Итак, давайте разберемся, почему это так.
Но для этого мне нужно изложить одну из самых важных идей в обучении.
(на мой взгляд, наверное, самую важную, без преувеличения)...
В паблике для начинающих дополнительно рассказываю донам про разные методики самообучения и тайм-менеджмента, ориентированные на айтишку.
Начинаю там также мини-сериал про карьеру:
"...Вам рассказывают из каждого видео-утюга, что вы должны хотеть, и какие возможности у вас есть. Но для меня это странно, потому что я уверен, что те, кто вам об этом говорит, на самом деле знают об этом очень мало. Когда дело доходит до карьеры, у вас появляется куча советников, которые могут вести стрим продолжительностью от 15 минут и далее до многих часов. Он в основном бессвязный, с кучей непрошеных советов, и вы начинаете слушать его фоном почти всё время, потому что совершенно очевидно, что "эксперт" понятия не имеет, о чём говорит, и всё, что он вам рассказывает, устарело лет на 45. Однако вы нередко принимаете важные карьерные решения на основе того, что рассказывают эти люди. Довольно странно."
C завтрашнего дня стоимость подписки для новых донов в паблике для начинающих вырастет.
Реализовать интеграционное тестирование оказалось намного сложнее, чем в гайдах по документации. Теперь понял, в чём конкретно надо разбираться в веб фреймворках - где и что подкрутить, чтобы всё заработало :)
Но из хороших новостей, я пока читал ваши статьи про интеграционное тестирование, увидел упоминание про контрактное программирование с ассертами, и так углубился, что какое то озарение пришло того, о чём был первый курс по ООАП. Пост + предусловия, атомарные операции АТД, использование ассертов для валидации инвариантов. Я по началу вообще не понял зачем они нужны :)
Дня 3 в общем переписывал импортную функциональност на работе, потел думал какие типы данных выудить, какими операциями они описываются(самое тяжелое). Расставлял ассерты для подтверждения инвариантов, делал атомарные операции и старался, чтобы они не зависели от последовательности вызовов. Короче мозг кипел на 100%, но начало получаться. От этого аж прямо драйв. Использовал в частности Chain of Responsibility, чтобы просто флоу настраивать, а не последовательность вызовов.
До меня как то во время курса мало доходит, но когда носишь ваши идеи и думаешь о них, через некоторое время наступает озарение. Но ассерты вообще мощь!
...Во второй половине курса меня не покидало ощущение, что материал усваивается поверхностно, не было ощущения закипания мозга, которое было ранее на 28и задачах. Постоянно искались какие-то оправдания сделать все на скорую руку, участилась копипаста. Затем окончательно меня добил пост для донов из «Начинающих программистов». Проанализировав изменения в собственных подходах к выполнению задач пришел к выводу, что моим false friend’ом, костылем, подпоркой стала ChatGPT. Сам не заметил как стал злоупотреблять данным инструментом, буквально «тупея» на глазах. Когда не работает «S2 по Канеману», тогда и не рождаются новые уровни понимания.
Упомянутый пост -- это вот про что:
Вы изучили лучшие методы обучения, опробовали их на практике и…
Ничего.
Вы всё ещё чувствуете себя так, словно:
- Вы не можете эффективно решать задачи.
- Вы забываете всё, что раньше учили.
- Ваше понимание программирования остаётся поверхностным.
Итак, давайте разберемся, почему это так.
Но для этого мне нужно изложить одну из самых важных идей в обучении.
(на мой взгляд, наверное, самую важную, без преувеличения)...
В паблике для начинающих дополнительно рассказываю донам про разные методики самообучения и тайм-менеджмента, ориентированные на айтишку.
Начинаю там также мини-сериал про карьеру:
"...Вам рассказывают из каждого видео-утюга, что вы должны хотеть, и какие возможности у вас есть. Но для меня это странно, потому что я уверен, что те, кто вам об этом говорит, на самом деле знают об этом очень мало. Когда дело доходит до карьеры, у вас появляется куча советников, которые могут вести стрим продолжительностью от 15 минут и далее до многих часов. Он в основном бессвязный, с кучей непрошеных советов, и вы начинаете слушать его фоном почти всё время, потому что совершенно очевидно, что "эксперт" понятия не имеет, о чём говорит, и всё, что он вам рассказывает, устарело лет на 45. Однако вы нередко принимаете важные карьерные решения на основе того, что рассказывают эти люди. Довольно странно."
C завтрашнего дня стоимость подписки для новых донов в паблике для начинающих вырастет.
2✍45👍11❤3🤔3
Лучший стек 2024:
-- фреймворк: .NET
-- бэкенд: F#
-- асинхронщина: F#
-- фоновые/плановые задачи: F#
-- кэширование: F#
-- СУБД: PostrgeSQL
-- хостинг: где угодно (бессерверные контейнеры)
-- фронтенд (на самом деле SSR :) => HTML + Tailwind, и немного добавляем HTMX;
-- мобильные клиенты: просто берём веб-UI.
-- фреймворк: .NET
-- бэкенд: F#
-- асинхронщина: F#
-- фоновые/плановые задачи: F#
-- кэширование: F#
-- СУБД: PostrgeSQL
-- хостинг: где угодно (бессерверные контейнеры)
-- фронтенд (на самом деле SSR :) => HTML + Tailwind, и немного добавляем HTMX;
-- мобильные клиенты: просто берём веб-UI.
1🤔57👍20✍9⚡2💯1
До какой степени повышать уровень абстракций в своём коде?
Например, в самом низу уровень абстракции обычно повышают функции, поскольку меняют низкоуровневый язык кодирования на немного более читабельный, скрывая/убирая детали реализации.
Чем "выше" абстракции, тем меньше они про структуру программы (как, например, паттерны проектирования), и тем больше про бизнес-логику.
В конечном итоге, максимальный уровень абстракций выразится в полноценном DSL для вашей предметной области (тысячекратная компактность кода через метапрограммирование и DSL по Алану Кэю).
В прикладном плане, проще всего это сегодня делать на F#. Вы можете нагуглить реально полезные статьи "как делать DSL на F#" аж 10-летней давности! А из свежего, в F# 5 после реализации в этом году FS-1056, появились overloads of custom keywords in computation expressions -- ровно для продуктивного создания DSL.
Например, в самом низу уровень абстракции обычно повышают функции, поскольку меняют низкоуровневый язык кодирования на немного более читабельный, скрывая/убирая детали реализации.
Чем "выше" абстракции, тем меньше они про структуру программы (как, например, паттерны проектирования), и тем больше про бизнес-логику.
В конечном итоге, максимальный уровень абстракций выразится в полноценном DSL для вашей предметной области (тысячекратная компактность кода через метапрограммирование и DSL по Алану Кэю).
В прикладном плане, проще всего это сегодня делать на F#. Вы можете нагуглить реально полезные статьи "как делать DSL на F#" аж 10-летней давности! А из свежего, в F# 5 после реализации в этом году FS-1056, появились overloads of custom keywords in computation expressions -- ровно для продуктивного создания DSL.
3✍49❤8👍7
Не люблю ругаться на конкретные ит-компании, всегда вхожу в положение, в ситуацию, время трудное. Права вообще никогда не качаю, с техподдержкой всегда общаюсь доброжелательно, и в целом стараюсь относиться позитивно. Но иногда степень пробивания дна превосходит все мыслимые пределы 🙈
Я говорил про трэш-слияние моего хостинг-провайдера с новым (даже извиниться не удосужились за сворованное у меня время). Потом пост написал, почему любые обновления (программистские, технические, административные, организационные...) -- зло, и их желательно максимально избегать.
Но блин от нас зависит максимум 2%. Лет 15 я хостился на Зеноне, изредка бывали проблемы с доступом, но критического никогда ничего не случалось, поэтому даже мыслей не было уйти от них. И вот 19 марта их купил Русоникс -- и началось вот это всё отстойное. Я думал, на переезде всё закончится, ага. Похоже это только начало.
Сегодня я не могу просто даже войти в личный кабинет! Я не могу обновить сайт, я не могу обновить скрипты, я не могу в базе что-то подправить. Это ппц.
Техподдержка заявила, эээ ммм нуу вот такое у нас массовое явление, проблемы с входом в лк, обещают починить в течение дня. А на Зеноне ведь хостились десятки тысяч сайтов, немало очень известных, и теперь они все на паузе. Это реальные ощутимые финансовые потери, и никто их ни мне, ни другим не компенсирует.
Ещё одна подобная засада, и переезжаю нафиг на другого провайдера (из единичных оставшихся). Как хорошо было раньше, когда множество интернет-провайдеров, множество хостинг-провайдеров, реальная конкуренция и борьба за качество. А сейчас единообразное дно.
UPD. не работало 8-11, сейчас вроде пофиксили.
UPD2. Говорят, сегодня была эпическая атака кулхацкеров на много чего, возможно зацепило. Ну я уже много лет регулярно делаю сэйвы на несколько флешек, и всем рекомендую.
Я говорил про трэш-слияние моего хостинг-провайдера с новым (даже извиниться не удосужились за сворованное у меня время). Потом пост написал, почему любые обновления (программистские, технические, административные, организационные...) -- зло, и их желательно максимально избегать.
Но блин от нас зависит максимум 2%. Лет 15 я хостился на Зеноне, изредка бывали проблемы с доступом, но критического никогда ничего не случалось, поэтому даже мыслей не было уйти от них. И вот 19 марта их купил Русоникс -- и началось вот это всё отстойное. Я думал, на переезде всё закончится, ага. Похоже это только начало.
Сегодня я не могу просто даже войти в личный кабинет! Я не могу обновить сайт, я не могу обновить скрипты, я не могу в базе что-то подправить. Это ппц.
Техподдержка заявила, эээ ммм нуу вот такое у нас массовое явление, проблемы с входом в лк, обещают починить в течение дня. А на Зеноне ведь хостились десятки тысяч сайтов, немало очень известных, и теперь они все на паузе. Это реальные ощутимые финансовые потери, и никто их ни мне, ни другим не компенсирует.
Ещё одна подобная засада, и переезжаю нафиг на другого провайдера (из единичных оставшихся). Как хорошо было раньше, когда множество интернет-провайдеров, множество хостинг-провайдеров, реальная конкуренция и борьба за качество. А сейчас единообразное дно.
UPD. не работало 8-11, сейчас вроде пофиксили.
UPD2. Говорят, сегодня была эпическая атака кулхацкеров на много чего, возможно зацепило. Ну я уже много лет регулярно делаю сэйвы на несколько флешек, и всем рекомендую.
4✍42👍16🤯8🫡8🤔7
Вдогонку: отрубился кабельный интернет. Я и роутер перегружал, и провода передёргивал, и драйверы переустановил, и сетевую плату посмотрел (хоть пыль сдул:) -- вроде всё норм. Решил, ну блин сдохла плата (если не материнка...). Перешёл на запасной вайфай соседского другого провайдера через репитер (беру только тп-линки). А оказалось, винда тайно поставила свежее обновление KB5044273, которое, пока с ним не перегрузишь, намертво отрубает езернет!
Ну сам виноват, давно надо было сервис windows update прибить.
Ничто так не укрепляет уверенность в своих технических навыках, как обязательный квест: попросить ChatGPT пояснить, как вернуть компьютер в чувство после очередного обновления Windows.
РКН, забань наконец весь микрософт.
Ну сам виноват, давно надо было сервис windows update прибить.
Ничто так не укрепляет уверенность в своих технических навыках, как обязательный квест: попросить ChatGPT пояснить, как вернуть компьютер в чувство после очередного обновления Windows.
РКН, забань наконец весь микрософт.
4😁66🔥9👍8✍3
В Шанхае заработала клиника для тех, у кого проблемы с математикой. Китайские учёные отмечают, что проблемы с математикой часто коррелируют с пониженной активностью теменной доли мозга (что нередко бывает при шизофрении). Лечить таких людей будут комплексным подходом (в том числе с помощью психиатров и специальных препаратов), все места быстро разобрали.
Я сторонник альтернативного подхода: надо большепринуждать заниматься всяческими рациональными/формальными темками.
Я сторонник альтернативного подхода: надо больше
4🤯39👍21😁13🔥6⚡4