Search
Write a publication
Pull to refresh
4
0.1
Send message

Как я сделал ремастер всех серий Том и Джерри в 2к всего за пару месяцев

Level of difficultyEasy
Reading time8 min
Views97K

Улучшение Том и Джерри из 480p в 1440p

С чего всё началось? Как-то я решил в третий раз с детства пересмотреть всю оригинальную коллекцию "Том и Джерри", но я, в отличие от маленького ребёнка, не потребляю любой контент вне зависимости от его качества. И вот я собрался посмотреть самую доступную версию, а там вот это цветошоу с постоянными царапинами на всём экране.

Мур-мур-мур

Как на самом деле Async/Await работают в C#. Часть 1. Проблемы модели асинхронного программирования (APM)

Level of difficultyHard
Reading time13 min
Views19K

Это перевод первой главы из поста How Async/Await Really Works in C#

Этот пост .Net блога является продолжением исходного поста, глубоко погружающим в историю, приведшую к созданию конструкций async/await и стоящие за этим дизайнерские решения и детали реализации async/await в C# и .NET.

Исходный пост What is .NET, and why should you choose it? предоставляет обзор платформы на высоком-уровне, перечисляя различные компоненты и решения на уровне дизайна, и предваряя последующие посты в глубину обозначенных тем.

Ссылки в развитие темы:

1. Часть 2 Артефакты от EAP шаблона, SynchronizationContext

2. Уроки по асинхронному программированию из первой половины работы

3. Параллельные вычисления — Все дело в контексте-синхронизации (SynchronizationContext)

4. Async/Await из C#. Головоломка для разработчиков компилятора и для нас

Читать далее

Техсобесы — это просто, но есть нюанс…

Level of difficultyEasy
Reading time8 min
Views21K

Привет, Хабр. Меня зовут Дима и я разработчик, тимлид и по совместительству наставник на курсе «Мидл Python-разработчик» в Практикуме. Сегодня, с вашего позволения, я вставлю свои пять копеек и поделюсь опытом по такой заезженной теме, как технические собеседования. Много слов сказано, статей написано и копий сломано на сей благодатной почве, потому постараюсь быть максимально кратким.

Не буду писать много о себе, скажу лишь одно: я провёл много часов по обеим сторонам стола. Уповаю на то, что смогу кому-то быть полезным в этом нелёгком и, кажется, поднадоевшем деле. Я практически не буду затрагивать другие этапы, сконцентрируюсь только на техническом собеседовании и процессе подготовки к нему.

TL;DR: Внимательно читайте вакансию и анализируйте результат собеседования. Говоря о себе, фокусируйтесь на релевантном для слушателя. Будьте готовы ответить за обозначенный опыт. Задачи совсем не про код. Задавайте вопросы, интересуйтесь. И помните — «г-г-главное  н-н-не бояться». Успехов!

Читать далее

Прекратите скручивать (восклицательный знак)

Reading time6 min
Views1.8M
Ну действительно, прекратите. Есть куча прикольных штук для соединения самых разнообразных проводов, а все равно технология «откусить зубами изоляцию, скрутить, замотать изолентой» жива до сих пор.

Дальше много текста, фотографий, разборок. Ну все как обычно

Как оплатить VPN криптовалютой

Reading time5 min
Views15K

С прошлого года пользователи VPN в России оказались перед дилеммой: западные VPN-сервисы больше не принимают российские карты, а российские VPN-сервисы бесполезны для тех, кто хочет без ограничений пользоваться запрещёнными социальными сетями или читать запрещённые сайты. Один из вариантов обхода этой проблемы стала оплата криптовалютой, в первую очередь — Биткоин.

В этой статье мы дадим простую инструкцию, как оплачивать с помощью крипты из России для тех, кто делает это в первый раз.

Читать далее

Нужен ли ConfigureAwait?

Reading time8 min
Views28K

image


