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

Настраиваемая авторизация в Asp.Net MVC

Время на прочтение9 мин
Количество просмотров47K
Привет Хабраюзер! Хотел бы поделиться с сообществом своим небольшим опытом разработки на фреймворке ASP.NET MVC. А именно очень важной частью аутентификации пользователей в приложении. А так же реализации системы безопасности, основанной на ролях.
Данная статья скорей всего будет полезна начинающим программистам, использующим ASP.NET MVC в качестве платформы для разработки. Но возможно и «бывалые» (опытные) пользователи подчерпнут для себя какие-нибудь идеи. Критика, предложения и тому подобное приветствуется. Всех заинтересовавшихся прошу под кат.
Читать дальше →
Всего голосов 20: ↑15 и ↓5+10
Комментарии46

Настраиваем удобную сборку проектов в Visual Studio

Время на прочтение43 мин
Количество просмотров81K
Эта статья является руководством по настройке сборки C++ проектов Visual Studio. Частично она сводилась из материалов разрозненных статей на эту тему, частично является результатом реверс-инжениринга стандартных конфигурационных файлов Студии. Я написал ее в основном потому что полезность документации от самой Microsoft на эту тему стремится к нулю и мне хотелось иметь под рукой удобный референс к которому в дальнейшем можно будет обращаться и отсылать других разработчиков. Visual Studio имеет удобные и широкие возможности для настройки по-настоящему удобной работы со сложными проектами и мне досадно видеть что из-за отвратительной документации эти возможности очень редко сейчас используются.

В качестве примера попробуем сделать так чтобы в Студию можно было добавлять flatbuffer schema, а Студия автоматически вызывала flatc в тех случаях когда это нужно (и не вызывала — когда изменений не было) и позволяла задавать настройки напрямую через File Properties



Укрощаем MSBuild
Всего голосов 42: ↑39 и ↓3+36
Комментарии37

Делаем Linux терминал красивым и удобным

Время на прочтение3 мин
Количество просмотров181K
Все дистрибутивы Linux поставляются с функциональным и кастомизируемым эмулятором терминала. В интернете, а порой даже в самом терминале, есть масса готовых тем, чтоб он красиво выглядел. Однако, чтоб сделать из стандартного терминала (в любом DE, любого дистрибутива) нечто красивое и одновременно удобное и простое в использовании я потратил много времени. Итак, как же сделать дефолтный терминал удобным и приятным в использовании?
Читать дальше →
Всего голосов 41: ↑27 и ↓14+13
Комментарии97

Реализация двойной панели инструментов в QT

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

В данной статье разобран код на Qt, который позволяет создать панель инструментов с возможностью менять положение виджетов на экране в зависимости от соотношения размеров частей этой панели, и которая будет менять это соотношение в зависимости от перемещения пользователем виджетов (сплиттера).

Ссылка на исходный код

Читать далее
Всего голосов 17: ↑13 и ↓4+9
Комментарии13

CoLaboratory: Android Night #Apple

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


Всем привет!

Мы открываем серию Android-встреч в «Лаборатории Касперского». На первой встрече обсудим карьерные перспективы мобильного разработчика (куда развиваться «после»), кастомизируемость одного приложения внутри различных сборок и попробуем экспериментальный формат — круглый стол о психологии Android-разработчика.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии6

$mol: 4 года спустя

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров35K

nano


Здравствуйте, меня зовут Дмитрий Карловский и я… люблю плевать против ветра. Утираться и снова плевать. Хобби у меня такое. И всё, что я создаю, делаю я без оглядки на тенденции, стараясь решать проблемы системно, а не как привычно. Зачастую бывает, что основная сложность даже не в том, чтобы придумать решение, а в том, чтобы объяснить другим, что проблема вообще существует.


Знаю, я всех уже заколебал, но сегодня, хотелось быть рассказать про разработанный мной 4 года назад фреймворк, какой путь он прошёл, где он сейчас, и куда прокладывает новые пути. Пройдёмся мы и по конкурентам, и по крупным игрокам, и даже по мне самому. Так что никто не уйдёт не обиженным. Статья, как обычно, длинная. Мужайтесь.

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

Custom Shopify Automation for Your Business

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

E-commerce today has become so frequent that it has become almost a standard chain of stores, where most people make purchases. But even online stores are trying to save money by becoming drop shippers and more working on additional implementations, rather than on the maintenance and payment of huge storage spaces.

Read more →
Рейтинг0
Комментарии0

Agile English teaching. What is it?

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


Modern-day agile English teaching has come to take the place of rigid, cut-and-dried lessons that are fast becoming a thing of the past.

Let me clarify what I mean by agile teaching that is bound to substitute conventional teaching.

