Как стать автором
Обновить
-1
Карма
0
Рейтинг

Программист C#/C++

  • Публикации
  • Комментарии

Дальше не читал

HabrGreaseMonkey
Recovery mode
КДПВ: Счётчик комментариев

Счётчик новых комментариев — очень удобная вещь, особенно для статей с оживлённой дискуссией.

Но он не идеален:

Случайно обновив страницу или закрыв вкладку мы теряем информацию о непрочитанных комментариях. Тратить время на ручной поиск новых комментариев вряд ли кто-то согласится.

Да и в статье, которую мы читаем первый раз от одного комментария к другому удобнее переходить по горячим клавишам.
Читать дальше →
Всего голосов 49: ↑48 и ↓1 +47
Просмотры8K
Комментарии 15

Новости

Показать еще

OAuth 2.0 -> OAuth 2.1. Что дальше?

Информационная безопасностьАнализ и проектирование системAPIИсследования и прогнозы в IT
Архитекторы ничего не выдумывают. Они трансформируют реальность.

Алваро Сиза Виэйра

Много всего уже сказано и написано про фреймворк авторизации OAuth 2.0 с 2012 года. И, казалось бы, все давно его знают, используют, все должно работать надежно и безопасно.
Но, как обычно, на практике все иначе. В работе в реальности приходится сталкиваться с небезопасными реализациями процессов авторизации и аутентификации. Огорчает, что по статистике Россия занимает непочетное первое место по своей уязвимости.
Почему же так получается? Предлагаю вместе со мной и авторами драфта OAuth 2.1 от июля 2020 года сделать небольшую работу над ошибками. Это и будет отражением, на мой взгляд, того, по какому пути развития идет фреймворк OAuth 2.

Также спешу предупредить строгого читателя, что в данной статье я затрону только вопросы и сложности, связанные с реализациями по OAuth 2.0. Я не ставлю цели обозначить все проблемы с безопасностью в России в ИТ, и почему этот вопрос требует особого пристального внимания сегодня.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры7.1K
Комментарии 23

Сокеты в ОС Linux

Блог компании OTUSНастройка LinuxСетевые технологии

В данной статье будет рассмотрено понятие сокета в операционной системе Linux: основные структуры данных, как они работают и можно ли управлять состоянием сокета с помощью приложения. В качестве практики будут рассмотрены инструменты netcat и socat.

Читать далее
Всего голосов 35: ↑32 и ↓3 +29
Просмотры35.7K
Комментарии 15

«А ты точно senior?»

IT-стандартыКарьера в IT-индустрииИнтервьюIT-компании

Привет, я тех/тим лид в одной из продуктовых web компаний - систематически занимаюсь собеседованиями. И главная проблема понять кто перед тобой senior, или не очень. А если еще и нужно согласовать мнение со вторым интервьюером...


В общем если вы занимаетесь WEB разработкой и хотите понять свой уровень, или стоите на страже компании и не до конца понимаете как понять уровень собеседуемого добро пожаловать под кат.

добро пожаловать под кат
Всего голосов 49: ↑24 и ↓25 -1
Просмотры19.7K
Комментарии 158

Туториал по Unreal Engine. Часть 2: Blueprints

Разработка игрUnreal Engine
Перевод
Tutorial
image

Blueprints — это система визуального скриптинга Unreal Engine 4. Она является быстрым способом создания прототипов игр. Вместо построчного написания кода всё можно делать визуально: перетаскивать ноды (узлы), задавать их свойства в интерфейсе и соединять их «провода».

Кроме быстрого прототипирования, Blueprints также упрощают создание скриптов для непрограммистов.

В этой части туториала мы будем использовать Blueprints для следующих операций:

  • Настройка камеры с видом сверху
  • Создание управляемого игроком актора с простыми движениями
  • Настройка ввода игрока
  • Создание элемента, исчезающего при контакте с игроком
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры210.6K
Комментарии 2

Лучшие практики bash-скриптов: краткое руководство по надежным и производительным скриптам bash

Блог компании Mail.ru GroupСистемное администрирование*nix
Перевод

Shell wallpaper by manapi

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

