Яндекс.Метрика
Поиск по тегу

C


Найдено: 16 записей

Ни о чём

Я хочу работать в Google! Телефонное интервью (часть 2)

Сегодня мы будет обсуждать технические аспекты и реализацию задач на Python и C/C++, которыми нас будет закидывать инженер из Google. Начнём с самых тривиальных проблем с последующим нарастанием сложности. Параллельно обратим внимание о чём стоит упомянуть во время интервью и где не попасть в ловушку.

Песочница

Использование SCM для управления драйверами в C# реализованной с помощью dll на C++

Service Control Manager (SCM)


SCM — реализованный в Windows сервер удаленного управления сервисами (вызова процедур).

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

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


Наисать буферный класс позволяющий упростить работу SCM в C#.
Сам внешний вид этого класса можно обознать очень просто:
    public ref class ServiceControlManager
	{
	public:
		ServiceControlManager(void);
		void AddDriver(String^ ServiceName, String^ BinaryPathName);
		void DeleteDriver(String^ ServiceName);
		void StartDriver(String^ ServiceName);
		void StopDriver(String^ ServiceName);
	protected:
		~ServiceControlManager();
	private:
		SC_HANDLE SCMHandle;
	};

Конструктор, деструктор, основные методы, из атрибутов только HANDLE объекта SCM, из чего следует, что экземпляр объекта этого класса будет содержать в себе созданный объект SCM, а методы упрощают с ним работу. Класс является буферным, и поскольку он реализован в C++/cli он будет автоматически масштабируем для работы в среде .NET, соответственно и в C#.

Песочница

Хранение паролей в Chrome


Здравствуйте!

Не так давно у меня возникла идея о создании своей личной программы для бэкапа паролей Google Chrome. Да, в интернете очень много подобных программ, но результат паранойи (что пароли сливаются на чей то сервер «про запас»), да и желание узнать, чем дышит любимый браузер — перевесили чашу весов.

Песочница

Пишем двуязычную программу

Недавно передо мной встала нелёгкая задачка, которую мне подкинул один знакомый. Суть состоит в том, чтобы, написав один исходник, можно было его скомпилировать в gcc и исполнить, также и исполнить через интерпретатор perl. Казалось бы, не так уж и сложно, но не всем программистам придёт в голову, как правильно написать данный исходник. Приступим к рассмотрению изначальных программ на C и Perl.

Песочница

Два способа задать межсимвольный интервал в WPF

Введение в суть задачи


В одном из WPF — проектов возникла необходимость задать ширину пробела (расстояние) между символами для текста в элементе TextBlock. Точнее было нужно заполнить с помощью принтера бланк примерно такого типа (рис. 1). То есть важно подобрать интервал между символами, соответствующий интервалу между клетками формы. И я не сомневался, что в WPF для TextBlock существует нужное свойство, однако гугление показало, что это не так.

image
Рис. 1. Пример формы, которую необходимо заполнить.

Песочница

Приложения для приема цифрового телевещания средствами DirectShow

Приложение написано под ОС Windows7, DirectX 9, модель тюнера – AverTV Duo Hybrid PCI-E2, язык C#

Microsoft TV Technologies Internals. В этой статье описан граф для приема цифрового телевещания, а также фильтры, которые используются при постороении графа.

Для создания приложения необходимо:
1. Построить граф.
В своем графе я использую следующие фильтры:
• Microsoft DVB-T Network Provider
• AVerMedia 716x BDA DVBT Tuner (в зависимости от вашей модели Тюнера)
• AVerMedia 716x BDA Digital Capture (в зависимости от вашей модели Тюнера)
• MPEG2 Demultiplexer
• BDA MPEG2 Transport Information Filter
• MPEG-2 Sections and Tables
• Microsoft DTV-DVD Video Decoder
• Video Mixing Renderer 9

Песочница

Сравнение DevExpress CodeRush и JetBrains ReSharper