Some decades ago and up until recently it was perfectly valid to choose a certain textbook and go through it module by module together with your students (be it a group or individual learners). Given the abundance of high-quality materials readily accessible online and offline, it is completely unthinkable to proceed with this outdated approach.
Read more →
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Улучшаем интерфейс Java-приложения

Время на прочтение27 мин
Количество просмотров99K
Добрый день, Хабражитель!

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

Итак, в данном посте я постарался изложить самые важные и значимые на мой взгляд моменты по работе со Swing и графикой — как создавать компоненты, как стилизовать интерфейс, чего делать не стоит и многое другое…

Читать дальше →
Всего голосов 118: ↑113 и ↓5+108
Комментарии71

Кастомизация виджета Action Bar

Время на прочтение4 мин
Количество просмотров28K
imageСтатья является переводом топика из блога android-developers. В ней показывается, как стилизовать виджет Action Bar нужным вам образом. В качестве примера рассматривается изменение оформления виджета под общую цветовую гамму вышеописанного блога.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии29

Выключение монитора горячей клавишей

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


Жаль, что возможность обычным способом выключать монитор горячей клавишей сломалась в одной из предыдуших версиях Убунту. Простенький симпатичный скрипт может вернуть этот нужный функционал (предположительно обладателям ноутбуков) за несколько несложных телодвижений.
Читать дальше →
Всего голосов 62: ↑47 и ↓15+32
Комментарии30

Ура персонализации Интернета или мой личный Интернет

Время на прочтение2 мин
Количество просмотров1.8K
Здравствуйте, уважаемые хабражители!

Под персонализацией Интернета мы подразумеваем — «изменение внешнего вида и функционального наполнения интернет-сайтов под конкретного посетителя этого сайта».

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

Итак, посмотрим на следующие две задачи персонализации.
Читать дальше →
Всего голосов 12: ↑6 и ↓60
Комментарии3

Сортировка установленных в смартфоне (планшете) иконок приложений Android по цвету (задумка)

Время на прочтение1 мин
Количество просмотров28K
Только что осознал, что автоматически пытаюсь отыскать среди множества установленных приложений в моем телефоне одно, необходимое в данный момент. И я понял, что не смотрю на называния приложений, а ищу глазами значок. Причем я помню, что иконка красного (зеленого, синего и т.д.) цвета.
Вот например на моем скрине видны иконки с доминирующими цветами:



Я точно помню, что G+, Unicredit, ivi, youtube — красные. Navitel, feedly — зеленые. И т.д.

Тут меня и осенило. А почему бы не подкинуть мысль разработчикам различных шеллов о возможности сортировки иконок приложений по цвету. Может Я.Шелл впишется? Ведь заходят же сюда представители Яндекса.

P.S. Здравое дополнение от одного комментатора — пусть в дополнение к цветовой сортировке в ней будет еще и сортировка по алфавиту.
Всего голосов 26: ↑14 и ↓12+2
Комментарии41

Преднастройка продуктов Mozilla для корпоративной среды это просто

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

Обычно после установки продуктов Mozilla в корпоративной среде требуется дополнительно установить:
  • стандартный для компании набор плагинов
  • сделать типовые настройки


Почему бы не интегрировать необходимые плагины и типовые настройки в дистрибутив?
Цель данной статьи — показать как можно перепаковать дистрибутив Mozilla, добавив необходимые компоненты.

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

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

Простая инструкция
Всего голосов 21: ↑19 и ↓2+17
Комментарии25

Модульный фронтенд для репликационного масштабирования или как перестать копировать репозитории целиком

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

В этой статье будут изложены основные идеи и показаны простые примеры для  грамотной организации, скажем так — «репликационного» масштабирования проектов на фронтенде. То есть, само понятие масштабирования здесь будет рассматриваться скорее с той точки зрения и в одном из смыслов как это понимает бизнес, но, при этом, речь пойдет именно о технической стороне процесса, правда, сугубо в контексте браузерной клиентской части информационных систем. Ближе к реальной ситуации: предположим что ваша компания разрабатывает, условно — некий OLAP-продукт, и перед вами как фронтенд-разработчиком ставят задачи по развертыванию и поддержке более или менее сходных новых проектов фронтенда для разных заказчиков. После скандальной критической статьи о, имхо, сомнительных дурных современных подходах и тенденция в верстке веб-интерфейсов — моя карма на Хабре, наконец-то упала ниже нуля, а я, если честно, не очень хорошо понимаю правила игры, увидят ли эту статью читатели… Но, с другой стороны, готов изложить все просто «в стол», так как считаю что лучшая мотивация для написания чего-либо — это если «просто очень хочется написать», сформулировать, прежде всего — для себя самого.

