Pull to refresh
11
0
Алексей Ануфриев @Razaz

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

Send message

Готовим ORM, не отходя от плиты. Генерируем SQL — запрос на основе бинарных деревьев выражений

Reading time9 min
Views11K
image

Статья является продолжением первой части. В посте рассмотрим построение SQL-запроса по объектной модели типа, в виде бинарного дерева выражений и сопутствующие темы параметризации SQL-запросов, оптимизации рефлексии. Темы этой статьи сами по себе весьма обособленны, поэтому можно читать особо не обращая внимание на первую часть. Еще раз отмечу, данное решение, является «дело было вечером — делать было нечего» и не претендует на лавры промышленного продукта.
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments12

Как не надо делать защиту от эксплойтов на примере Norton Security

Reading time6 min
Views18K
Зимним вечером придя с работы, захотелось мне проверить работоспособность своей старой лабы (2012 года) на тему эксплуатации Use-After-Free в ActiveX под Internet Explorer . Собственно на новом ноуте у меня была Windows 10, и последний IE со всеми этими вашими isolated heap и тд. И вот я запустил свой сплойт, как вдруг вышел облом от туда, откуда не ждали, на новом ноуте у меня стоял Norton Security, который пафосно детектировал 0day и стопанул:



Вечер обещал быть томным. предыдущий опыт работы с NextGen защитами подсказывал мне, что ребята из Symatec сделали все «дешево и быстро», а значит можно попробовать обойти эту защиту не сильно парясь. В общем, как показала практика, этот подход по защите от сплойтов ОЧЕНЬ типовой и обходится практически универсальным и единым методом. Другими словами, при детальном подходе к эксплойту — один и тот же код будет работать и против Norton Security и против других систем защиты, которые используют такой же механизм обороны (ну и конечно против систем, где защиты нет). Посмотрим же в чем «архитектурная» ошибка выбранного Symantec метода защиты…

Читать дальше →
Total votes 79: ↑75 and ↓4+71
Comments26

Мыслим в стиле React

Reading time13 min
Views62K

image


Перевод туториала официальной документации библиотеки React.js.


Мыслим в стиле React


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


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


Total votes 45: ↑38 and ↓7+31
Comments16

Просто Angular

Reading time10 min
Views129K

Введение


8-9-го декабря 2016 года была проведена первая конференция по Angular в Бельгии. Игор Минар (ведущий разработчик Angular) выступил в качестве основного докладчика с несколькими интересными объявлениями относительно того, по какому графику будет выпускаться Angular. И представьте себе, в марте 2017 года нас ждет релиз Angular 4. При этом, на данный момент уже опубликована бета-версия.


От переводчиков


Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы выясним куда делась третья версия, и почему мы по-прежнему можем быть верны Angular. Сейчас начинающему фронтенд-разработчику, изучающему JavaScript, довольно трудно определиться: какой же фреймворк или библиотеку им взять и изучить, оставаясь в тренде? Конечно, без слова React, сейчас не обходится ни один разговор на тему фронтенда, однако, в свое время я начал с первой версии Angular, начитался много руководств по написанию фронтенда на ES6 (с классами и прочим добром) и до сих пор не жалею. Да, вы можете писать корпоративные приложения с использованием только jQuery, но по мере развития и сложности проекта вы начнете закапывать себя в спагетти-коде, смешивая логику и представление, MV*-фреймворки же этого сделать вам не дадут.

Total votes 36: ↑35 and ↓1+34
Comments43

Перевод .NET в Open source принес Microsoft ощутимую пользу

Reading time2 min
Views18K
image

Последние годы Microsoft пытается стать более дружелюбной для разработчиков компанией и активно участвует в жизни open source-сообщества. Сегодня Microsoft имеет один из крупнейших репозиториев на GitHub, из посвященных разработке свободного ПО. Кроме этого некоторые проприетарные продукты компании переводятся в статус открытого программного обеспечения.

Одним из успехов технологического гиганта в этой области можно назвать перевод .NET в статус open source-продукта с публикацией исходного кода на GitHub. Произошло это еще в ноябре 2014 года — более двух лет назад — и сегодня можно с уверенность констатировать, что этот шаг компании принес ей больше пользы, чем вреда.
Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments62

Уровни изоляции транзакций с примерами на PostgreSQL

Reading time8 min
Views238K

Вступление