Мне никогда не нравилась многословность кода. Длинные и подробные названия упрощают работу с бизнес-логикой, но технические детали кода хочется держать краткими, чтобы они отвлекали на себя минимум внимания.


Одна из многословных конструкций .NET связана с деталями реализации асинхронности и обросла кучей мифов. Про неё спрашивают на собеседованиях, код-ревью, делают обязательной, добавляя в правила линтера. Это .ConfigureAwait(false), сопровождающий каждый await в коде.


В этой статье я расскажу, зачем нужен ConfigureAwait(false) и как обойтись без него.

Читать дальше →

Как на самом деле работает Async/Await в C# (Часть 7)

Level of difficultyHard
Reading time13 min
Views15K

Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.

Disclaimer: Я не являюсь профессиональным переводчиком, перевод подготовлен скорее для себя и коллег. Я буду благодарен за любые исправления и помощь в переводе, статья очень интересная давайте сделаем её доступной на русском языке.

Читать далее

Как на самом деле работает Async/Await в C# (Часть 5)

Level of difficultyHard
Reading time6 min
Views12K

Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.

Читать далее

Освобождение робота-пылесоса, который стал моим другом

Level of difficultyEasy
Reading time8 min
Views31K
Немного доп. оборудования, несколько команд Linux и вуаля! Пылесос свободен! Фото Cath Virginia / The Verge

В целом роботы-пылесосы мне нравятся. Для меня это эдакий небольшой друг, который чистит за меня пол. Просто фантастика. Но, к сожалению, есть одна проблема — я им не доверяю. Эти девайсы постоянно отправляют отчёты на серверы, что может представлять угрозу для безопасности и тайны личной жизни. Мне такое не по духу, и я подумал, что кто-то уже должен был хакнуть эту схему. После недолгих поисков в интернете я понял, что прав. Мне попался проект Valetudo, нацеленный на освобождение роботов-пылесосов от связи с облаком.
Читать дальше →

Как Rust меняет мышление разработчика

Level of difficultyEasy
Reading time9 min
Views50K
Я страшно ненавижу C++. Обычно я люблю программирование, но каждый проект, с которым я имел дело на C++, ощущался как монотонная рутина. В январе 2023 года я пошёл по пути изучения Rust, поэтому теперь могу сказать, что знаю язык системного программирования, который действительно люблю использовать.

Первый стабильный релиз Rust появился в 2015 году, и каждый год, начиная с 2016, он признаётся в Stack Overflow’s Annual Developer Survey самым любимым языком (в 2023 году эта категория называется «обожаемый»). Почему же разработчики, ощутившие вкус Rust, не могут отказаться от его использования? Похоже, в мире прогремевших наследников C/C++ репутация растёт только у Rust. Как же этот язык, появившийся на сцене меньше десятка лет назад, стал настолько популярным?

Ржавый красный краб Феррис по версии Midjourney

Кривая обучения оказалась крутой. Я нашёл многое, что мне нравится в Rust, но постоянно попадал в его ловушки. Однако в конечном счёте именно препятствия и проблемы, с которыми столкнулся, я научился любить больше всего.

Я начну историю с разговора о том, что легко полюбить — со среды Rust, управления пакетами и документации. Затем я расскажу о системе типов и типажах (trait). Далее я поведаю о тех возможностях тестирования и test driven development, которые становятся возможными благодаря Rust. Наконец, мы обсудим самую запутанную и сбивающую с толку часть — одержимость Rust тем, кто какой переменной владеет.
Читать дальше →

Made at Intel. Эпилог

Level of difficultyEasy
Reading time8 min
Views33K

Несколько дней назад я закончил последнюю главу саги Made at Intel. Напоследок хочу поделиться с вами несколькими мыслями, посетившими меня по ходу ее написания. Они обращены в прошлое, настоящее и немного в будущее.

Читать далее

Не так уж и страшен этот FAANG: 8 мифов о собеседованиях в BigTech

