Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

Самые интересные блоги и сайты по C# / .NET

Время на прочтение 3 мин
Количество просмотров 14K

0907_cs_sites_ru/image1.png


В этой небольшой подборке собраны разные источники информации, которые могут быть полезны C# / .NET разработчикам: блоги, репозитории с исходным кодом, стандарты и аккаунты разработчиков, рассказывающих о тонкостях как языка, так и платформы в целом.

Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 14

Аудио-графическое шифрование или как звук в картинку спрятать

Время на прочтение 5 мин
Количество просмотров 12K

Под покровом вечера пятницы, поглощая хмельные запасы нашей необъятной и листая любимый Хабр, я наткнулся на плеяды статей о шифровании. Что только куда не зашифровывали, от совсем уж банального шифра Цезаря до менее банального шифрования изображений в аудиофайл. Наслаждаясь достойным вечера чтивом, в голову зашел не разувшись интересный вопрос: "-А кто-нибудь звук в картинку прятал?". Зудящая жажда знаний заставила меня смахнуть с живота остатки кальмаровых колец и сесть за свою рабочую лошадку.

Читать далее
Всего голосов 12: ↑6 и ↓6 0
Комментарии 18

FOSS News №58 – дайджест материалов о свободном и открытом ПО за 22-28 февраля 2021 года

Время на прочтение 10 мин
Количество просмотров 3K

Всем привет!


Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Red Hat Enterprise Linux стал бесплатен для организаций, развивающих открытое ПО; Google профинансирует работу по повышению безопасности ядра Linux; на что соглашается человек, когда разрешает все куки; подъём Linux Foundation; интервью с Райаном Далем, создателем Node.js: «Снижать сложность всегда полезно»; Bedrock Linux: лего-набор для создания идеального linux-дистрибутива; использование быстрых клавиш в командной строке Linux и многое другое.

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

HTTP-заголовки для ответственного разработчика

Время на прочтение 15 мин
Количество просмотров 99K

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

Разработчики соединяют людей.
Разработчики помогают людям.
Разработчики дают людям возможности.

Разработчики могут создать сеть для всех, но эту способность необходимо использовать ответственно. В конце концов, важно создавать вещи, которые помогают людям и расширяют их возможности. В этой статье я хочу рассказать о том, как HTTP-заголовки могут помочь вам создавать лучшие продукты для лучшей работы всех пользователей в интернете.
Читать дальше →
Всего голосов 92: ↑90 и ↓2 +88
Комментарии 64

Как «декодирование цифрового мира» взорвало зал: топ-10 докладов DotNext 2018 Piter

Время на прочтение 8 мин
Количество просмотров 17K
Привет, Хабр! Мы выложили видеозаписи докладов с конференции DotNext 2018 Piter. Получился плейлист из 26 видео! В нашей подборке под катом будут десять, но только самых лучших, получивших высшие оценки от зрителей. Если есть силы смотреть все доклады из плейлиста — мы только рады.
 
Традиционно, чем ниже доклад по списку, тем выше его рейтинг. Но очень важно понимать: все доклады имеют примерно одинаковые оценки, около 4,36-4,49 баллов, и расположение может легко измениться, стоит немного поменять методику подсчета. К примеру, на доклад, занявший второе место с рейтингом 4,48, отзывов в несколько раз больше, чем на лучший доклад с рейтингом 4,49. В общем, смотреть нужно всё.

Под катом все видео разбиты с оглавлением по содержимому поста, презентациями и короткими описаниями.


Читать дальше →
Всего голосов 46: ↑46 и ↓0 +46
Комментарии 1

Про модель, логику, ООП, разработку и остальное

