Pull to refresh
74
0
Виталий Чужа @hDrummer

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

Send message

DotNext — герои тут другие

Reading time4 min
Views11K
В прошлый раз я рассказывал про простых самобытных парней, которые где-то тихо упоролись и написали инструменты мирового уровня для Java. В мире .NET герои не такие. В мире .NET герой — это бунтарь в галстуке. Потому что нет зоопарковости платформы. MS выпускает инструмент, и он работает. Почти всё вендорское, хоть и кроссплатформенное. Связка с ОС хороша, поэтому нет даже зоопарка GC. Профайлеров несколько, но врут они намного меньше. Нет проблемы выбора среди миллиона инструментов.

Но герои всё равно есть. И так уж получилось, что у наших самых хардкорных спикеров довольно странные увлечения помимо, собственно, разработки.

Первый парень, который мощно задвинет, — это Джеффри Рихтер. Это тот самый, который написал «Windows для профессионалов» и «CLR via C#». Если вы кодите про дотнет, то немного его знаете, потому что без прочтения этой книги невозможно пройти ни одного собеседования по .NET. Работает он в MS, архитектор в Ажуре. У него свой бизнес ещё. Ведёт видеокурсы для senior’ов про то, как правильно, потому что разбирается во всём под капотом.

В свободное от работы время разводит людей (член Международного Братства Фокусников) и лабает джаз на ударных и клавишных.
Читать дальше →

Новый Microsoft Learn

Reading time2 min
Views7.5K
Мы рады сообщить вам о запуске нового учебного сайта Microsoft Learn — удобного ресурса для изучения технологий Майкрософт. Заглядывайте под кат за подробностями!

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

Переработка вредит и продуктам, и сотрудникам

Reading time7 min
Views15K
Практически все компании сейчас оказывают давление на сотрудников, побуждая их работать больше часов, чем указано в договоре. Это давление маскируется разными эвфемизмами: красивыми словами про миссию, личный вклад, марш-бросок. Те, кто изъявляет готовность перерабатывать, часто получают поощрительные знаки внимания от руководства: «Джо выложился на сто пятьдесят процентов, чтобы помочь нам достигнуть поставленных целей: работал допоздна, выходил на выходных. Он жертвовал своим временем ради нашей миссии».



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

По сути своей, необходимость в переработке происходит от проблем с профессионализмом, расстановкой приоритетов и гибкостью. Я, по большей части, буду говорить о сверхурочной работе в IT компаниях, но то же самое негативное влияние на продуктивность и качество работы можно наблюдать и в любой другой сфере.
Читать дальше →

Подписание PDF на JS и вставка подписи на C#, используя Крипто ПРО

Reading time8 min
Views28K
Итак. Пришла задача. Используя браузер предложить пользователю подписать PDF электронной подписью (далее ЭП). У пользователя должен быть токен, содержащий сертификат, открытый и закрытый ключ. Далее на сервере надо вставить подпись в PDF документ. После этого надо проверить подпись на валидность. В качестве back-end используем ASP.NET и соответственно C#.

Вся соль в том, что надо использовать подпись в формате CAdES-X Long Type 1, и российские ГОСТ Р 34.10-2001, ГОСТ Р 34.10-2012 и т.п. Кроме того подписей может быть более одной, то есть пользователи могут по очереди подписывать файл. При этом предыдущие подписи должны оставаться валидными.
Читать дальше →

Рецензия на книгу «Разработка требований к программному обеспечению» Карла Вигерса и Джой Битти

Reading time5 min
Views62K
В 2018-м году переиздали книгу «Разработка требований к программному обеспечению». Коллеги прислали мне ссылку на издание. Авторы добавили приёмы для работы в agile-проектах, определение роли аналитика и рекомендации по автоматизации. В Сети ходят крайне противоречивые отзывы. Заказал книгу и разобрался в вопросе.
Читать дальше →

Моё разочарование в софте

Reading time11 min
Views393K

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


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

Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.

Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.

Непрерывный рост JSON

Reading time7 min
Views24K
Статья написана в сентябре 2017 года



JSON захватил мир. Если сегодня любые два приложения общаются друг с другом через интернет, то скорее всего делают это с помощью JSON. Стандарт принят всеми крупными игроками: из десяти самых популярных Web API, которые разработаны в основном крупными компаниями, такими как Google, Facebook и Twitter, только один API передаёт данные в XML, а не JSON. Для примера, Twitter поддерживал XML до 2013 года, когда выпустил новую версию API исключительно на JSON. Среди остальных разработчиков JSON тоже популярен: согласно Stack Overflow, о JSON задаётся больше вопросов, чем о любом другом формате обмена данными.
Читать дальше →

Как айтишнику найти работу в США и ЕС: 9 лучших ресурсов

Reading time5 min
Views174K
Мировой рынок IT стремительно развивается. С каждым годом профессия разработчика софта становится все более востребованной — уже в 2017 году в мире насчитывался примерно 21 миллион программистов различных направлений.

