Как стать автором
Обновить
-28
42 @Interretoread⁠-⁠only

The best software engineer in the Universe!

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

ASP.NET 2.0 Login control + MySQL, VS2008, авторизация пользователей на сайте

Время на прочтение7 мин
Количество просмотров8.3K
Штатные средства ASP.NET позволяют упростить процесс разграничения прав доступа пользователей к тем или иным страницам сайта. Речь о использовании Login control совместно с MySQL базой данных для авторизации пользователей на ASP.NET сайте. После успешной авторизации будет производиться перенаправление на разные страницы, соответствующие заданным ролям некоторых директорий проекта.
Читать дальше →

Как записать электрогитару в Cubase 5

Время на прочтение3 мин
Количество просмотров52K
Чтобы записать звук электрогитары в звуковом редакторе Cubase сначала нужно подключить ее в линейный вход звуковой карты вашего компьютера. Подключать нужно не напрямую, а через согласующее устройство — direct-box. Это необходимо для согласования выходного сопротивления электрогитары и входного сопротивления вашей звуковой карты. В качестве такого "согласователя" можно использовать инструментальный предусилитель, гитарную педаль в режиме "байпас" или гитарный процессор с выключенными эффектами.
Если при записи вы хотите использовать различные vst плагины, или виртуальные гитарные процессоры типа Guitar Rig, то может возникнуть проблема задержки в звуке. То есть вы дернули струну, а обработанный плагином гитарный звук слышите через какое-то время. Это время составляет доли секунды, однако бывает довольно заметным и не позволит вам нормально играть. Так вот, чтобы это время было минимальным необходимо установить ASIO-драйвер, который позволяет установить минимальное время задержки. К тому же для качественной записи необходима более-менее хорошая звуковая карта. Например можно использовать недорогую E-MU 0404. Она может быть как внутренней с интерфейсом PCI, так и внешней, подключаемой к компьютеру посредством USB-кабеля. Вместе с картой идет ASIO-драйвер, который необходимо установить.
Читать дальше →

Битва за конверсию

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

Мы проведем обзор публичных инструментов, которые мы использовали, чтобы повысить конверсию Бурук на 25% и сделать пользователей немного счастливее. В конце — про новинку от Google Analytics, которая позволяет связать онлайн источники трафика с оффлайн конверсией.

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

Повысить конверсию просто.

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

Effeckt.css от команды HTML5 Boilerplate: избранные эффекты и переходы на CSS

Время на прочтение1 мин
Количество просмотров18K
Effeckt.css — это постоянно пополняемая подборка эффектов для оформления веб-приложений. Один из главных плюсов этой библиотеки эффектов — достаточно жёсткие критерии включения. Это не куча-мала, в которую сваливают всё подряд, каждый эффект должен соответствовать ряду критериев: эффекты должны быть практичными, их назначение — не демонстрировать возможности технологий, а облегчать и украшать жизнь пользователя, они должны работать быстро и плавно, они должны быть полностью совместимыми с мобильными технологиям.


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

Подборка полезного для любителей Twitter Bootstrap

Время на прочтение1 мин
Количество просмотров83K
В подборке инструменты, плагины и другие полезности, облегчающие работу с Twitter Bootstrap. Предыдущая подборка.

Инструменты




Bootstraptor — подборка большого количества бесплатных и премиум тем, в том числе Starter Kit, на основе Bootstrap.
Читать дальше →

Чем забита ваша память или анализируем содержимое кеша XCache

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

Вас смущает это число? Меня тоже.

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

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

Структура конфигов на сайтах Алавар

Время на прочтение5 мин
Количество просмотров10K
Всем привет!
Сайты Alawar — это сайты для русского, американского, европейских и других рынков, отдельные сайты для mobile-устройств, сайты партнерских программ и др. Все они развернуты на одном инстансе Yii, о чем мы уже писали в нашем блоге на хабре.
Сегодня я расскажу, как мы организовали хранение, структуру и управление конфигами наших сайтов, какие при этом получили преимущества. А также поведаю, как осуществляется деплой нашего проекта в различных окружениях.

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

Coursera для музыкантов: краткий обзор курсов

Время на прочтение5 мин
Количество просмотров32K
О системе обучения Coursera на хабре писали неоднократно. И даже приводили анонсы некоторых курсов. Я же решил отобрать те из них, которые могут быть интересны и полезны людям, работающим со звуком: музыкантам, композиторам, звукорежиссёрам, как опытным, так и только помышляющим сделать первые шаги. Предлагаемые курсы помогут:
  • ознакомиться с физическими основами звука и акустики;
  • получить базовое или расширить понимание теории музыки, психоакустики и т.п.;
  • познакомиться с цифровой обработкой звука, программными инструментами и механизмами обработки;
  • научиться писать свои простейшие программы для обработки звука;
  • наконец, научиться игре на гитаре, джазовой импровизации, управлению репетициями и другим интересным вещам.

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

Конвертация FLAC в MP3

Время на прочтение2 мин
Количество просмотров51K
Всегда хочется слушать музыку в хорошем качестве. Но к сожалению, многие устройства не поддерживают lossless форматы. У меня возникала проблема преобразования flac формата в mp3 формат для автомагнитолы и плеера.
FLAC (англ. Free Lossless Audio Codec) — популярный свободный кодек, предназначенный для сжатия аудиоданных без потерь.

В отличие от аудио-кодеков, обеспечивающих сжатие с потерями (MP3, AAC, WMA, Ogg Vorbis) FLAC, как и любой другой lossless-кодек, не удаляет никакой информации из аудиопотока и подходит как для прослушивания музыки на высококачественной звуковоспроизводящей аппаратуре, так и для архивирования аудиоколлекции.[FLAC на Википедии]

Решение искал и опишу для ubuntu. В интернете можно найти множество скриптов для этого, но многие имеют недостатки типа проблем работы с тэгами. Дальше опишу простое решение для преобразования файлов flac с cue файлом в mp3 треки. Для этого используем flac, lame, cue2tracks.
Как преобразовать flac в mp3

Скачиваем Youtube плейлист в формате mp3 одним bash-скриптом

Время на прочтение2 мин
Количество просмотров35K
Так сложилось, что в данный момент мой рабочий ноутбук оснащен лишь 2GB оперативной памяти. В связи с этим возникла необходимость оптимизации браузера, т.к. при большом количестве открытых вкладок памяти становится недостаточно и используется swap-раздел, что ведет к тормозам.

В работе мне помогает музыка, обычно это открытый таб с плейлистом Youtube. Так вот этот таб в просессе работы съедает до 500MB (!) и даже больше (Google Chrome).

Такое положение дел вынудило написать bash-скрипт, который на входе получает ID плейлиста, на выходе – mp3 файлы, которые можно слушать в любимом плеере, например, в MOC:
MOC
Читать дальше →

Настраиваем NGINX для мультиязычных сайтов

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

Уже давно считается хорошим тоном отдавать контент сайта на языке, предпочитаемом пользователем. Некоторые сервера определяют язык по месту нахождения пользователя с помощью модулей геолокации, остальные берут настройки браузера. Языковые предпочтения пользователя часто сохраняются в cookie, и затем используются при повторном визите.

Какой метод определения языка пользователя подходит лучше – вопрос достаточно спорный. Мой личный ранг значимости языковой информации (в порядке убывания): cookie, настройки браузера, регион.

Для поисковых систем, социальных сетей и прочих агрегаторов информации важно знать, на каком языке должна быть проиндексирована или загружена страница, например в качестве миниатюры в хронику фейсбука. Это значит, что ссылка должна однозначно указывать на язык.

Распространенные варианты кодирования языковой информации о ресурсе следующие:
  • каждая языковая версия на отдельном субдомене, например en.example.com, ru.example.com
  • язык ресурса указывается в префиксе URI, например example.com/en/, example.com/ru
  • язык ресурса указывается в GET параметре, например example.com?lang=en, example.com?lang=ru

