Pull to refresh
  • by relevance
  • by date
  • by rating

Локализация ASP.NET MVC приложений

«Knoema» corporate blog Website development *ASP *
На тему локализации уже было несколько статей на Хабре, например Локализация ASP.NET MVC приложения с помощью БД или MVC 2: Полное руководство по локализации, но все-таки проблема до сих пор актуальна.

Совсем недавно у нас возникла задача локализации (перевода) интерфейса сайта на другой язык. Наш проект разрабатывается на ASP.NET MVC и в проекте достаточно много клиентского кода на JavaScript и шаблонах jQuery. Еще одним важным моментом для нас является возможность интерактивной работы переводчиков, фактически перевода сайта на лету.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views 22K
Comments 75

Интервью с Джоном Линдквистом, евангелистом JetBrains

JetBrains corporate blog
John LindquistПросим любить и жаловать: Джон Линдквист (John Lindquist), новый член команды технологических евангелистов JetBrains. В начале августа Джон дал нам подробное интервью, русскую версию которого мы и хотим представить аудитории Хабра. Но довольно предисловий — читайте и знакомьтесь!

1. Здравствуйте, Джон! Мы рады приветствовать Вас в JetBrains. Спасибо, что нашли время поговорить с нами. Вы довольно известная личность — например, в мире Flash, но не могли бы Вы рассказать немного о себе для тех, кто еще Вас не знает?

Конечно. Сначала о своем профессиональном пути: я занялся программированием еще в школе, писал игры на калькуляторе TI-85 вместо того, чтобы заниматься математикой (если не считать hypercard, это было еще раньше). Позже я увлекся написанием собственного программного обеспечения для ведения блогов с домашнего сервера (ASP), а затем перешел к выполнению разовых проектов еще во время учебы в колледже, примерно в 2000 году (php, java). Следующие пару лет разрабатывал внутреннее приложение для Университета штата Юта, предназначенное для отправки/ преобразования для просмотра документов в формате pdf (php, pdf и т.п.). Затем устроился на работу в компанию Schematic и работал с такими клиентами, как Disney, Dell, Target и другими (flash, html). В последнее время работал консультантом в компании Roundarch с такими клиентами, как Bloomberg, HBO, ВВС США (HTML/JS, flex, flash и т.п.).
Продолжение интервью
Total votes 16: ↑10 and ↓6 +4
Views 6.9K
Comments 3

Самые востребованные языки программирования

HeadHunter corporate blog Programming *
Каждый месяц работодатели создают на hh.ru примерно 15 000 000 поисковых запросов. Мы проанализировали потребности компаний в конкретных программистах и составили рейтинг самых популярных языков программирования в запросах работодателей.
Итак, первая десятка самых востребованных программистов в Москве выглядит так:


К десятке были очень близки axapta, flash и ruby.

UPD: по просьбам читателей добавили Минск.
Узнать, какие языки программирования сейчас востребованы в разных городах
Total votes 73: ↑53 and ↓20 +33
Views 212K
Comments 111

Слабые ссылки в различных языках программирования

Programming *
Sandbox
Tutorial
В языках с автоматическим управлением памятью сборщик мусора удаляет объекты, когда они перестают быть доступными по ссылкам. Обычно это именно то, что нужно: объект существует, пока есть возможность к нему обратиться.
Иногда такое поведение не подходит. Например, программе понадобилось хранить некоторую вспомогательную информацию об экземплярах некоторого класса, но у вас нет возможности добавить в этот класс своё поле. В этом случае можно создать отображение, в котором ключом будет объект, а значением — вспомогательная информация.
Вот тут-то и начинаются проблемы. Поскольку отображение хранит ссылки на ключи, те объекты, к которым была привязана вспомогательная информация, перестают освобождаться из памяти. Если программа в процессе своей работы создаёт много объектов, память рано или поздно заканчивается.
Читать дальше →
Total votes 48: ↑45 and ↓3 +42
Views 34K
Comments 8

Программный синтезатор

