Введение
Все мы знакомы с ситуацией, когда у нас на руках есть мышка PS/2, а подключить её некуда. Покупать переходник – идея так себе. Но мы рискнули и купили:
User
Это обзорная статья, в которой очень поверхностно и не подробно рассказывается о том, что такое формальная верификация программного кода, зачем она нужна и чем она отличается от аудита и тестирования.
Формальная верификация — это доказательство с использованием математических методов корректности программного обеспечения.
Формальная верификация молода. На сегодняшний день, на сайте хабр, например, нет (пока) специализации «Формальная верификация», нет специальности «Proof инженер» или «Специалист по формальной верификации». А люди, работающие по этой специальности — есть.
Программное обеспечение, которое прошло формальную верификацию считается надежным. Формальная верификация дает (с математической точностью) гарантии того, что программный код не будет содержать конкретных ошибок, что функции будут вести себя так, как ожидается.
В основе формальной верификации лежат математические методы. Слово «формальный» в названии - это отсылка к математике. Для доказательства утверждений о программном коде используются формальные методы математики: математическая логика, лямбда исчисление, теория категорий, математический анализ, алгоритмы для работы с функциональными и императивными структурами данных.
Инструменты для верификации — это программные средства для доказательства теорем (Coq, Isabelle ...), а также SAT-solvers.
В 70х годах предки формальной верификации — это доказательства простых утверждений о программе (конкретной функции) с помощью ручки и листка бумаги. Сегодня — это (иногда многолетние) исследовательские проекты для конкретного программного обеспечения, вот некоторые из них:
Эта публикация предназначена для прочтения в выходные или предвыходые дня для поднятия или поддержания хорошего настроения.
Всё изложенное в ней абсолютная правда. Или почти.
Сразу после окончания Новосибирского Университета, в первый же день моей трудовой деятельности на ВЦ СОАН СССР я возглавил коллектив из более чем тридцати учёных, включая двух докторов наук. Руководящий пост я не покупал, как возможно предположили некоторые, никаких необходимых для занятия этого поста связей и знакомств у меня не было.
Я не уверен, что могу посоветовать мой рецепт карьерного роста другим. Но узнать о нём вам будет, я надеюсь, небезинтересно.
Продолжение моей предыдущей статьи об иммиграции. В этой части расскажу о том как я готовился к собеседованиям в FAANG, самих собеседованиях и немного о впечатлениях после переезда.
Друзья, всех приветствую и предлагаю ознакомиться, как мне кажется с довольно полным FAQ по теме налогового и валютного резиденства РФ. По ходу материала есть некоторые примеры, а внизу вопросы & ответы.
В этом материале, я собрал основную информацию про открытие ИП в Грузии и переходе на статус малый бизнес 1%. Отдельно, хочу отметить что Грузия не всегда подходит для приема платежей от иностранных компаний, если фрилансер проживает в РФ более чем 183 дня в календарном году, то есть является валютным резидентом РФ, так как Грузия не входит в ЕАЭС и не обменивается с РФ финансовой информацией в автоматическом режиме, соответственно валютные правила РФ накладывают определенные ограничения на граждан РФ по приему платежей на свои иностранные счета в Грузии, связанные с предпринимательской деятельностью.
Ранее, я уже говорил про валютные и налоговые правила РФ, отдельно про налоги в Грузии для физических лиц, подробно разобрал как фрилансеру в статусе ИП заплатить в РФ налоги с иностранных доходов, так что перед тем открывать где-то ИП для приема платежей от иностранных заказчиков, при условии преимущественного проживания в РФ, рекомендую ознакомится с информацией.
Это и не статья, а всего лишь заметка, которая появилась в связи с грядущим окончанием действия TLS сертификатов у Сбербанка и некоторым бурлением, связанным с этим событием. В комментах к другой статье по этой же теме я предложил возможное решение, и мне предложили описать его в деталях, поэтому так и поступаю.
По непроверенным данным, половина несчастных случаев происходит после слов "смотри, как я умею", другая же половина — после "ерунда, смотри, как надо".
Тут один приятель, увидев фокус с тестами без тестов с использованием обобщенных аттрибутов из preview версии C# и особенностей экосистемы NUnit, отметил, что все сделано транс-ректально, а сам бы он применил Fody, и вышло бы гораздо лучше. Демонстрировать, к сожалению, ничего не стал. А мне вспомнился комментарий к описанию другого преодоления концептуального ограничения языка. Тогда руки не дошли попробовать, а сейчас вот решил глянуть, что это за птица, и проверить, поможет ли она написать более элегантное решение.
О чем эта статья
Это продолжение моих похождений по ФААНГ. Предыдущая статья была о моем опыте собеседования в Амазоне.
Здесь я тоже поделюсь всем процессом: как я попал на собеседование, все этапы, вопросы на интервью, как я готовился, некоторые детали офера, и общее впечатление от интервью. Так же будут всякие сравнения опыта собеседования в Майкрософте и в Амазоне.
К слову, все собеседования тоже сейчас проходят онлайн, и никаких онсайт интервью нет.
В этой небольшой подборке собраны разные источники информации, которые могут быть полезны C# / .NET разработчикам: блоги, репозитории с исходным кодом, стандарты и аккаунты разработчиков, рассказывающих о тонкостях как языка, так и платформы в целом.
Добрый день Всем читателям,
сегодня будет увлекательная история, как я обосрался и это стоило мне 3000$.
Дисклеймер: все описанное далее является моим опытом сотрудничества с данной компанией и ее сотрудниками, моя оценка дана исходя из моего жизненного опыта и требований предъявляемых мной к услуге от бизнеса. Ваша оценка может быть другой.
Я не гарантирую, что изложенные здесь трактовки общепринятых терминов и принципов совпадают с тем, что изложили в солидных научных статьях калифорнийские профессора во второй половине прошлого века. Я не гарантирую, что мои трактовки полностью разделялись или разделяются большинством IT-профессионалов в отрасли или научной среде. Я даже не гарантирую, что мои трактовки помогут вам на собеседовании, хоть и предполагаю, что будут небесполезны.
Но я гарантирую, что если отсутствие всякого понимания заменить моими трактовками и начать их применять, то код вами написанный будет проще сопровождать и изменять. Так же я прекрасно понимаю, что в комментариях мной написанное будут яростно дополнять, что позволит выправить совсем уж вопиющие упущения и нестыковки.
Столь малые гарантии поднимают вопросы о причинах, по которым статья пишется. Я считаю, что этим вещам должны учить везде, где учат программированию, вплоть до уроков информатики в школах с углублённым её изучением. Тем не менее, для меня стала пугающе нормальной ситуация, когда я узнаю, что собеседник мой коллега, причём работающий уже не первый год, но про инкапсуляцию «что-то там слышал». Необходимость собрать всё это в одном месте и давать ссылку при возникновении вопросов зрела давно. А тут ещё и мой «pet-project» дал мне изрядно пищи для размышлений.
Тут мне могут возразить, что учить эти вещи в школе рановато, и вообще на ООП свет клином не сошёлся. Во-первых, это смотря как учить. Во-вторых, 70% материала этой статьи применимо не только к ООП. Что я буду отмечать отдельно.
Всем привет. В этой статье я расскажу, почему мы в Авито девять месяцев назад выбрали Kafka, и что она из себя представляет. Поделюсь одним из кейсов использования — брокер сообщений. И напоследок поговорим о том, какие плюсы мы получили от применения подхода Kafka as a Service.
Морис Херлихи — обладатель целых двух премий Дейкстры. Первая — за работу по «Wait-Free Synchronization» (Brown University) и вторая, более свежая, — «Transactional Memory: Architectural Support for Lock-Free Data Structures» (Virginia Tech University). Премию Дейкстры дают за работы, значимость и влияние которых были заметны на протяжении не менее десяти лет и, очевидно, Морис — один из самых известных специалистов в области. На данный момент он работает профессором в Брауновском университете и имеет множество достижений на целый абзац длиной. Сейчас он занимается исследованиями блокчейна в контексте классических распределенных вычислений.
Ранее Морис уже приезжал в Россию на SPTCC (видеозапись) и cделал отличную встречу сообщества Java-разработчиков JUG.ru в Питере (видеозапись).
Этот хабрапост — большое интервью с Морисом Херлихи. В нем обсуждаются следующие темы: