![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/ea5/ffc/46f/ea5ffc46f06aa877a5e8665b6aa5cb69.png)
В этой статье мы рассмотрим концепцию Python-оберток и приведем пять примеров, которые могут улучшить процесс разработки на Python.
Переводчик времени
В этой статье мы рассмотрим концепцию Python-оберток и приведем пять примеров, которые могут улучшить процесс разработки на Python.
Как можно использовать github pages для своих fullstack pet проектов с бэкендом на статических файлах)
Написание нового кода = ошибки. С этим всё просто.
Избавится от ошибок – вот это сложная задача.
Программисты привыкли, что в их средствах разработки есть встроенные инструменты, показывающие, какая строка кода сейчас работает, отображают текущее содержимое переменных, выводят сообщения о процессе выполнения и т.д. Какое-то время в SQL Server Management Studio тоже был отладчик кода, но, начиная с версии SSMS v18, он был удален. Хотя даже когда отладчик был, я не фанател от него: SQL Server буквально мог прекратить обработку других запросов, пока выполнял ваш запрос. Это была катастрофа, особенно когда ваш запрос блокировал других пользователей, и всё это происходило на рабочей базе.
Мне бы хотелось, чтобы у нас был простой способ отладки T-SQL на рабочей базе без блокировок, но отладка T-SQL отличается от отладки в C#. Так что если ваш T-SQL код делает не то, что вы ожидали, вот несколько хороших способов для его отладки.
Не смотри на меня. Я (не)много седой, с морщинами и уже не влезу в тот коричневый костюм, который был на тебе в 2005 году. Да-да, в ту ночь, когда ты верстал студенческую газету на казённом Ровере в крякнутом Паблишере. Надеюсь, пространственно-временной континуум всё же искривится в нужную ленту, ты прочтёшь это письмо и мы сможем что-то изменить. Ладно, я не дурак и знаю, что нет. Но всё же — я обращаюсь к 20-летнему тебе, потому что поговорить честно с самим собой — уже половина дела на пути к чему-то хорошему. Хорошего в нашем 2023 не хватает.
За основу я взял оригинальный текст книги «The Backroom Boys: The Secret Return of the British Boffin» (автор Francis Spufford), о которой узнал случайно. «Backroom Boys» – в Британии индустриальной эпохи так называли гениальных инженеров, которые трудились в «продуваемых насквозь зданиях на задворках фабрик», и изобрели технологии будущего.
Одна из глав посвящена созданию Elite по воспоминаниям авторов – Дэвида Брабена и Йена Белла.
Мне пришлось сократить авторский вариант, чтобы текст не получился слишком длинным, и снабдить его необходимыми примечаниями и изображениями, которых нет в книге, для лучшего понимания истории.
С моей стороны получился несколько вольный перевод, заранее прошу прощения за неточности. Буду благодарен за комментарии и правки. Для поклонников «Элиты» я размещу ссылку на сайт Йена Белла, где есть авторские материалы, исходники, порты для разных ПК, новелла «Тёмное колесо» Холдстока, и даже рок-опера по мотивам «Элиты», созданная братом Йена.
В большом количестве статей, источников микросервисы, помимо всего прочего, представляются как способ построить масштабируемое решение. Рассмотрим на примерах, почему это не так. А так же попытаемся внести свою лепту в извечный вопрос: "Что лучше: монолит или микросервис?"
Вы сталкивались с тем, что ноутбук случайно включается, хотя вы уверены, что отправляли его в сон?
Бывало, что батарея оказывалась пустой, хотя вы точно-точно помните, как убирали в сумку заряженный на 100% ноутбук?
Тогда вам сюда:
Добрый день! Меня зовут Михаил Емельянов, по профессии я программист программ, а этот небольшой путеводитель по возможностям языка Python меня сподвиг написать довольно существенный, на мой взгляд, разрыв между декларируемыми объемами всевозможных курсов программирования и требованиями реальных, даже достаточно скромнооплачиваеых вакансий, а также некоторая обобщенность существующих Python-путеводителей, найденных на просторах Сети.
Особенно выбивают из равновесия советы изучить, скажем, «Алгоритмы и структуры данных» или «SQL». Да зубы можно сточить, изучая эти темы, и даже будучи седовласым старцем, постоянно открывать для себя что-то новое, не выходя за рамки тематики «Алгоритмов»!
Пользуясь аналогиями из игрового мира, можно сказать, что начинающий программист зачастую стоит на берегу озера кипящей лавы, в центре которого находится остров со столь вожделенными вакансиями, а промежуточные островки, по которым надо перепрыгивать, постепенно наращивая свои навыки в последовательных мини-квестах, либо отсутствуют, либо расположены несистемно и хаотично, либо достаточно ровная их последовательность обрывается, так и не успев помочь отойти сколько-нибудь далеко от берега. Давайте попробуем построить дорожку островков-подсказок, ряд которых, хоть и не без усилий, позволит-таки нам достичь цели.
Исследуем вредоносный документ с вновь набирающим популярность трояном Emotet.
Основная цель моих статей: предоставить практически полезные способы обнаружения вредоносной активности в файлах, дампах и.т.д, а также поделиться знаниями, на поиск которых, у меня ушло достаточно много времени.
Статья выходит довольно обширная, в связи с этим будет состоять из двух частей, т.к. здесь я постараюсь доступно изложить исследование вредоносного документа формата Excel (такие документы сегодня используются в фишинговых кампаниях по всему миру для заражения трояном Emotet), а после исследования вредоносного документа решим задание от cyberdefenders.org, в котором нам предложат поковырять дамп оперативной памяти, с уже зараженного хоста, давайте приступать.
Большинство питонистов не раз слышали о таких правилах как «функции должны быть глаголами» или «не наследуйтесь явно от object в Python 3». В этой статье рассмотрим не такие банальные, но полезные правила чистого кода в Python.
Класс set
(множество) — это одна из ключевых структур данных в Python. Она представляет собой неупорядоченную коллекцию уникальных элементов. Класс set
, в некоторой степени, соответствует математическому множеству. Многие широко используемые математические операции, применимые к множествам, существуют и в Python. Часто вычисления, производимые над множествами, оказываются гораздо быстрее, чем альтернативные операции со списками. В результате, для того чтобы писать эффективный код, Python-программисту просто необходимо уметь пользоваться множествами. В этой статье я расскажу об особенностях работы с классом set
в Python.
# модульное хеширование
hash = key % N of nodes
Эта статья является продолжением двух предыдущих занудных статей под общим заголовком "О классах Program и Startup — инициализация ASP.NET приложения": "Program и IHostBuilder"[1] и "IWebHostBuilder и Startup"[2] — в которых подробно написано о том, что происходит в процессе инициализации приложения ASP.NET, сделанного по шаблону Generic Host. В тех двух статьях я рассказывал, как производится настройка и выполняется создание объектов конфигурации (она доступна через интерфейс IConfiguration), контейнера сервисов (он же DI-контейнер, его интерфейс — IServiceProvider) и размещения (интерфейс IHost). А в этой статье я собираюсь подробно рассказать, что происходит сразу после того, как приложение запускается на выполнение в объекте размещения.
Написав третью статью на примерно одну и ту же тему, я подумал, что и первые две, и эта должны стать частью одной серии, которую я для себя озаглавил "Под капотом" (см. КДПВ)
Cтатья эта является примерно такой же занудной, как и обе предыдущие, поэтому большинству читателей я рекомендую просто добавить ее в закладки на случай надобности приводимой в ней информации, и ограничиться пока что поверхностным ознакомлением с ее содержимым:
Но если вам все ещё интересно (или не интересно, но читать все равно зачем-то надо) — добро пожаловать под кат (и не говорите, что я вас не предупреждал, что легкого чтения не будет).
В .Net, помимо типов class
и struct
, с недавних пор есть еще и типы record
и record struct
. Появление двух новых типов могло внести запутанность по поводу того, в чем их сходства и различия, и в каких случаях стоит их применять. В этой статье мы разберем, в каких ситуациях использовать class
, record
, struct
, и какие преимущества даёт тот или иной тип в различных ситуациях. В конце мы приведем шпаргалку, которая поможет быстро определиться, какой из видов типов лучше подходит в том или ином случае.
Недавно мы проводили вебинар «Обкафкился по полной. Фейлы с Apache Kafka». На нём спикер Всеволод Севостьянов, Engineering Manager в HelloFresh, поделился фейлами из личной практики, а ещё рассказал, как мастерски ходить по тонкому льду Kafka и прокачать свой бэкенд. Для тех, кто пропустил или предпочитает читать, а не смотреть, подготовили текстовый вариант.
На первом интервью чаще всего рекрутер может задать вопрос о зарплатных ожиданиях кандидата — “What Are Your Salary Expectations?”. Я принимаю участие в найме продукт-менеджеров, дизайнеров и инженеров и хочу поделиться с вами своим опытом как правильно отвечать на этот вопрос применительно к рынку США.
Я не рекомендую раскрывать никаких цифр как на ранней стадии процесса интервью, так и во время раунда интервью. В этой статье я расскажу почему именно такая стратегия является наиболее выигрышной.
Привет, Хабр! 9 месяцев, 600 заявок, 570 принятых заявок, 1,5 месяца работы жюри, 15 профессионалов в жюри в соответствие с номинациями и 0,5 потерянного протокола — так выглядит конкурс технических статей на Хабре «Технотекст-2021». Вчера мы подвели итоги на онлайн-встрече, поговорили с некоторыми членами жюри и даже рассказали несколько баек. Сегодня мы публикуем список победителей, полный разбор будет чуть позже. Поздравляем, вы лучшие из лучших (а худших на конкурсе не было)!