Programming *.NET *C# *
Tutorial
И так господа, решил наконец разобраться с программным синтезом музыки, а именно с практической частью реализации подобной задачи. Давайте посмотрим что из это вышло и как оно реализовано…


Читать дальше →
Total votes 68: ↑60 and ↓8 +52
Views 43K
Comments 36

Определение собственных областей видимости в MEF

.NET *C# *
Здравствуйте, жители хабра.
Managed Extensibility Framework aka MEF, что бы не говорили любители навороченных Autofac-ов и прочих StructureMap-ов, является простым и наглядным способом организации композиции в приложении. И после объемной дискусии с уважаемым Razaz по поводу сильных и слабых сторон MEF хотелось бы продемонстрировать возможности определения собственных областей видимости в этом контейнере.

Как это?
Total votes 19: ↑17 and ↓2 +15
Views 7.5K
Comments 4

Реализация ECB шифрования с помощью библиотеки Маршала в языке С#

Lumber room
Sandbox
Здравствуйте! Все чаще встречаю вопросы друзей и коллег, да и просто запросов на тему «как же реализовать шифрование на языке С#». Так вот кому будет интересно расскажу как это можно реализовать.
Режим ECB — метод применения блочного шифра, позволяющий преобразовать последовательность блоков открытых данных в последовательность блоков зашифрованных данных. Более точно вы сможете узнать на Википедии. Я же перейду сказу к сути вопроса.
Читать дальше →
Total votes 23: ↑7 and ↓16 -9
Views 1.8K
Comments 3

Прячем кнопку Пуск, панель задач, часики

Programming *C# *
Sandbox
Tutorial
С помощью нескольких функций Windows API можно скрыть кнопку Пуск, панель задач или отдельные ее элементы. Я это делал раньше с помощью Visual Basic 6.0, Delphi, C++, Visual Basic.NET на Windows 98/Me/XP. Попробуем теперь это сделать с помощью C# на Windows 7. Практической ценности данный пример не имеет, может только ради шутки. Но тем не менее, пример может послужить неплохой демонстрацией возможностей, которые скрывают системные функции Windows.

Немного теории. Очень часто программисты хотят получить доступ к стандартным элементам интерфейса Рабочего стола Windows. Для начинающих программистов будет интересно узнать, что панель задач и кнопка Пуск являются окнами (собственно отсюда и название операционной системы). Поэтому, все, что нам нужно, это получить описатель нужного окна, а затем при помощи соответствующих функций скрыть или показать это окно.
Читать дальше →
Total votes 70: ↑16 and ↓54 -38
Views 33K
Comments 9

SQLite теперь для мобильных приложений на С# под любую платформу

Microsoft corporate blog Programming *
image

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

SQLitePCL может быть использована для реализации локальной базы данных в приложениях для Windows, Windows Store, Windows Phone, Android (Xamarin) и iOS (Xamarin). Она бесплатна и ее код открыт для всех желающих.

Я проверила ее в действии, чем и хочу с вами поделиться.
Читать дальше →
Total votes 42: ↑37 and ↓5 +32
Views 22K
Comments 24

Lumia SensorCore SDK: новые возможности для разработки мобильных приложений. Часть 2: Создание приложения

Microsoft corporate blog Development for Windows Phone *


Доброго дня, всем!

В предыдущей статье мы провели обзор Lumia SensorCore SDK и его компонентов, которые позволяют создавать приложения, отслеживающие активность пользователя в режиме минимального энергопотребления.

В этой статье мы рассмотрим практическое применение SensorCore SDK для создания приложения, отправляющего уведомления в соответствии с местонахождением устройства. Мы обсудим рекомендации работы с новым SDK, и посмотрим как сгенерировать и использовать фиктивные данные, а так же симуляторы API.
Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 6.6K
Comments 0

Concurrency структуры в .net. ConcurrentQueue изнутри