Первый вариант наиболее радикальный, каждая языковая версия сайта рассматривается как отдельный ресурс. Могут возникнуть сложности с SSL сертификатом, необходимо заранее предусмотреть все возможные варианты в SAN DNS Host Name, или заказать сертификат с маской, например *.example.com.

Второй вариант наиболее практичный, выбор языка входит в URI, значит, не будет проблем с индексацией и копированием ссылки.

Третий вариант выглядит менее привычно, требует дополнительной логики при добавлении остальных GET параметров и может смутить пользователя при копировании ссылки. Не самый лучший вариант для публичных ссылок.
image
Я расскажу о реализации второго варианта на базе сервера NGINX. При минимальных изменениях можно применить описанные настройки и для первого варианта.
Читать дальше →

Библиотеки для конвертирования PDF документа в картинку

Время на прочтение7 мин
Количество просмотров20K
«Клавиша Print Screen отлично справляется с поставленной задачей. Что может быть проще, чем сохранить документ как изображение?» — спросите вы. Долгое время я работал над задачами сохранения отчётов и форм в формате PDF. Но даже с простыми многостраничными таблицами цифр не все PDF генераторы справлялись одинаково успешно.

Не так давно, мне попался проект, заказчик которого хотел свои сохранённый в PDF маркетинговые шедевры конвертировать в один из графических форматов, например PNG. После долгих уговоров и приведения контраргументов, бюджет проекта позволял купить недорогой .NET компонент.

Оставалось выбрать самый подходящий под требования заказчика и, по-возможности, с хорошей англоговорящей, англо пишущей службой поддержки (не с полуострова Индостан):

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

Как Яндекс распознаёт музыку с микрофона

Время на прочтение10 мин
Количество просмотров161K
Поиск по каталогу музыки — это задача, которую можно решать разными путями, как с точки зрения пользователя, так и технологически. Яндекс уже довольно давно научился искать и по названиям композиций, и по текстам песен. На сказанные голосом запросы про музыку мы тоже умеем отвечать в Яндекс.Поиске под iOS и Android, сегодня же речь пойдёт о поиске по аудиосигналу, а если конкретно — по записанному с микрофона фрагменту музыкального произведения. Именно такая функция встроена в мобильное приложение Яндекс.Музыки:

image

В мире есть всего несколько специализированных компаний, которые профессионально занимаются распознаванием музыкальных треков. Насколько нам известно, из поисковых компаний Яндекс стал первым, кто стал помогать российскому пользователю в решении этой задачи. Несмотря на то, что нам предстоит ещё немало сделать, качество распознавания уже сопоставимо с лидерами в этой области. К тому же поиск музыки по аудиофрагменту не самая тривиальная и освещённая в Рунете тема; надеемся, что многим будет любопытно узнать подробности.
Читать дальше →

Wasted Dreams. Краткая инструкция по запуску

Время на прочтение4 мин
Количество просмотров25K
Вчера уважаемый Weilard опубликовал прекрасный пост про игру Wasted Dreams.
Описание получилось настолько красочным, что мне (думаю, и многим другим) захотелось посмотреть на игру. К сожалению, в оригинальной статье отсутствует последовательность шагов по запуску игры в эмуляторе.

Наверняка это не проблема для тех, кто давно знает платформу Amiga, однако, надеюсь, кому-то этот пост поможет как запустить игру, так и посмотреть на старую, но довольно необычную платформу.
К тому же, кажущийся тривиальным подход с эмуляцией CD-образа для приставок с CD-приводом в данном случае не сработал, пришлось идти несложным, но состоящим из множества мелких шагов обходным путём.

Добро пожаловать под кат за подробностями запуска Wasted Dreams на Вашем компьютере!
Читать дальше →

WebMarkupMin HTML Minifier – современный HTML-минимизатор для платформы .NET

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

Логотип WebMarkupMin