К сожалению, русскоговорящий рынок IT находится еще на начальной стадии развития — уже есть крупные и успешные проекты, но рынок еще долго не сможет сравняться с европейским и американским, которые производят до 85% всех IT-продуктов мира.
Читать дальше →

Что такое Selenium?

Reading time4 min
Views585K
Время от времени мне приходится распутывать терминологические хитросплетения, связанные с употреблением словосочетаний, в которых встречается слово Selenium – Selenium 2.0, Selenium IDE, Selenium RC, Selenium WebDriver, Selenium Server, Selenium Grid.

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

Слабости HTTPS. Часть 1

Reading time3 min
Views20K
Иногда технически неподготовленные люди продавая IT услугу либо продукт, на вопрос «а как насчёт надёжности вашей системы?» отвечают: «У нас всё защищено по https». Если с другой стороны такой же технически неподготовленный человек, то вопрос автоматически закрывается, и все остались довольны уровнем безопасности. Сам неоднократно был свидетелем подобного разговора. Было смешно.

HTTPS активно продвигается Интернет сообществом и основная идея перевести весь Интернет к определённому году на шифрованный трафик, благо современные машины это позволяют. HTTPS — это всегда хорошо. Но нужно знать и подводные камни связанные с ним.
Задача данной статьи — показать возможность слушать HTTPS трафик пользователя (назовём его Степан), и чтобы он этого не заметил.

Мы не будет брать последние исследования и эксплоиты в области взлома HTTPS. Пойдём лучше к основам и рассмотрим давно известные и простые способы.

HTTPS — это HTTP + SSL. Http — это открытый протокол передачи данных, открытый означает, что данные передаются в открытом виде. SSL — это протокол, обеспечивающий безопасное соединение посредством шифрования. То есть, наша задача состоит именно в том, чтобы перехватить чистый трафик нашего Степана и вывести его на чистую воду, какие же ХХХ сайты он смотрит по вечерам. Но мы ведь не как наш Степан и не смотрим XXX, поэтому для примера возьмём поисковик bing, который пока ещё может работать как по https, так и по http.

Ниже на картинке пример как выглядит перехваченный трафик при помощи WireShark на один и тот же запрос в bing для HTTP и для HTTPS.
Читать дальше →

В продолжении темы автоматизации вывода файлов по шаблону. Excel

Reading time7 min
Views20K


Автоматизация заполнения и вывода файлов по шаблонам рутинных документов это одна из та областей в отрасли строительства по которой традиционно софт, кроме бухгалтерского, находится на уровне вылизанных поделок, на мой скромный взгляд. Поэтому, развивая тему, приглашаю обсудить те проблемы и возможности, с которыми пришлось столкнуться в процессе реализации на базе MS Excel.
Читать дальше →

Олимпиада SQL: разбор задачи про календарь

Reading time9 min
Views24K

Здравствуйте, в эфире Радио SQL!


Продолжаем тему популяризации языка SQL среди широких масс IT-населения нашей планеты, на этот раз в русскоязычной его части. Впрочем, жители других планет, тоже подтягивайтесь.


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


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


Обращаю внимание, что это именно разбор, а не готовое решение. Чтобы избежать тупого copy-paste, я намерено предприму пару действий, которые позволят получить готовый результат только тем, кто немного поработает головой.

Забор раздачи здесь

Ричард Хэмминг: «Необъяснимо высокая эффективность математики»

Reading time23 min
Views50K
«Это самое глубокое эссе, которое я видел относительно философии науки; на самом деле, оно важно для всего нашего понимания мысли, познания или реальности.»

image

Пролог


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

Человек, насколько мы знаем, всегда задавался вопросом о себе, мире вокруг и смысле жизни. Во множестве мифов повествуется о том почему и как Бог или боги создали человека и вселенную. Это теологические объяснения. Их отличительная черта — нет смысла спрашивать почему вещи таковы, как они есть, если боги создали их такими.

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

Из этих ранних попыток объяснить мир постепенно возникла философия, также как и современная наука. Не то чтобы наука объясняет «почему» вещи таковы, как они есть — гравитация не объясняет «почему» предметы падают, но наука дает нам столь детальное объяснение «каким образом» это происходит, что у нас появляется чувство, будто мы знаем «почему». Давайте проясним; море связанных между собой фактов позволяет науке сказать «почему» вселенная именно такая.
Читать дальше →

Кража NTLM через PDF

Reading time3 min
Views12K

Прошло всего несколько дней после того, как было объявлено, что злоумышленники могут использовать уязвимость в MS Outlook, используя OLE, чтобы украсть NTLM-хэш пользователей Windows.

Исследовательская группа Check Point обнаружила, что утечка дайджеста NTLM возможна и с помощью файлов PDF. Атака возможна без какого-либо взаимодействия с пользователем — достаточно просто открыть файл.
Продолжение внутри