Команда Mail.ru Cloud Solutions перевела статью с рекомендациям, благодаря которым вы сможете лучше писать, отлаживать и поддерживать свои сценарии. Хотите верьте, хотите нет, но ничто не может сравниться с удовлетворением от написания чистого, готового к использованию bash-кода, который работает каждый раз.

В статье автор делится тем, что узнал за последние несколько лет, а также некоторыми распространенными ошибками, которые заставали его врасплох. Это важно, потому что каждый разработчик программного обеспечения в определенный момент своей карьеры работает со сценариями для автоматизации рутинных рабочих задач.
Читать дальше →
Всего голосов 58: ↑56 и ↓2 +54
Просмотры21.8K
Комментарии 70

Avalonia Tutorial: Реализация MVVM по шагам с примерами

Программирование.NETC#Разработка под LinuxРазработка под Windows
Из песочницы
Tutorial

Avalonia — это?


Avalonia – это кроссплатформенный XAML фреймворк для платформы .NET. Для многих разработчиков на WPF/UWP/Xamarin данный фреймворк будет интуитивно понятен и прост в освоении. Avalonia поддерживает Windows, Linux, macOS, также заявлена экспериментальная поддержка Android и iOS. Развивается проект при поддержке сообщества и является open-source.

Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры11K
Комментарии 0

Что делает Rust универсальным языком программирования

ПрограммированиеСистемное программированиеПромышленное программированиеRust

Владей и заимствуй


Долгое время Rust позиционировался исключительно как язык для системного программирования. Попытки использовать Rust для высокоуровневых прикладных задач зачастую вызывали усмешку у значительной части сообщества: зачем использовать инструмент в том качестве, на которое он не рассчитан? Какая польза от возни с типами и анализатором заимствований (borrow checker), если есть Python и Java со сборкой мусора? Но другая часть сообщества всегда видела потенциал Rust именно как языка прикладного, и даже находила его удобным в использовании для быстрого прототипирования — во многом благодаря его особенностям, а не вопреки им.

Читать дальше →
Всего голосов 83: ↑78 и ↓5 +73
Просмотры31.9K
Комментарии 234

Yew — Rust&WebAssembly-фреймворк для фронтенда

Блог компании JUG Ru GroupRustWebAssembly
Yew — аналог React и Elm, написанный полностью на Rust и компилируемый в честный WebAssembly. В статье Денис Колодин, разработчик Yew, рассказывает о том, как можно создать фреймворк без сборщика мусора, эффективно обеспечить immutable, без необходимости копирования состояния благодаря правилам владения данными Rust, и какие есть особенности при трансляции Rust в WebAssembly.



Пост подготовлен по материалам доклада Дениса на конференции HolyJS 2018 Piter. Под катом — видео и текстовая расшифровка доклада.
Читать дальше →
Всего голосов 53: ↑50 и ↓3 +47
Просмотры12.2K
Комментарии 22

Использование Docker для сборки и запуска проекта на C++

ПрограммированиеC++
Из песочницы

В этой публикации речь пойдет о том, как выполнить сборку C++ проекта, использующего GTest и Boost, при помощи Docker. Статья представляет собой рецепт с некоторыми поясняющими комментариями, представленное в статье решение не претендует на статус Production-ready.


Зачем и кому это может понадобиться?


Предположим, что вам, как и мне очень нравится концепция Python venv, когда все нужные зависимости расположены в отдельной, строго определенной директории; или же вам необходимо обеспечить простую переносимость среды сборки и тестирования для разрабатываемого проекта, что очень удобно, например, при присоединении нового разработчика к команде.


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


Представленное в статье окружение можно использовать как каркас для тестовых заданий или лабораторных работ.

Читать дальше →
Всего голосов 22: ↑18 и ↓4 +14
Просмотры21K
Комментарии 11

Планирование потоков в Windows. Часть 1 из 4

Блог компании Семинары Станислава СидристогоПрограммирование.NETПараллельное программирование

Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам.



Потоки и планирование потоков


Что такое поток? Давайте дадим краткое определение. По своей сути поток это:


  • Средство параллельного относительно других потоков исполнения кода;
  • Имеющего общий доступ ко всем ресурсам процесса.