.NET *Algorithms *C# *
ConcurrentQueue можно отнести к lock-free конкурентным структурам данных. В ее реализации нет блокировок (lock, Mutex…) и реализована она с использованием:
— классической функции CompareExchange;
— SpinWait
— volatile (используется как memory-barrier)
В основу ConcurrentQueue заложена структура ring-buffer (кольцевой буфер).
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Views 26K
Comments 4

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

#tceh corporate blog PHP *Programming *C *
После первого поста нам написали 7 человек: одна выбила грант для программистов-подростков, у второй компания делает хорошую штуку для студентов-технарей, третья развивает свежий некоммерческий онлайн-проект по теме, четвертый рекомендовал, где проверять скиллы, пятый после нескольких лет разработки игр решил собрать свой первый митап.

А двое только планируют свои школы программирования.

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

image
Это реальный вопрос, заданный ребенком Григорию Бакунову месяц назад. Мы до сих пор ходим улыбаемся

Интересные штуки, касающиеся, в первую очередь, Android и Java вы можете посмотреть в первом выпуске.

А сегодня мы поговорим о C/С#/С++, геймдеве, Ruby, Linux, Arduino, курсах для ваших детей, племянников и детей ваших знакомых. И – PHP.
Читать дальше →
Total votes 25: ↑18 and ↓7 +11
Views 17K
Comments 14

Погружение в ASP.NET 5 Runtime

Website development *.NET *ASP *C# *
Recovery mode
Translation

Вступление от переводчика


Данная статья является переводом ASP.NET 5 — A Deep Dive into the ASP.NET 5 Runtime — введения в архитектуру DNX и построенного на нем ASP.NET 5. Так как оригинальная статья была написана в марте 2015 года, во время, когда ASP.NET 5 был еще в стадии активной разработки (примерно beta 3), многое в ней устарело. Поэтому при переводе вся информация была актуализирована до текущей версии ASP.NET 5 (RC1), также были добавлены ссылки на связанные ресурсы (в основном на docs.asp.net) и исходный код на GitHub (смотрите только в случаях, если вам интересна реализация). Приятного погружения!

.NET Runtime Environment (DNX)


ASP.NET 5 базируется на гибком, кроссплатформенном runtime, который может работать с разными .NET CLR (.NET Core CLR, Mono CLR, .NET Framework CLR). Вы можете запустить ASP.NET 5 используя полный .NET Framework или можете запустить используя новый .NET Core docs, который позволяет вам просто копировать все необходимые библиотеки вместе с приложением в существующее окружение, без изменения чего-либо еще на вашей машине. Используя .NET Core вы также можете запустить ASP.NET 5 кроссплатформенно на Linux docs и Mac OS docs.

Инфраструктура позволяющая запускать и исполнять приложения ASP.NET 5 называется .NET Runtime Environment docs или кратко DNX. DNX предоставляет все что необходимо для работы .NET приложений: host process, CLR hosting логику, обнаружение управляемой Entry Point и т.д.

Логически архитектура DNX имеет пять слоев. Я опишу каждый из этих слоев вместе с их обязанностями.
Изображение взято из статьи DNX-structure wiki
Архитектура ASP.NET 5 и DNX

Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Views 27K
Comments 14

Using или Using?

Programming *.NET *C# *
Recovery mode
Sandbox
Tutorial
Заголовок этого сообщения обескураживает, не правда ли? Тем не менее, вы достаточно сообразительны, чтобы догадаться, о чем пойдет речь. На собеседовании по .NET часто задают вопрос: ”Чем отличаются директива using и оператор using?” Иногда перед соискателем ставят дополнительные ловушки, спрашивая, в каких местах программы можно использовать using? Первое, что приходит в голову, это использование директивы using, которая применяется для определения или разрешения использования типов как пространств имен. Например, следующий фрагмент кода демонстрирует включение некоторых пространств имен с помощью директивы using.
Читать дальше →
Total votes 35: ↑3 and ↓32 -29
Views 12K
Comments 41

Алгоритм жевания для тачскрина