В стандарте SQL описывается четыре уровня изоляции транзакций — Read uncommited (Чтение незафиксированных данных), Read committed (Чтение зафиксированных данных), Repeatable read (Повторяемое чтение) и Serializable (Сериализуемость). В данной статье будет рассмотрен жизненный цикл четырёх параллельно выполняющихся транзакций с уровнями изоляции Read committed и Serializable.


Для уровня изоляции Read committed допустимы следующие особые условия чтения данных:


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


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


Что же касается Serializable, то данный уровень изоляции самый строгий, и не имеет феноменов чтения данных.

Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments17

«Производительность – это фича». Интервью с Марко Чеккони, Stack Overflow

Reading time10 min
Views18K


На протяжении многих лет одним из главных вопросов, связанных с приложениями на .NET, был вопрос производительности. Одна из самых первых статей на эту тему датирована еще 2001-м годом.

Тема не теряла актуальности более 10 лет, и в 2011 люди все еще задают вопросы в поисках лучшего инструмента для профилировки.

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

Марко Чеккони, инженер Stack Overflow из Лондона. Много пишет о разработке софта, кодинге, архитектуре и командной работе.

– Вы работаете в Stack Overflow, можете назвать основные «болевые точки» вашего проекта с точки зрения производительности?

– Их две: с одной стороны, нам надо быть очень-очень аккуратными при инстанцировании объектов и в работе со сборкой мусора, а с другой, нам нужно не меньше внимания уделять тому, как мы используем SQL-сервер, пишем SQL-запросы, строим таблицы и т.п.

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

– Ваше решение построено полностью на С#, или есть части на других языках, типа C++, Java, Python или других?
Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments27

Личный опыт: организация Workflow в трекере TFS

Reading time4 min
Views12K


Мы продолжаем рассказывать о процессах организации разработки в Positive Technologies. Ранее мы коснулись тем создания дистрибутивов продуктов, организации процесса хранения и лицензирования софта и реализации собственной системы Continuous Integration.

Сегодня речь пойдет о том, как мы используем инструмент Team Foundation Server (TFS) для организации workflow разработки.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments27

ASP.NET Core: Ваше первое приложение на Mac c использованием Visual Studio Code

Reading time4 min
Views17K
Представляем вам последнюю статью из цикла по разработке на ASP.NET Core. В данной статье вы узнаете как можно написать свое первое приложение ASP.NET Core на Mac.


Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments18

Двойная аутентификация Вконтакте — секс или имитация?

Reading time4 min
Views40K

Всем привет! Недавно решил протестировать аппаратный OTP токен с возможностью перепрошивки по NFC, подключив его к своей учетке в vk.com. При этом наткнулся на недоработки в системе двухфакторной аутентификации Вконтакте, которые показались мне довольно существенными. Хочу поделиться своими наблюдениями с вами, так как в самом VK ошибок не признали. Возможно, я немного параноик? Интересно, что скажете вы, хабровчане.


Читать дальше →
Total votes 63: ↑54 and ↓9+45
Comments31

Управление проверкой личности с помощью Windows Hello для бизнеса

Reading time8 min
Views23K
Делимся с вами обзорным материалом про службу Windows Hello, обеспечивающую двухфакторную проверку на Windows 10. Также вы узнаете, чем она будет полезна для крупных компаний, почему стоит выбирать PIN-код, а не пароль и как её настроить.


Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments11

mgr-forms-react: Простой компонент для простейших форм

Reading time5 min
Views5.6K

Вы когда нибудь считали, сколько форм вы делаете во время разработки веб-приложения? И я не говорю о сложных формах вроде кастомного date-picker'а или же чего-то сложнее, а простых форм с тремя input, двумя select и одним textarea?


Я не считал. Но когда я начал писать очередное приложение на React и мне за один вечер пришлось создать 5 разных форм — мне поплохело. Ну, а когда разработчику плохеет — разработчик пишет велосипед!


Из таких вот соображений на свет появилась пока еще сырая, но уже используемая мной в двух разных проектах, библиотека для создания простейших форм на React. И я даже выделю слово простейших, потому как моя поделка даже близко не стоит рядом с такими проектами как React Forms или же Formsy-React.


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

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments6

2D магия в деталях. Часть вторая. Структура

Reading time19 min
Views31K