Очень часто часто слышишь такое мнение, что потоки в .NET — они какие-то абсолютно свои. И наши .NET потоки являются чем-то более облегчённым чем есть в Windows. Но на самом деле потоки в .NET являются самыми обычными потоками Windows (хоть Windows thread id и скрыто так, что сложно достать). И если Вас удивляет, почему я буду рассказывать не-.NET вещи в хабе .NET, скажу вам так: если нет понимания этого уровня, можно забыть о хорошем понимании того, как и почему именно так работает код. Почему мы должны ставить volatile, использовать Interlocked и SpinWait. Дальше обычного lock дело не уйдёт. И очень даже зря.


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


Задача процессора — просто исполнять код. Поэтому с точки зрения процессора есть только один поток: последовательное исполнение команд. А задача операционной системы каким-либо образом менять поток т.о. чтобы эмулировать несколько потоков.

Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры15.2K
Комментарии 20

Ликбез по респираторам. Помогает ли респиратор от заражения вирусом. Обзор 11 респираторов

Научно-популярноеDIY или Сделай самЛайфхаки для гиковЗдоровьеЭкология


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

Читать дальше →
Всего голосов 65: ↑43 и ↓22 +21
Просмотры1.3M
Комментарии 135

Задержать COVID-19. Все про фильтрацию воздуха на случай пандемии

UsabilityБиотехнологииЛайфхаки для гиковЗдоровьеЭкология
Tutorial
По материалам из телеграм-канала LAB66 и присоединенного к нему чата.

Это время для фактов, а не для страха. Это время для науки, а не слухов. Это время солидарности, а не охоты на ведьм…
директор ВОЗ Tedros Adhanom Ghebreyesus про эпидемию COVID-19
Прошло немного времени с момента публикации моей статьи про респираторную защиту во время эпидемии. За это время, отчасти благодаря активному обсуждению в «приканальном» чате выработалась некоторая система, которой бы я хотел поделится и с читателями хабра. Вынудило меня написать эту статью то, что из-за коронавируса поднялся нездоровый хайп, на волне которого на поверхность начала всплывать совсем не та информация, которая всплывать должна была бы (равно как и внезапно подскочили до х40 раз цены на респираторы, притом все без разбора). Так что нужно расставить точки над i. Под катом читаем про подбор правильного респиратора, про сборку кастомных фильтров и стерилизацию зараженных средств защиты. Ответы на вопросы.

Грантовая поддержка исследования
Фактически, в роли «научного грантодателя» для этой статьи выступают мои «меценаты» с Patreon. Благодаря им все и пишется. Поэтому и ответ они могут получить раньше всех других, и черновики увидеть, и даже предложить свою тему статьи. Так что, если интересно то, о чем я пишу и/или есть что сказать — поспешите стать моим «патроном» (картинка кликабельна):



Статью же настоятельно рекомендую «в закладки». Буду рад любому посильному распространению статьи. Краткий итоговый FAQ — в конце статьи.


Собираем полумаску под себя!
Всего голосов 81: ↑77 и ↓4 +73
Просмотры360.1K
Комментарии 290

В двух словах: Лучшие практики Async/Await в .NET

Блог компании OTUSПрограммированиеC#
Перевод
В преддверии старта курса «Разработчик C#» подготовили перевод интересного материала.




Async/Await — Введение


Языковая конструкция Async/Await существует со времен C# версии 5.0 (2012) и быстро стала одним из столпов современного программирования на .NET — любой уважающий себя C# разработчик, должен использовать ее для повышения производительности приложений, общей отзывчивости и разборчивости кода.

Async/Await делает обманчиво простым внедрение асинхронного кода и избавляет программиста от необходимости разбираться в деталях его обработки, но многие ли из нас действительно знают, как она работает, и каковы преимущества и недостатки этого метода? Существует много полезной информации, но она разобщена, поэтому я решил написать эту статью.

Ну что ж, давайте углубимся в тему.
Читать дальше →
Всего голосов 36: ↑33 и ↓3 +30
Просмотры22.9K
Комментарии 27

Коронавирус 2019-nCoV. FAQ по защите органов дыхания и дезинфекции

Научно-популярноеЛайфхаки для гиковЗдоровьеЭкология
🔥 Технотекст 2020
Tutorial
Китайский коронавирус, он же «пневмония Уханя» на неделе стал одной из самых горячих тем. В классической «кто виноват и что делать» меня, традиционно, волнует только вторая часть. Сегодня под катом — статья про дезинфекцию, маски и обеззараживание помещений. Объединил в одной статье несколько заметок из своего телеграм-канала. Кладем в закладки и шлем друзьям!