Level of difficultyEasy
Reading time9 min
Views33K

Привет, на связи таинственный Software Engineer из FAANG компании, пишущий только о собеседованиях. Ранее мы уже сравнивали Тинькофф с FAANG’oм и отказывались от миллионов RSU в Озон, а теперь поговорим о собеседованиях в BigTech: в знаковые для индустрии зарубежные компании, оффер которых — это билет в будущее.

Опытный специалист трижды подумает, прежде чем вложиться в подготовку к многоэтапному интервью. А без них никак: так делает не только весь российский бигтех, но и большинство западных компаний: от стартапов до динозавров. Но мы не будем рыдать от несовершенства корпоративной вселенной — мы эти многоэтапные собеседования сейчас возьмём — да и пройдём. 

Читать далее

Пять продвинутых техник инициализации в C++: От reserve() до piecewise_construct

Reading time9 min
Views14K

От операций с динамическими контейнерами до констант времени компиляции — C++ предлагает много интересных техник (как в этом знаменитом меме :)). В этой статье мы рассмотрим несколько продвинутых методов инициализации: от reserve() и emplace_back для контейнеров, до piecewise_construct и forward_as_tuple для кортежей. Благодаря этим техникам мы можем уменьшить количество временных объектов и более эффективно создавать переменные.

Давайте приступим!

Читать далее

Книги по C++, которые можно рекомендовать разработчикам в 2023 году

Reading time4 min
Views81K

Продолжаем публиковать подборки хороших книг. В этот раз расскажем об актуальных и в 2023 году книгах, которые пригодятся как начинающим разработчикам, так и их опытным коллегам. Если у вас есть собственные предпочтения, поделитесь, пожалуйста, в комментариях.

Читать далее

Почему E = mc² — это лишь половина описания происходящего

Level of difficultyMedium
Reading time10 min
Views79K

Одним из наиболее глубоких открытий в физике стало самое известное уравнение Эйнштейна: E = mc². Проще говоря, оно гласит, что энергия равна массе объекта, умноженной на квадрат скорости света. Это простое на первый взгляд математическое соотношение таит в себе огромное количество физических смыслов, в том числе:

при наличии определённого количества энергии можно спонтанно создавать новые пары частиц материи-антиматерии, если их масса покоя меньше, чем количество энергии, необходимое для их создания,

если пара частиц материя-антиматерия аннигилирует, то при этом выделяется определённое количество энергии, определяемое массами аннигилировавшей пары частиц,

каждый раз, когда происходит ядерная реакция, будь то синтез или деление, если масса продуктов реакции меньше массы частиц, в ней участвовавших, E = mc² говорит о том, сколько энергии будет высвобождено в этой реакции.

Это уравнение, E = mc², описывает, сколько энергии присуще любой массивной частице, находящейся в состоянии покоя, включая то, сколько энергии требуется для её создания и сколько энергии выделяется при её разрушении.

Но что если частица не находится в состоянии покоя или если она вообще не имеет массы? В этих случаях E = mc² — это только половина значимого уравнения. Вторая половина гораздо интереснее и необходима для того, чтобы понять физический смысл происходящего.

Читать далее

Поговорим об оптимизирующих компиляторах. Сказ пятый: удаление общих подвыражений

Level of difficultyEasy
Reading time9 min
Views4.3K

В этой статье мы поговорим о классе оптимизаций, которые позволяют избегать лишних вычислений при помощи переиспользования уже имеющихся результатов, а именно -- оптимизации семейств CSE, GVN и PRE. В разном виде такие оптимизации есть практически во всех известных компиляторах.

Читать далее

10 самых влиятельных (и почти мёртвых) языков программирования

Reading time13 min
Views51K

Гиллель Уэйн*, разработчик и консультант по формальной верификации, обратил внимание на статью «20 наиболее значимых языков программирования в истории», которую сам автор называет «нелепой, только что придуманной таблицей». По мнению Уэйна, эта характеристика вполне справедлива: автор таблицы называет Go «наиболее значимым», но не включает в список ALGOL, Smalltalk или ML. И не учитывает Pascal, потому что тот «почти мёртв». Абсурд! Это противоречит всей сути понятия «значимость в истории».

Так давайте обсудим некоторые «почти мёртвые» языки и причины их важности.

Дисклеймер: Да, не все из этих языков мертвы и забыты. Ведь большинство людей слышали о Smalltalk, правда? Также, скорее всего, в этой статье полно ошибок, ведь их легко допустить, когда вы анализируете 60-летнюю историю компьютерных вычислений. Не стесняйтесь возражать, если что-то заметите!

Дисклеймер 2: Да, некоторые из упомянутых здесь языков были «первыми изобретёнными», а другие — «первыми популярными». История — это сложно!

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее

Я люблю питон, и вот почему он меня бесит

Level of difficultyEasy
Reading time18 min
Views60K

Вас приветствует ваш зануда!

Если вы следите за моей ленивой активностью, то заметили бы, что у меня много от чего пригорает. Вот, например:
- У меня пригорает от низкосортных статей на потоке: Питон против Безумного Макса, или как я посты на Хабре замораживал
- У меня пригорает от Django: Окей, Джанго, у меня к тебе несколько вопросов
- И от Яндекса тоже: Собеседование в Яндекс: театр абсурда :/
- И от рекрутеров: Я единственный из 1400, или самый крутой рекрутинг, что я проходил

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

Это что же получается, kesn опять открыл postman и сломал вёрстку на сайте? Поразительно, никогда такого не было, и вот опять! В принципе, тут можно писать текст любой длины (похоже, у них на бэкенде не Char(255), а Text). Они проверяют длину только на фронтенде, а бэкенд принимает строку любой длины. И это, блин, забавно) Вообще мой девиз - 'кто ищет, тот всегда найдёт', поэтому я ищу постоянно. Кстати, на Хабре скоро выйдет статья про программирование глазами Погромиста, там в том числе про уязвимости на сайтах будет - поэтому если не хотите пропустить, то подписывайтесь на меня в телеге: @blog_pogromista

Дизайн API в С++

Level of difficultyHard
Reading time26 min
Views26K

В этом году на C++ Russia я рассказывал про API дизайн. Эта статья — пересказ и переосмысление моего доклада.

То, что я здесь расскажу, основано на моем личном опыте — про API дизайн я думаю уже лет 15, с того момента как в 2008м начал читать ревью библиотек на входе в boost (кстати, всем рекомендую).

В первой части я сфокусируюсь на базовых вещах, которые применимы практически к любому императивному языку программирования, не только к C++. Будет также часть 2, более приближенная собственно к C++, в которой я расскажу о некоторых фичах языка и стандартной библиотеки, которые помогут вам сделать ваши API еще лучше.

Читать далее

Неэтичный маркетинг в VPN-индустрии

Reading time10 min
Views13K

Когда пару лет мы решили заказать разбор нашего сайта, мы хотели получить обратную связь от обычного пользователя, не профессионала VPN. Чего мы не ожидали — что получим мнение человека, дезинформированного маркетингом VPN-провайдеров. VPN-провайдеры и маркетологи, заполонившие интернет псевдорейтингами VPN, существующими только ради партнёрских ссылок, убеждают пользователей в том, что VPN — волшебная палочка интернет-безопасности, одним махом обещающая полную анонимность, защиту переписок, аккаунтов и кредитных карт, неуязвимость для хакерских атак, а ещё экономию на авиабилетах и аренде машин и покупках в интернет-магазинах.

В этой статье мы сделали гид по маркетинговым мифам и заблуждениям о VPN, и порочным коммерческим практикам, сознательно культивируемых VPN-компаниями.

Читать далее

Information

Rating
7,450-th
Registered
Activity