Время на прочтение 29 мин
Количество просмотров 108K
Часто ли вы задумываетесь – почему что-то сделано так или иначе? Почему у вас микросервисы или монолит, двухзвенка или трехзвенка? Зачем вам многослойная архитектура и сколько у вас вообще слоев? Что такое бизнес-логика, логика приложения, презентационная логика и почему все так разделено? Посмотрите на свое приложение – как оно вообще спроектировано? Что в нем и где находится, почему это сделано именно так?
Потому что так написано в книжках или так говорят авторитетные личности? Какие ВАШИ проблемы решает тот или иной подход/паттерн?
Даже то, что на первый взгляд кажется очевидным, порой бывает очень сложно объяснить. А иногда, в попытке объяснения, приходит понимание того, что очевидные мысли были и вовсе ошибочны.
Давайте попробуем взять какой-нибудь пример и изучить на нем эти вопросы со всех сторон.
Читать дальше →
Всего голосов 55: ↑51 и ↓4 +47
Комментарии 34

Тёмная сторона MH-Z19

Время на прочтение 13 мин
Количество просмотров 101K
Что, опять? Сколько ж можно?

Да, сегодня мы снова поговорим о всеми нами любимом датчике углекислого газа Winsen MH-Z19. Нет, повторов не будет*.



* почти

Как вы могли заметить, на страницах настоящего ресурса регулярно появляются страшилки статьи об опасностях высокой концентрации СО2 в помещении. И хотя утверждения, что концентрации выше 1000 ppm несут ад и погибель, слегка преувеличены (википедия говорит, что хоть какие-то эффекты начинаются с 1%, то бишь 10 000 ppm, тогда как у датчика весь диапазон — 5000 ppm) — СО2 может служить индикатором присутствия других нехороших вещей в силу недостаточности вентиляции. Потому я тоже решил приобщиться к увлекательному миру СО2-метрии и разжился упомянутым датчиком.

Первым делом, конечно, я его подключил к ардуине. Скопипастил (с необходимыми изменениями) код из статьи, на экранчике проступили заветные цифры.

Но пока я копипастил, в душу закрался червь сомнения — а отчего это датчик выдаёт девять байт, а на СО2 из них приходится всего два байта? Может быть, он хочет сказать мне что-то ещё?
Поговорим с датчиком по душам
Всего голосов 72: ↑72 и ↓0 +72
Комментарии 66

Простое против бесплатного: сравниваем Moodle и Teachbase

Время на прочтение 4 мин
Количество просмотров 22K
Многие школьные и университетские преподаватели развивают направление онлайн обучения с использованием открытых LMS платформ. Сегодня мы рассмотрим одну из тех, с которой, пожалуй, чаще всего сравнивают TeachBase: известное во всём мире, но смешно звучащее только на русском языке решение Moodle.


Читать дальше →
Всего голосов 20: ↑14 и ↓6 +8
Комментарии 5

Погружение в ASP.NET 5 Runtime

Время на прочтение 16 мин
Количество просмотров 28K

Вступление от переводчика


Данная статья является переводом ASP.NET 5 — A Deep Dive into the ASP.NET 5 Runtime — введения в архитектуру DNX и построенного на нем ASP.NET 5. Так как оригинальная статья была написана в марте 2015 года, во время, когда ASP.NET 5 был еще в стадии активной разработки (примерно beta 3), многое в ней устарело. Поэтому при переводе вся информация была актуализирована до текущей версии ASP.NET 5 (RC1), также были добавлены ссылки на связанные ресурсы (в основном на docs.asp.net) и исходный код на GitHub (смотрите только в случаях, если вам интересна реализация). Приятного погружения!

.NET Runtime Environment (DNX)


ASP.NET 5 базируется на гибком, кроссплатформенном runtime, который может работать с разными .NET CLR (.NET Core CLR, Mono CLR, .NET Framework CLR). Вы можете запустить ASP.NET 5 используя полный .NET Framework или можете запустить используя новый .NET Core docs, который позволяет вам просто копировать все необходимые библиотеки вместе с приложением в существующее окружение, без изменения чего-либо еще на вашей машине. Используя .NET Core вы также можете запустить ASP.NET 5 кроссплатформенно на Linux docs и Mac OS docs.