Первый раз я столкнулся с ReSharper лет 5 назад. Мне показалось что он тормозит Visual Studio и вообще его анализ разукрасили мой код до неузнаваемости. Большинство подсказок не представляло для меня ценности и только раздражало. Особо не разобравшись я снес его и пошел дальше валить лес двуручными пилами на протяжение следующих двух лет. Я думаю большинство начинающих, и не очень, разработчиков чувствуют что-то подобное и не понимают пользы ReSharper или CodeRush. В этой статье я сравню наиболее полезные и часто используемые возможности базируясь на моем двух летнем опыте использование CodeRush и годового опыта c ReSharper. Сразу оговорюсь перешел с CodeRush на ReSharper только из-за работодателя (на текущем месте работы компания предоставляет ReSharper).

Песочница

Const vs Readonly (C#)

Привет!

Как вы все наверно знаете, практика хорошего программирования подразумевает, что разработчик будет использовать константы в своем коде вместо прямого использования чисел и строк. Иными словами – никаких магических чисел. Согласитесь, куда понятнее для других будет строчка a = MaxItemCount, чем a = 250.

О том, как правильно объявлять константы, разговоры ходят довольно давно. Еще в языке C был спор, что лучше – const или define. На этот вопрос я сегодня отвечать не буду, но зато расскажу про другой спор из языка C# – const или readonly. Это не спор вовсе, а скорее совет по выбору лучшей техники.
Что такое readonly?

Думаю не стоит объяснять вам, что такое const. Наверняка все вы так или иначе знаете про это ключевое слово, так как оно присутствует во многих современных языках программирования. Const, написанный перед объявлением переменной, делает из нее константу – число, строку или иной простой тип, который не должен и не может изменяться. А вот readonly – это фишка именно C#, поэтому про нее поподробнее.

humour

Какой язык учить?

Хочешь программировать на выразительном и мощном языке: Python
Нужно по-быстрому веб-сайт: PHP
Желаешь в тусовку зовущих себя «рок-звездами» программирования: Ruby
Реально нужно научиться программировать: C
Ищешь просветления: Scheme
Уйти в хандру: SQL
Потерять одну хромосому: Microsoft Visual Basic
Для получения постоянной, заурядной, но хорошо оплачиваемой работы по созданию финансовых приложений в офисной загородке под лампами дневного света: Java
Тоже самое, но с аббревиатурами и списком сертификатов в своей подписи: C#
Получить волшебное ощущение детского изумления, которое сложно отличить от мании величия: Objective C

оригинал (en)

humour

Последняя пятницо на планете

С двух мест мне уже прислали в аське ссылку на это видео. Делюсь с хабравчанами.
Галактеко в опасносте!
Варнинг: ненорматив инсайд.



Дополнительные ссылки:
- Обратный отсчет до конца света
- подробно о коллайдерах



Ни о чём

Ожидание ввода символа в юниксовой консоли

В очередной раз столкнулся с проблемой блокирующего чтения символа из юниксовой консоли. Кто имел счастье писать на борландовском Паскале под ДОС наверняка помнит функцию ReadKey(), блокирующую выполнение программы до нажатия эникея. У меня пару раз всплывало это требование и в юниксовой консоли, но сишная функция getchar() блокирует выполнение до нажатия энтера, что не есть гуд в некоторых случаях.

За подсказку решения спасибо SlamJam'у :)

Итак:

humour

Какой язык учить?

Хочешь программировать на выразительном и мощном языке: Python
Нужно по-быстрому веб-сайт: PHP
Желаешь в тусовку зовущих себя «рок-звездами» программирования: Ruby
Реально нужно научиться программировать: C
Ищешь просветления: Scheme
Уйти в хандру: SQL
Потерять одну хромосому: Microsoft Visual Basic
Для получения постоянной, заурядной, но хорошо оплачиваемой работы по созданию финансовых приложений в офисной загородке под лампами дневного света: Java
Тоже самое, но с аббревиатурами и списком сертификатов в своей подписи: C#
Получить волшебное ощущение детского изумления, которое сложно отличить от мании величия: Objective C

оригинал (en)