Эта статья логично продолжает тематику первой статьи о модулях позволяющих сделать разработку фронтенда качественнее и эффективнее. Но если в первом материале речь шла, прежде всего, об замечательном атомарном тренде в вебдизайне и простом надежном способе доставки его в код компонентных фреймворков с помощью препроцессоров, построении простой кастомной библиотеки UI-компонент для единообразного оформления разных проектов, то новый пример станет немного сложнее — хочется сосредоточиться уже не на «внешних», «оформительских» моментах, а на функциональных и организационных. Для наглядной демонстрации практического применения изложенных в статье идей снова написаны примеры: небольшой модуль-библиотекадокументация к нему), а также использующий его проект, на этот раз с более актуальным стеком Vue3+TypeScript/Vuex4/VuePress2. В отличие от более примитивной либы из первой статьи, этот модуль: 1) использует хранилище, то есть содержит состояние 2) может запускаться в полноценном режиме разработки, как будто это собственно уже сам конечный проект 3) поддерживает темизацию и локализацию. Пример модуля содержит совсем немного компонент и документация на новой версии VuePress, в отличие от первой версии модуля, не кастомизируется под фирменный стиль который предоставляет сама библиотека. Так сделано не только по причине лени и экономии времени, но, прежде всего, потому что кажется излишним — то что призваны продемонстрировать примеры — этого совсем не требует.

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

Играем с ключевыми словами в Javascript

Время на прочтение4 мин
Количество просмотров25K
image

В статье рассказывается про модуль, позволяющий создавать подмножество javascript с любыми ключевыми словами. Строго для безудержного веселья.
На волне статьи про rucckuu.js я обзавидовался и решил обнародовать своё творение: небольшую экосистему для создания произвольных подмножеств javascript. Если к вам давно закрадывалась мысль о том, что некоторые ключевые слова плохо подходят к контексту их применения или мысль о том, что javascript слишком многословен (всякое бывает). Если вы хотите добродушно подшутить над коллегами или просто объяснить вашей маме, чем вы всё-таки занимаетесь на работе, добро пожаловать под кат.

Трогни чтобы дальше
Всего голосов 35: ↑29 и ↓6+23
Комментарии42

Нюансы установки сторонних прошивок на Android-смартфоны. Устанавливаем сustom ROM

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

Доброго времени суток, дорогой читатель! С момента нашей последней встречи прошло более полугода и за это время произошли некоторые новшества для тех, кто увлекается кастомизированием своих устройств под управлением Android.

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

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

DI плагины в Magento 2

Время на прочтение3 мин
Количество просмотров13K
В Magento 2 вместо rewrite'ов, использовавшихся в первой версии, появились плагины, которые позволяют переопределить поведение большинства методов, перехватив поток выполнения тремя способами:

  • before
  • after
  • around

Подробнее про плагины можно узнать в документации, а под катом — просто пример использования.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии4

Как добавить сторонние драйверы в установочный образ VMware ESXi 8

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.6K


Приветствую, %USERNAME%. Меня зовут Рубанов Николай и я технический евангелист компании Evrone. Моя роль подразумевает постоянное изучение новых технологий, так что нужно иметь некую песочницу для экспериментов. Под это я решил приспособить свой старый ноутбук на базе Core i7 4-го поколения.

Выбор бесплатных гипервизоров невелик, так что выбор я остановил на VMware ESXi. На этом пути есть много подводных камней, главным из которых является аппаратная совместимость. Сходу установить ESXi не получилось, поскольку система сообщила об отсутствии сетевой карты и невозможности продолжить установку.

Существующие инструкции по внедрению сторонних драйверов в ESXi или уже устарели, или содержали неполную информацию. Так что я перерыл кучу источников и решил написать небольшой собственный туториал. Надеюсь, что мой опыт сэкономит вам немало времени и нервов.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии18

CustomView Android. Кольцевая диаграмма для отображения статистики

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров8.7K

Наверное, каждый Android-разработчик на этапе обучения или в процессе выполнения задач в коммерческом проекте задумывался о создании своей CustomView без использования сторонних библиотек, с собственной отрисовкой, анимацией, а также хорошей оптимизацией, чтобы CustomView адаптировалась под переданные ей размеры, правильно отображалась в независимости от экрана пользователя.

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

Что ж, в этой статье мы пройдем все этапы реализации своей CustomView, с подробным описанием шагов, чтобы каждый смог повторить такое в своих проектах. Мы будем реализовывать кольцевую диаграмму для отображения какой-либо статистики, добавим много возможностей кастомизации диаграммы под любые виды задач, а также приправим это дело красивой анимацией отрисовки и сохранением состояния. Все будет написано на языке программирования Kotlin.

Вперед за CustomView!
Всего голосов 11: ↑10 и ↓1+9
Комментарии8
1