Стоп! 2019-nCoV
Всего голосов 103: ↑96 и ↓7 +89
Просмотры572.7K
Комментарии 409

Как делается косплей. Cоздание костюма Advanced Suit Aйзека Кларка из игры Dead Space 2

DIY или Сделай сам
Tutorial

Зачем и о чем?


На хабре мне не попадалось статей освещающих тему косплея с точки зрения того как делаются все эти костюмы, поэтому я решил это исправить и рассказать о том как я делал косплей на персонажа Айзека Кларка из игры Dead Space 2.

Думаю о самом понятии косплея, его текущем статусе в России и в мире рассказывать не стоит (есть статьи про это, да и пересказывать wikipedia не хочется), поэтому сразу перейдем к делу.
Если какие-то моменты кажутся не достаточно раскрытыми — постараюсь поподробнее ответить на возникающие вопросы в комментариях.

Начнем с примера того что у нас в итоге вышло:




Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Просмотры10.9K
Комментарии 12

Самодельный электромобиль — всё не так, как думаешь

Анализ и проектирование системЭнергия и элементы питанияDIY или Сделай самТранспортЭлектроника для начинающих
Из песочницы
Всем привет. Учась в университете я собрал маленький электромобильчик, ну или карт. Его фишкой было то, что всё управление электроприводом, включая тормоза было отдано самодельному контроллеру. И именно о том, как я делал этот маленький автомобильчик, и с какими подводными камнями столкнулся при постройке — хотелось бы рассказать в данном материале. Материал не претендует на уникальность, но для меня это был большой и интересный опыт.

image
Читать дальше →
Всего голосов 157: ↑153 и ↓4 +149
Просмотры56.3K
Комментарии 74

О работе ПК на примере Windows 10 и клавиатуры ч. 1

C++Системное программированиеCC#Разработка под Windows
Из песочницы
image

Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Windows 10. Данный цикл статей рассчитан в первую очередь на студентов технических специальностей. Мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до отображения в Notepad.exe. В виду обширности и междисциплинарности темы в статьях могут быть неточности, о которых сообщайте в комментариях. Какая-то информация может быть устаревшей в виду скорости с которой развивается Windows.
Читать дальше →
Всего голосов 85: ↑78 и ↓7 +71
Просмотры82.8K
Комментарии 412

Фамильный вики-движок Bonsai: итоги 2019 года

Разработка веб-сайтов.NETC#Хранение данных
В начале прошлого года я рассказывал про проект Bonsai — движок для создания семейного вики и фотоальбома с открытым исходным кодом. С тех пор проект планомерно развивался. За год сделано несколько фич, благодаря которым движок теперь значительно проще попробовать в у себя и приятнее использовать в дальнейшем.



Под катом — подробности, планы на будущее и немного bounty.
Читать дальше →
Всего голосов 27: ↑27 и ↓0 +27
Просмотры6.1K
Комментарии 31

Пост про хорошие рюкзаки (спасите)

ГаджетыОфисы IT-компанийЛайфхаки для гиков

— Да у тебя просто рюкзака нормального не было!



Мне катастрофически не везёт с рюкзаками.


Как обычно бывает: до покупки с ними как будто конфетно-букетный период. Всё выглядит здорово, удобно и эргономично, много места, и лямочка там, где надо, и крепления удобные. Смотришь в магазине и нарадоваться не можешь. А потом, когда документально оформили отношения, появляется беда. Лямка на самом деле не там, крепление цепляется за рукав, ноут болтается, спине неудобно, мало места, в транспорте он занимает всё свободное пространство и вызывает ненависть попутчиков, плюс зачем там вообще USB!?


Кажется, мне нужна ваша помощь в выборе просто нормального удобного рюкзака на каждый день. А если вы тоже в поисках, проходите под кат — там уже есть несколько рюкзаков, которые рекомендуют мои коллеги.

Читать дальше →
Всего голосов 31: ↑21 и ↓10 +11
Просмотры22.4K
Комментарии 103

Информация

В рейтинге
5,868-й
Зарегистрирован
Активность