Помните небезызвестный мем про "корованы"? Наверное, каждый, кто разрабатывает игры (или хотел бы этим заняться) раздумывает о неком "проекте мечты", где можно будет "грабить корованы" и "набигать". А ещё, чтобы погода менялась динамически, и на грязи следы от сапог оставались, и деревья росли в реальном времени. И ещё, чтобы ...


Понятно, что в реальном игровом проекте такая погоня за хотелками — смерти подобна. А вот в техно-демке — самое то.

Total votes 54: ↑53 and ↓1+52
Comments10

Login или Log in?

Reading time2 min
Views86K


‘Login’ или ‘log in’? Одно слово или два? Это достаточно распространенный вопрос среди тех, кто пишет на английском языке. Давайте разберемся, как же правильно.

Читать дальше →
Total votes 147: ↑134 and ↓13+121
Comments72

Двухфакторная аутентификация в Redmine

Reading time3 min
Views7.2K

С давних пор для второго шага аутентификации мы использовали одноразовые пароли отправляемые через СМС. Такой функционал появился в Redmine в 2013, когда мы разработали плагин redmine_sms_auth. Об этом мы писали в давней статье.


Но время не стоит на месте. Мы активно внедряем Telegram в бизнес-процессы компании (раз, два, три).


В связи с этим решили сделать аутентификацию через Telegram в Redmine. Заодно с этим переписать старый плагин про СМС и добавить поддержку Google Authenticator.


Далее мы расскажем о том как установить, настроить и использовать этот плагин.

Хочу знать подробности!
Total votes 21: ↑20 and ↓1+19
Comments3

Y Combinator рекомендует прочитать в 2016

Reading time4 min
Views24K
«Чтение и личный опыт формируют мировоззрение. И даже если вы не помните самый момент получения опыта или содержания книги, то их влияние на ваше представление о мире непременно остается в Вас. Ваш разум похож на скомпилированную программу без исходного кода — он работает, но не ясно как.»

— Пол Грэм, основатель Y Combinator, программист, инвестор, эссеист



Total votes 20: ↑18 and ↓2+16
Comments8

Настраиваем магазин Windows для бизнеса

Reading time5 min
Views7.1K
С момента создания Windows 8.0 и 8.1, компания Microsoft сосредоточилась на модернизации своего Интернет-портала Windows Store. Думаю, многие согласятся, что Microsoft Store по сравнению с Apple Store был достаточно неразвит в плане доступности приложений и удобства использования интерфейса магазина.

С выпуском Windows 10 в 2015 году Windows Store подвергся радикальному изменению относительно доступности приложений, игр и инструментов. Все это хорошо для сегмента потребительского рынка, но как насчет добавления функциональности для бизнес-пользователей? Компания Microsoft сделала это! Поскольку ранее не существовало интеграции Windows Store в доменной среде, это приводило к проблемам с управлением покупками и лицензированием потенциальных приложений, не говоря уже о многих других проблемах.

Ранее коммерческие предприятия сталкивались с предоставлением финансовой и бухгалтерской отчетности, когда сотруднику компании требовалось приложение из Windows Store. Как осуществлять контроль над доступом, правом собственности и лицензированием актуального приложения? Короче говоря, все это не контролировалось. Кроме того, не было возможности переназначить лицензию. К примеру, если сотрудник увольнялся, то приложение, так сказать, «уходило» вместе с ним.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments2

Начальные грабли в работе с Service Bus for Windows Server

Reading time11 min
Views6.2K
Есть у Майкрософта такая не очень известная вещь, как Service Bus for Windows Server. И так случилось, что в нескольких проектах подряд довелось с ней поработать. В итоге получилось собрать небольшой набор подводных камней, встречавшихся в проектах чаще других. Чем и делюсь.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments1

Как обезопасить Linux-систему: 10 советов

Reading time9 min
Views82K
На ежегодной конференции LinuxCon в 2015 году создатель ядра GNU/Linux Линус Торвальдс поделился своим мнением по поводу безопасности системы. Он подчеркнул необходимость смягчения эффекта от наличия тех или иных багов грамотной защитой, чтобы при нарушении работы одного компонента следующий слой перекрывал проблему.

В этом материале мы постараемся раскрыть эту тему с практической точки зрения:



/ фото Dave Allen CC
Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments16

Information

Rating
Does not participate
Date of birth
Registered
Activity