Инфраструктура позволяющая запускать и исполнять приложения ASP.NET 5 называется .NET Runtime Environment docs или кратко DNX. DNX предоставляет все что необходимо для работы .NET приложений: host process, CLR hosting логику, обнаружение управляемой Entry Point и т.д.

Логически архитектура DNX имеет пять слоев. Я опишу каждый из этих слоев вместе с их обязанностями.
Изображение взято из статьи DNX-structure wiki
Архитектура ASP.NET 5 и DNX

Читать дальше →
Всего голосов 25: ↑22 и ↓3 +19
Комментарии 14

Запись видеозвонка из браузера: мы надеялись запилить за неделю

Время на прочтение 5 мин
Количество просмотров 9.7K
В начале своего пути наша облачная платформа voximplant позволяла работать только с голосовыми звонками. Но прогресс не стоит на месте, и со временем мы добавили передачу видео, текстовые сообщения, presence и множество других возможностей. А недавно закончили разработку функции записи видео: теперь во время видеозвонка достаточно вызвать функцию record из управляющего звонком javascript, чтобы получить ссылку на записываемый видеофайл.

Для наших клиентов все выглядит и работает очень просто, но для нас эта задача оказалась не такой простой, как мы думали. Несколько месяцев потребовалось нашим далеко не слабым разработчикам чтобы решить ряд технических проблем и создать адекватно работающее решение. Под катом — история нашей борьбы с кодеками, файловыми форматами и webRTC.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 8

Готовим ASP.NET5, выпуск №5 — Gulp и Bower спешат на помощь

Время на прочтение 5 мин
Количество просмотров 17K
Мы продолжаем нашу колонку по теме ASP.NET5 публикацией от Вячеслава Бобика — .NET-разработчика из компании Radario. В этой статье Вячеслав интересно рассказывает о применении с ASP.NET5 популярных инструментов автоматизации Gulp и Bower c интеграцией в Visual Studio. Предыдущие статьи из колонки всегда можно прочитать по ссылке #aspnetcolumn — Владимир Юнев

В наши дни client-side разработка становиться не менее сложной, чем разработка server-side. Современному frontend разработчику приходится решать множество рутинных задач, таких как: препроцессинг Lass/Scss/Stylus, написание вендорских префисксов, поспроцессинг css, склеивать стили в один файл и многое другое.


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

Поэтому у frontend разработчиков есть довольно мощные инстументы, которые берут на себя выполнение множетсва рутинных задач, такие как: gulp и bower, а в новом ASP.NET5 они поставляются из коробки. Давайте рассмотри на примере ASP.NET5 приложения, как мы можем использовать gulp и bower.
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 32

Достаточно Git-а, чтобы быть (менее) опасным

Время на прочтение 23 мин
Количество просмотров 131K
imageТы просто-напросто ненавидишь Git? Ты абсолютно счастлив с Mercurial (или, фу, с Subversion), но раз в месяц тебе приходится отважно сталкиваться с Git, потому что каждый, даже его чертова собака, теперь использует GitHub? Тебя терзают смутные подозрения, что половина всех команд Git на самом деле удалят всю твою работу навсегда, но ты не знаешь какие именно и не хочешь проводить три недели, углубляясь в документацию?

Хорошие новости! Я написал тебе этот изумительный Интернет-пост. Я надеюсь, что смогу размазать достаточно Git-а по твоему лицу, чтобы понизить вероятность сделать что-то непоправимое, а так же уменьшить твой страх что-то сломать. Этого должно быть также достаточно, чтобы сделать документацию Git немного более понятной; она крайне тщательно и глубоко проработана и очень глупо, если ты все еще не прочитал половину.