В начале 2012 года я работал над серией статей о клиентской оптимизации в ASP.NET MVC для журнала MSDeveloper.RU. Всего было опубликовано 2 статьи: «Сжатие JS- и CSS-файлов» и «Менеджеры ресурсов», но в моих планах было написать еще 2 статьи: одну про оптимизацию графики, а вторую про минимизацию HTML-разметки и GZIP/Deflate-сжатие (далее просто HTTP-сжатие). К сожалению, эти планы не удалось воплотить в жизнь из-за нехватки свободного времени (в тот момент, я запускал проект Bundle Transformer) и последовавшего закрытия журнала.


Но недавно я решил вернуться к теме оптимизации HTML-разметки. После небольшого исследования я понял, что под .NET практически не существует полноценных HTML-минимизаторов. Все существующие .NET-решения производят лишь 2 операции: удаление ненужных пробельных символов и удаление HTML-комментариев, из-за чего они очень сильно проигрывают решениям с других платформ. Поэтому я решил написать собственный HTML-минимизатор для .NET, о котором и пойдет речь в данной статье.


Эволюция HTML-минимизаторов


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


Вопреки расхожему мнению, техники минимизации HTML-кода появились намного раньше, чем аналогичные техники для JavaScript. Уже в конце 1998 года Артемий Лебедев в 17-м параграфе ководства «Паранойя оптимизатора» описывал некоторые техники минимизации HTML-кода.


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

RBAC Авторизация в YII и LDAP

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

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

К сожалению стандартный мануал по RBAC в YII оставляет больше вопросов чем ответов. Эту ситуацию я и намереваюсь исправить.
Я расскажу о создании “правильной” иерархии: как делать не стоит. А в завершении я приберёг инструкцию, о том как подружить LDAP авторизацию (из ActiveDirectory ) с Yii и RBAC.

Все кто заинтересовался, добро пожаловать под кат!
Читать дальше →

ASP.NET MVC и ненавязчивая валидация с Backbone.js

Время на прочтение3 мин
Количество просмотров3.9K
При разработке веб приложений, мы используем Asp.net MVC и backbone.js. При написании логики проверки достоверности у нас возникла проблема дублирования кода. Логику приходится описывать в модели на сервере и в модели backbone на клиенте. Хотелось бы автоматически перенести правила валиции с сервера на клиент. Для решения этой проблемы мы реализовали аналог стандартной ненавязчивой проверки достоверности данных MVC для backbone.js Подробности ниже.
Читать дальше →

Когда Photoshop отображает совсем не то, что надо

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

Такая вот ситуация: дизайнер присылает макет, а у верстальщика открывается какая то лабуда светлая, или темная (если верстальщик испольует МасOS, а дизайнер Win.). Или же верстальщик сохраняет картинку, а там цвета другие стали.

Разберемся почему так и как с этим жить.

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

Раскрываем магию MySQL или о строгости и мягкости MySQL

Время на прочтение15 мин
Количество просмотров140K
Очень часто в интернете встречаюсь со статьями, в которых приводят кучу примеров с якобы странным поведением MySQL по сравнению с другими БД. Чтобы стало понятно, о чём я говорю, приведу несколько примеров:
1. Деление на ноль возвращает NULL вместо ошибки
2. Выход за диапазон допустимых значений неявно приводит число к допустимому значению, а не к ошибке и откату транзакции
3. Вставка неверного типа данных также приводит к неявному преобразованию и успешному выполнению операции
Таких примеров я могу привести огромное число, но цель статьи не сделать очередное собрание высосанных из пальца примеров, а объяснить, почему происходит то или иное действие. Вся эта мистика MySQL давно описана в документации и легко объяснима, в чём вы сможете убедиться сами, прочитав статью до конца.
Для меня эта первая статья на хабре, поэтому я старался писать дотошно подробно. Уверен, что она будет полезна всем, кто работает с MySQL. Большую помощь в написании статьи оказала подготовка к сдаче на сертификат разработчика MySQL, а точнее книга «MySQL Certification Study Guide».
Итак, мой друг, начнём!
Читать дальше →

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность

Специализация

Десктоп разработчик, Фулстек разработчик
Старший
От 100 500 $
C#