Development of mobile applications *Game development *Unity3D *
Sandbox
Не так давно вышла моя первая личная игра для мобильных. Суть заключается в том, что врагов надо пережевывать пальцами. Алгоритм не уникальный, но встречается редко. На первый взгляд, нужно только прослушать зум-движение двух пальцев, вроде ничего сложного, однако в процессе разработки игры выявляются различные подводные камни.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views 13K
Comments 11

Программирование&Музыка: понимаем и пишем VSTi синтезатор на C# WPF. Часть 1

Programming *.NET *Algorithms *
Sandbox

Занимаясь музыкальным творчеством, я часто делаю аранжировки и записи на компьютере — используя кучу всяких VST плагинов и инструментов. Стыдно признаться — я никогда не понимал, как "накручивают" звуки в синтезаторах. Программирование позволило мне написать свой синтезатор, "пропустить через себя" процесс создания звука.


Я планирую несколько статей, в которых будет пошагово рассказано, как написать свой VST плагин/инструмент: программирование осциллятора, частотного фильтра, различных эффектов и модуляции параметров. Упор будет сделан на практику, объяснение программисту простым языком, как же все это работает. Теорию (суровые выводы и доказательства) обойдем стороной (естественно, будут ссылки на статьи и книги).


Обычно плагины пишутся на C++ (кроссплатформенность, возможность эффективно реализовать алгоритмы), но я решил выбрать более подходящий для меня язык — C#; сфокусироваться на изучении самого синтезатора, алгоритмов, а не технических деталей программирования. Для создания красивого интерфейса я использовал WPF. Возможность использования архитектуры .NET дала возможность библиотека-обертка VST. NET.


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



Предстоит нелегкий путь, если вы готовы — добро пожаловать под кат.


Total votes 55: ↑54 and ↓1 +53
Views 38K
Comments 19

Программирование&Музыка: ADSR-огибающая сигнала. Часть 2

Programming *.NET *Algorithms *

Всем привет!
Вы читаете вторую часть статьи про создание VST-синтезатора на С#. В первой части был рассмотрен SDK и библиотеки для создания VST плагинов, рассмотрено программирование осциллятора.
В этой части я расскажу про огибающие сигнала, их разновидности, применение в обработке звука. В статье будет рассмотрено программирование ADSR-огибающей для управления амплитудой сигнала, генерируемого осциллятором.
Огибающие есть в любом синтезаторе, применяются не только в синтезе, а повсеместно обработке звука.


Исходный код написанного мною синтезатора доступен на GitHub'е.



Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Views 10K
Comments 10

Программирование&Музыка: Частотный фильтр Баттервота. Часть 3

Programming *.NET *Algorithms *

Всем привет! Вы читаете третью часть статьи про создание VST-синтезатора на С#. В предыдущих частях был рассмотрен SDK и библиотеки для создания VST плагинов, рассмотрено программирование осциллятора и ADSR-огибающей для управления амплитудой сигнала.


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


Будет рассмотрен исходный код и применение эквалайзера из библиотеки NAudio (библиотека для работы со звуком под .NET).


Внимание — будет много матана — будем рассчитывать формулы для коэффициентов фильтра.


Исходный код написанного мною синтезатора доступен на GitHub'е.



Скриншот VST плагина-эквалайзера Fab Filter Pro Q


Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Views 17K
Comments 11

Программирование&Музыка: Delay, Distortion и модуляция параметров. Часть 4

Programming *.NET *Algorithms *

Всем привет! Вы читаете четвертую часть статьи про создание VST-синтезатора на С#. В прошлых частях мы генерировали сигнал, применяли к нему амплитудную огибающую и фильтр частот.


В этот раз мы рассмотрим эффекты Distortion — искажение сигнала, знакомое любому электрогитаристу и Delay (оно же эхо).


Множество различных интересных звучаний можно получить, если менять (модулировать) значения параметров составляющих частей синтезатора (генератора, фильтра, эффектов) во времени. Рассмотрим вариант, как это можно сделать.


Исходный код написанного мною синтезатора доступен на GitHub'е.



Скриншот VST плагина GClip


Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Views 8.8K
Comments 6