Я постараюсь излагать коротко, но также, чтобы это было потенциально полезно тем людям, кто вообще никогда не сталкивался с контролем версий, поэтому повсюду будет разбросан 101 совет. Не бойся! Я не думаю, что пользователи Mercurial понятия не имеют, что такое патч.
Но подожди! Там еще...
Всего голосов 131: ↑103 и ↓28 +75
Комментарии 365

Готовим ASP.NET5, выпуск №4 — подробно про маршрутизацию

Время на прочтение 11 мин
Количество просмотров 17K
Мы продолжаем нашу колонку по теме ASP.NET5 публикацией от Станислава Бояринцева (@masterL) — разработчика корпоративных веб-систем из компании ItWebNet. В этой статье Станислав очень подробно и интересно рассказывает о механизме маршрутизации в ASP.NET5. Предыдущие статьи из колонки всегда можно прочитать по ссылке #aspnetcolumn — Владимир Юнев


Как была организована система маршрутизации до ASP.NET 5


Маршрутизация до ASP.NET 5 осуществлялась с помощью ASP.NET модуля UrlRoutingModule. Модуль проходил через коллекцию маршрутов (как правило объектов класса Route) хранящихся в статическом свойстве Routes класса RouteTable, выбирал маршрут, который подходил под текущий запрос и вызывал обработчик маршрута, который хранился в свойстве RouteHandler класса Route — каждый зарегистрированный маршрут мог иметь собственный обработчик. В MVC-приложении этим обработчиком был MvcRouteHandler, который брал на себя дальнейшую работу с запросом.
Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 14

Перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures»

Время на прочтение 3 мин
Количество просмотров 64K
imageПривет, Хабр!

Мы (@ali_aliev и avenat) с удовольствием представляем вашему вниманию перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures» от Брэда Миллера (Brad Miller) и Дэвида Ранума (David Ranum) из Luther College, что в Айове, США.

О чём?

В учебнике подробно рассматриваются, объясняются и анализируются наиболее часто используемые структуры данных и алгоритмы. Изложение идёт от простого (что такое алгоритм, как оценить его производительность) к сложному (деревья, графы) с живыми примерами и кодом. В качестве языка программирования выбран Python, а для тех, кто с ним плохо знаком, в первой главе есть большой раздел с его концентрированным описанием.

Авторы рассказывают о таких структурах данных, как стеки, очереди (в том числе с приоритетом), деки, хэш-таблицы, списки, деревья и графы. Последним двум вообще посвящены весьма не маленькие главы. Изложение не просто описательное: для каждой структуры предлагается вариант (а иногда и не один) её реализации на Python. Упор, естественно, делается на объектно-ориентированное программирование: создаётся класс, к нему пишутся методы, некоторые из которых авторы оставляют читателям для самостоятельной доработки. Затем идут примеры использования рассмотренной структуры и описание алгоритмов с её участием.

Одна из глав учебника посвящена рекурсии, в том числе её графическому представлению (фракталы). Разбирается несколько известных рекурсивных задач, а в конце наглядно демонстрируется, что эта методика, несмотря на её элегантность, отнюдь не «серебряная пуля».

Не обделены вниманием и классические алгоритмы для сортировки и поиска. И, естественно, для каждого из них анализируются производительность и «подводные камни», а так же даются рекомендации по применению. В последних главах, посвящённых деревьям и графам, даётся много материала об их разновидностях и связанных с ними алгоритмах. Изложение тут становится более сжатым, многие моменты просто описываются с тем, чтобы после прочтения главы читатель реализовал их самостоятельно.
Читать дальше →
Всего голосов 48: ↑48 и ↓0 +48
Комментарии 19

Я, пират (глава 6)

Время на прочтение 7 мин
Количество просмотров 66K


Окончание рассказа. Начало можно прочитать здесь:

Главы 1-2 habrahabr.ru/post/184910
Главы 3-5 habrahabr.ru/post/186554