Правостороннее присваивание и другие необычные приёмы программирования в C#

Reading time7 min
Views28K
В этой статье будут рассмотрены с нового ракурса такие привычные и фундаментальные вещи, как присваивание и передача параметров в методы.

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

Будет много нового и интересного, возможно, даже полезного. А после прочтения каждый сам сможет решить, стоит ли ему применять описанные техники в дальнейшей повседневной практике.

За дело!

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

Взломай меня, если сможешь или что такое тестирование на проникновение

Reading time8 min
Views11K
Недавно мне посчастливилось пройти курс от Offensive Security под названием Penetration Testing with Kali Linux, который знакомит слушателей с основами тестирования на проникновение. С моей точки зрения, этот курс один из самых лучших, которые я когда-либо проходил. Мне приходилось участвовать в различном типе тренингах и курсах в разных областях теории и практики, но этот произвел на меня одно из сильнейших впечатлений в жизни.

Услуги в области информационной безопасности, называемые тестированием на проникновение или пентест, в нашей стране (Узбекистан) по сути не представлены, специалистов надлежащего уровня и подготовки нет. Для меня было крайне интересно понять внутренности того, как работают специалисты по тестированию на проникновение, а с учетом того, что Offensive Security считается признанным мировым лидером в сфере обучения данному мастерству, выбор данного тренинга был идеальным вариантом.
Читать дальше →

Как не сойти с ума от Scrum? Опыт растущего проекта

Reading time7 min
Views15K


Надежда Мецкер, Senior QA, DataArt

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

Первое, о чем я расскажу, это Feature Demo — процесс, в ходе которого мы демонстрируем новый функционал приложения внутри своей же команды. Мы рассматриваем, как именно он был сделан, что получилось особенно удачно, а где можно было сделать лучше. Уже после общего рассмотрения и окончательного одобрения функционал может уходить в продакшн.
Читать дальше →

Тренинг FastTrack. «Сетевые основы». «Ценность беспроводных локальных сетей Cisco». Эдди Мартин. Декабрь, 2012

Reading time5 min
Views3.9K
Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий.



Мы продолжаем цикл из 27 статей на основе его лекций:

01/02: «Понимание модели OSI» Часть 1 / Часть 2
03: «Понимание архитектуры Cisco»
04/05: «Основы коммутации или свитчей» Часть 1 / Часть 2
06: «Свитчи от Cisco»
07: «Область использования сетевых коммутаторов, ценность свитчей Cisco»
08/09: «Основы беспроводной локальной сети» Часть 1 / Часть 2
10: «Продукция в сфере беспроводных локальных сетей»
11: «Ценность беспроводных локальных сетей Cisco»
12: «Основы маршрутизации»
13: «Строение роутеров, платформы маршрутизации от Cisco»
14: «Ценность роутеров Cisco»
15/16: «Основы дата-центров» Часть 1 / Часть 2
17: «Оборудование для дата-центров»
18: «Ценность Cisco в дата-центрах»
19/20/21: «Основы телефонии» Часть 1 / Часть 2 / Часть 3
22: «Программные продукты для совместной работы от Cisco»
23: «Ценность продуктов для совместной работы от Cisco»
24: «Основы безопасности»
25: «Программные продукты Cisco для обеспечения безопасности»
26: «Ценность продуктов Cisco для обеспечения безопасности»
27: «Понимание архитектурных игр Cisco (обзор)»

И вот одиннадцатая из них.

The Dream Machine: История компьютерной революции. Пролог

Reading time10 min
Views13K
image

Эту книгу советует Алан Кей. Он часто говорит фразу «Компьютерная революция еще не случилась.» Но компьютерная революция началась. Точнее — ее начали. Ее начали определенные люди, с определенными ценностями и у них было видение, задумки, план. Исходя из каких предпосылок революционеры создали план? По каким причинам? Куда они замыслили вести человечество? На каком этапе мы сейчас?

(За перевод спасибо Oxoron, кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru)
Читать и сохранить в избранное

Не все так просто с Petya

Reading time6 min
Views111K
27-го июня, 2017 года новая кибератака поразила множество компьютерных систем в Украине и других странах. Атака была вызвана зловредом, который ESET определял как Diskcoder.C (aka ExPetr, PetrWrap, Petya, или NotPetya).

Эта атака маскировалась под эпидемию обычного шифровальщика — который шифровал данные на диске и требовал 300$ в биткоинах для восстановления данных. Но на самом деле, план был в нанесении ущерба, поэтому автора сделали все что могли, чтобы усложнить расшифровку данных.

В нашем блоге, мы уже отнесли эту атаку к группе TeleBots и раскрыли детали другой похожей цепочки атак против Украины. Эта статья раскрывает детали про первичный вектор распространения, который был использован для DiskCoder.C.

Итак, рассказ о поддельном обновлении.
Читать дальше →

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity