Как стать автором
Обновить
10
0
Walter White @methlab

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

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

Реализация автодополнения кода в Ace Editor

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

Ace (Ajax.org Cloud9 Editor) — популярный редактор кода для веб-приложений. У него есть как плюсы, так и минусы. Одно из больших преимуществ библиотеки — возможность использования пользовательских сниппетов и подсказок. Однако, это не самая тривиальная задача, к тому же не очень хорошо документированная. Мы активно используем редактор в своих продуктах и решили поделиться рецептом с сообществом.


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

LDAP-«аутентификация» — это антипаттерн

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

Сегодня в любой организации есть LDAP-каталог, наполненный пользователями этой организации. Если присмотреться, вы найдете одно или несколько приложений, которые используют этот же каталог для «аутентификации». И кавычки здесь неспроста, ведь LDAP — это протокол доступа к каталогам, спроектированный для чтения, записи и поиска в службе каталогов. Это не протокол аутентификации. Термин «LDAP-аутентификация», скорее, относится к той части протокола (операции bind), где определяется, кто вы такой, и какие права доступа имеете к информации каталога.
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии36

Никто (почти) не знает, что такое авторизация

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

За время работы архитектором в проектах внедрения IdM я проанализировал десятки реализаций механизмов авторизации как во внутренних решениях компаний, так и в коммерческих продуктах, и могу утверждать, что практически везде при наличии относительно сложных требований они сделаны не правильно или, как минимум, не оптимально. Причиной, на мой взгляд, является низкое внимание и заказчика и разработчиков к данному аспекту на начальных этапах и недостаточная оценка влияния требований. Это косвенно подтверждает повсеместное неправильное использование термина: когда я вижу словосочетание «двухфакторная авторизация», у меня начинаются боли чуть ниже спины. Ради интереса мы проанализировали первые 100 статей на Хабре в выдаче по запросу «авторизация», результат получился неутешительный, боли было много:
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии110

Domain Driven Design на практике

Время на прочтение12 мин
Количество просмотров266K
Эванс написал хорошую книжку с хорошими идеями. Но этим идеям не хватает методологической основы. Опытным разработчикам и архитекторам на интуитивном уровне понятно, что надо быть как можно ближе к предметной области заказчика, что с заказчиком надо разговаривать. Но не понятно как оценить проект на соответствие Ubiquitous Language и реального языка заказчика? Как понять, что домен разделен на Bounded Context правильно? Как вообще определить используется DDD в проекте или нет?

Последний пункт особенно актуален. На одном из своих выступлений Грег Янг попросил поднять руки тех, кто практиукует DDD. А потом попросил опустить тех, кто создает классы с набором публичных геттеров и сеттеров, располагает логику в «сервисах» и «хелперах» и называет это DDD. По залу прошел смешок:)

Как же правильно структурировать бизнес-логику в DDD-стиле? Где хранить «поведение»: в сервисах, сущностях, extension-методах или везде по чуть-чуть? В статье я расскажу о том, как проектирую предметную область и какими правилами пользуюсь.
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии18

Как и зачем создавать NginX-модуль — теория, практика, профит

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


Василий Сошников (Mail.Ru)


Сегодня я вам расскажу о том, как создавать nginx-модули и, что самое главное, попытаюсь ответить, зачем это надо делать. Это надо далеко не всегда, но есть определенный круг задач, который можно решить на стороне nginx.
Всего голосов 25: ↑23 и ↓2+21
Комментарии2

L-Systems — математическая красота растений

Время на прочтение7 мин
Количество просмотров40K
Красота растений привлекала внимание математиков веками. Активнее всего изучались интересные геометрические свойства растений, такие как симметрия листьев относительно центральной оси, радиальная симметрия цветов, и спиральное расположение семечек в шишках. «Красота связана с симметрией» (H. Weyl. Symmetry). Во время роста живых организмов, особенно растений, можно четко видеть регулярно повторяющиеся многоклеточные структуры. В случае составных листьев, например, маленькие листочки, которые являются частью большого взрослого листа, имеют ту же форму, что весь лист имел на раннем этапе формирования.

В 1968г. Венгерский биолог и ботаник Аристид Линденмайер (Aristid Lindenmayer) предложил математическую модель для изучения развития простых многоклеточных организмов, которая позже была расширена и используется для моделирования сложных ветвящихся структур — разнообразных деревьев и цветов. Эта модель получила название Lindenmayer System, или просто L-System.

Для тех, кто в теме и не хочет все читать целиком, проскрольте вниз, есть вопрос.
Дальше интереснее
Всего голосов 87: ↑85 и ↓2+83
Комментарии33

Ускорение воспроизведения HD-видео

Время на прочтение2 мин
Количество просмотров14K
Однажды на моём нетбуке (Acer Aspire One 110) я не смог нормально посмотреть видео по причине тормозов (аниме в 720p). После чего последовало разбирательство на тему, как же это можно исправить, результат которого читайте здесь.
Читать дальше →
Всего голосов 80: ↑74 и ↓6+68
Комментарии104

Кризисный коммуникатор или приятный девайс за 4 килорубля

Время на прочтение4 мин
Количество просмотров1.2K
Побаловавшись с китайским девайсом, описанным в прошлом моем топике, пару недель и передав его следующему, несомненно, счастливому владельцу я решил, что неплохо было бы обзавестись коммуникатором. Дело в том, что кпк я продал и как-то сразу ощутилось его отсутствие, а с учетом финансовой непогоды за нашими окнами, сильно много дьявольских бумажек выделять на покупку не хотелось, да и покупать китайский мало-функциональный аппарат желания никакого не было. И тут пришел на выручку старый добрый ebay.

Читать дальше →
Всего голосов 87: ↑78 и ↓9+69
Комментарии107

Аутентификация и авторизация в ASP.NET Web API

Время на прочтение5 мин
Количество просмотров77K
Вы создали WebAPI и теперь хотите контролировать доступ к нему? В этой серии статей мы рассмотрим несколько вариантов защиты WebAPI от неавторизрованых пользователей. Серия будет охватывать обе стороны, и аутентификацию и авторизацию пользователей.

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


Первая серия статей дает общий обзор аутентификации и авторизации в ASP.NET Web API. Другие статьи описывают общие сценарии аутентификации для WebAPI.
Раскрыть тему
Всего голосов 23: ↑19 и ↓4+15
Комментарии17

Обзор расширений Visual Studio для веб-разработчиков

Время на прочтение4 мин
Количество просмотров38K
На конференции //build/ у меня был доклад о Visual Studio Web Tools и расширении Web Essentials. Вы можете найти этот доклад онлайн на сайте Channel9. Во время доклада я использовал несколько расширений, которые будут полезными для любого веб-разработчика Visual Studio 2013. Ниже вы найдете список этих расширений.

Web Essentials


logoСайт: http://vswebessentials.com
Загрузить: Web Essentials в галерее VS

Это расширение команды ASP.NET и Web Tools, которое является неофициальной площадкой для тестирования и обкатки функций. Само расширение развивается opensource-сообществом. Web Essentials предлагает огромное число новых возможностей для веб-разработчиков, такие как компиляторы LESS/Sass/CoffeeScript, дополнительные возможности работы с кодом JavaScript/CSS/HTML/JSON, валидаторы, генераторы спрайтов изображений и многое другое.

SideWaffle


imageСайт: http://sidewaffle.com
Загрузить: SideWaffle в галерее VS

Очень вкусное дополнение для Visual Studio. Это отличный набор шаблонов, который содержит как шаблоны проектов, шаблоны элементов, так и сниппеты для широкого круга сценариев: от создания приложений Angular.js, проектов Nancy FX и до плагинов Browser Link, расширений Chrome и многого другого.
Читать дальше →
Всего голосов 39: ↑34 и ↓5+29
Комментарии7

Создание API: в рамку и на стену

Время на прочтение5 мин
Количество просмотров57K
Каждый программист — проектировщик API. Хорошие программы состоят из модулей, а протокол взаимодействия модулей — это тоже API. Хорошие модули используются повторно.

API — это большая сила и большая ответственность. У хорошего API будут благодарные пользователи; поддержка плохого превратится в кошмар.

Публичный API — не воробей, опубликуешь — не уберешь. Есть только одна попытка сделать все правильно, поэтому постарайся.

API должно быть легко использовать, но сложно использовать неправильно. Сделать что-то простое с помощью такого API должно быть просто; сложное — возможно; сделать что-то неправильно должно быть невозможно, или, по крайней мере, трудно.

API должен описывать сам себя. Изучение кода на таком API не вызывает желания читать комментарии. Вообще, комментарии редко нужны.

Перед разработкой API собери требования с долей здорового скептицизма. Осознай общие задачи и реши их.

Оформляй требования как шаблоны использования API. Сверяйся с ними в процессе проектирования.
Читать дальше →
Всего голосов 154: ↑143 и ↓11+132
Комментарии97

Счет на оплату. Рабочее приложение на sails.js, ractive.js, Backbone.js

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


Доброго дня, на выходных от скуки и отсутствия работы решил себя развлечь написанием небольшого приложения, которое сгодится в качестве учебного метариала для изучения возможностей двух замечательных библиотек — ractive.js и sails.js

Постановка задачи

По работе часто приходится после выполенения очередного задания (я — фрилансер) выставлять заказчику счет на оплату услуг. Тем более если имеешь дело с юридическими лицами. Для этого я использовал простой html-шаблон, в который данные заносил руками, исправляя очередные …

Выглядит примерно так
Читать дальше →
Всего голосов 58: ↑49 и ↓9+40
Комментарии13

Docsvision начало — и продолжение

Время на прочтение3 мин
Количество просмотров11K
imageМеня зовут Владимир Андреев, я один из основателей компании «ДоксВижн», в данный момент являюсь ее президентом. В этом, первом для нас, посте я хотел бы вам рассказать о том, что делает наша компания, и немного подготовить к тому, о чём будет наш блог.

Скоро исполнится уже 15 лет с того момента, как мы начали разрабатывать продукт под названием Docsvision. За это время Docsvision превратился из достаточно несложной разработки, «собранной на коленке» двумя энтузиастами, до тиражного продукта, который внедряется в таких организациях, как Сбербанк, Роснефть, Минэкономразвития РФ. Сегодня наша компания выросла почти до сотни человек, в ней появились выделенные службы разработки, проектирования приложений, техподдержки, консалтинга. Нами выбрана исключительно вендорская модель бизнеса и соответственно все внедрения Docsvision осуществляются только нашими авторизованными партнерами. На данный момент наша партнерская сеть состоит из более чем сотни партнеров в России и СНГ.

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

Impact Mapping — как dev-команде перестать делать то, что требуют, и начать делать то, что нужно?

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


Доклад с прошлогодней конференции специалистов системного и бизнеса анализа — Analyst Days 2013 года от старшего аналитика питерского офиса компании DELL — Петрашева Дмитрия

На странице доклада можно найти презентацию и видео, а здесь текст…

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

Nginx + Google-authenticator или не все не так просто…

Время на прочтение6 мин
Количество просмотров81K
Авторизация в nginx на базе google одноразовых паролей.

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

Подсказали решение на базе Nginx (http_auth_request_module) + Apache (google-authenticator-apache-module).

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

Вот делюсь...
Всего голосов 27: ↑26 и ↓1+25
Комментарии10

MassTransit. Сервисная шина для обмена сообщениями на основе сервера очередей RabbitMQ (MSMQ) для .Net

Время на прочтение8 мин
Количество просмотров45K
MassTransit
Впервые я услышал о библиотеке MassTransit (MT) около года назад от экс-коллеги, зашедшего в наш офис для обмена опытом. Компания, в которую он устроился, использовала MT для уменьшения связности между модулями разрабатываемого ими сервиса и, поскольку высокая связность начала превращаться в проблему и для нас, чужой опыт оказался нам очень кстати. Помимо уменьшения связности путем перехода на событийную модель взаимодействия между модулями, MT пригодился нам и для распределения ресурсоемких задач между несколькими процессами.

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

Розыск и поимка владельца Silk Road. Отчет агента ФБР

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


Предисловие к переводу:
2-го октября на Хабре была опубликована статья с информацией о задержании владельца Silk Road – онлайн магазина в сети Tor, позволяющего анонимно покупать и продавать за bitcoin различные вещества, запрещенные к свободному обороту. В обсуждении статьи была также приведена ссылка на скан обвинительного акта (PDF, 3.3 MB) от 27.09.2013 г., на 39 листах, в котором живописно изложены злодеяния владельца и администратора Silk Road. Помимо юридической и технической стороны описания злодейств, акт содержит отчет агента ФБР о том, каким образом была раскрыта личность владельца Silk Road Росса Уильяма Ульбрихта (страницы 24–32, параграфы 33-45). Я решил, что было бы неплохо сделать его более доступным русскоязычному сообществу, и вот, перевод этой части обвинительного акта предлагается вашему вниманию.
Читать отчет
Всего голосов 182: ↑177 и ↓5+172
Комментарии190

Поиск всех групп пользователя AD по протоколу LDAP

Время на прочтение2 мин
Количество просмотров43K
Мне по роду занятий часто приходится иметь дело с сервисами интегрирующимися с AD. К сожалению в большинстве таких сервисов напрочь отсутствует поддержка такой удобной «фичи» AD как Nested Groups
Неужели организовать перечисление всех вложенных групп пользователя так сложно?
Давайте разберёмся!
Всего голосов 5: ↑4 и ↓1+3
Комментарии6

Значок в области уведомлений на C++

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

Давайте вместе напишем небольшую утилиту на С++. Пусть наша программка следит за чем-нибудь в системе и показывает значок в области уведомлений, когда это что-то произошло. Например, проверка будет на наличие файла или подключенного диска. Нет файла — значок один, появился файл — значок изменился.
У меня такой значок следит за подключением зашифрованного диска. Может быть кому-то нужно следить за появлением файла протокола с ошибками или наличием подключения к сетевому диску.
Читать дальше →
Всего голосов 32: ↑11 и ↓21-10
Комментарии17

Настройка собственного GIT / SVN / Mercurial сервера на базе SCM Manager для Tomcat под Debian

Время на прочтение3 мин
Количество просмотров18K
На днях с командой столкнулись с тем, что Bitbucket стал мал для нас, а нацеленность на подобие корпоративной безопасности, в любом случае, рано или поздно потребует переезд с приватных репозиториев, находящихся вне компании, на собственную инфраструктуру. После сёрфинга по интернету было решено остановиться на готовом решении SCM — manager по ряду причин

  • Простота установки
  • Простота администрирования через веб-интерфейс
  • Поддержка GIT и SVN (немаловажно, поскольку используются оба)


ОС для установки: Debian7
Стоит заметить, до этого с подобным никто у нас не сталкивался и статья — это результат нескольких часов метаний по интернету и мануалам.
SCM ставился на Tomcat, поскольку на нём же крутится Redmine
Сама установка и настройка под катом:

Подробности установки и настройки
Всего голосов 9: ↑6 и ↓3+3
Комментарии8
1

Информация

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