Исправлена ошибка с почтой в главе 1, возможно позже я добавлю детали к главам 3-5, которые по отзывам получились малоэмоциональными, а пока представляю вам последнюю главу. На ней заканчивается сюжет, придуманный год назад, и пока продолжение не планируется.
Читать дальше →
Всего голосов 91: ↑79 и ↓12 +67
Комментарии 34

Я, пират

Время на прочтение 17 мин
Количество просмотров 277K


Все-таки красные у меня глаза или нет? Кажется не очень. Может так и должно быть? Я внимательно разглядывал себя в зеркало. Нет, всё-таки красные, хоть и не так сильно. Может не стоит уже с утра проверять почту и ходить по всем этим сайтам? Ну напишут там что-то, а я не прочитаю, ну и что такого? Нет, каждый раз просыпаюсь и первым делом туда…

Так начинался фантастический рассказ — антиутопия про один день из жизни программиста в недалёком будущем, написанный мной в 2010 году. Меня просили продолжить, и через какое-то время появились идеи, но всё никак не было времени их реализовать. Однако в связи с последними событиями начинает казаться, что придуманный мной сюжет того гляди может стать реальностью. Поэтому сегодня представляю вам вторую главу. Рисунок был сделан в прошлом году совсем по другому поводу, но он хорошо подошел сюда как иллюстрация.
Читать дальше →
Всего голосов 228: ↑205 и ↓23 +182
Комментарии 70

Механические клавиатуры

Время на прочтение 17 мин
Количество просмотров 761K
Все мы давно ждем массового появления всевозможных кибер-перчаток и виртуальной реальности на каждом шагу, но все равно каждый день в офисе и дома нам приходится работать за такой банальной вещью, как обычная клавиатура.

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

Итак, некоторое время назад я озаботился сбором информации о клавиатурах, и даже начал готовить информацию для статьи, но к сожалению (к счастью?) нашлась исчерпывающая статья о всех нюансах сразу, которую я решил перевести.

Механические клавиатуры. Путеводитель.

Читать дальше →
Всего голосов 323: ↑313 и ↓10 +303
Комментарии 331

Аккумуляторы для ноутбуков — фантазии и реальность

Время на прочтение 4 мин
Количество просмотров 128K
5 лет назад мы начинали заниматься продажей аккумуляторных батарей для ноутбуков.
Тогда мы слабо представляли с какими проблемами китайского зодчества нам предстоит столкнуться.

Хочу рассказать, на что стоит обращать внимание при приобретении аккумулятора для ноутбука, да и вообще аккумуляторов для мобильных устройств.
Читать дальше →
Всего голосов 88: ↑82 и ↓6 +76
Комментарии 51

Объект 221, запасной командный пункт Черноморского флота

Время на прочтение 8 мин
Количество просмотров 6.3K
Пока народ обсуждает сколько ракет нужно, чтобы уничтожить все живое на планете, я расскажу вам о том как командование Черноморского флота СССР (далее ЧФ) собиралось спасаться на случай атомной войны. За информацию, которая известна об этом проекте сейчас, в советское время в лучшем случае отправили б в места не столь отдаленные. Но Советский Союз пал, и теперь объект этот известен не одному туристу, кроме того его можно посетить, что собственно я и сделал 2 раза.

Объект 221 это грандиозное сооружение, которое находиться прямо в горе на южной части полуострова Крыма, недалеко от Балаклавы. Высота была выбрана 495 метров, по данным геологоразведки гора представляла собой скалу, без разломов и полостей. «Крыша» из горной породы над помещениями бункера составляет 180 метров.
В случае атомной катастрофы, управляющие флотом а так же государственная элита отдыхающая в Крыму, возможно со своими семьями, могли переместиться в это убежище и автономно находиться в нем около 30 лет, попутно «пуляя» ракетами в ответ.
Узнать больше
Всего голосов 213: ↑196 и ↓17 +179
Комментарии 145

Информация

В рейтинге
Не участвует
Откуда
Днепр, Днепропетровская обл., Украина
Зарегистрирован
Активность