Категория → Кодинг

Вашему вниманию, я хотел бы предложить заметки, которые я для себя оставлял при изучении шаблонов проектирования. Хочу сразу оговорить тот момент, что вы в данной статье не встретите всех паттернов, и если эта статья вам покажется интересной, то я буду продолжать. Рекомендовать on Facebook Share on vkontakte Bookmark in Browser Tell a friend

На прошлой неделе компания LMAX, где я работаю, получила приз Java Duke’s Choice Award 2011 за фреймворк Disruptor. Ранее об этой технологии писал Martin Fowler, известный многим читателям публикациями об объектном программировании. Рекомендовать on Facebook Share on vkontakte Bookmark in Browser Tell a friend

В качестве вступления описание рабочего окружения, в котором разрабатывался проект: ОС Arch Linux Редактор Vim Flex Framework 4.1 Lua-alchemy Теперь несколько слов о движке INSTEAD. Рекомендовать on Facebook Share on vkontakte Bookmark in Browser Tell a friend

Предисловие Однажды мне понадобилось написать драйвер под Windows XP SP2. Сразу встал вопрос отладки. Уж очень не хотелось использовать мудреный SoftIce, ребутиться при кадждой ошибке или делать откаты. Поэтому было решено использовать виртуалку VirtualBox, которой я частенько пользуюсь и характеристиками которой вполне доволен, и отладчиком Windows Debugger от Microsoft. Через несколько часов в окошке WinDbg […]

Вступление Термин d-pointer впервые ввел Arnt Gulbrandsen ( Trolltech ) для техники, которая обеспечивала бинарную совместимость библиотек. Библиотеки бинарно-совместимы, если приложение может работать с новой версией библиотеки без перекомпиляции самого приложения. Рекомендовать on Facebook Share on vkontakte Bookmark in Browser Tell a friend

Я бы хотел рассказать о моем маленьком эксперименте с использованием вложенных (паттерн Decorator) System.IDisposable объектов на примере с System.Xml.XmlReader и System.IO.FileStream. О том, как грамотно, на мой взгляд, использовать их изложено под катом. Рекомендовать on Facebook Share on vkontakte Bookmark in Browser Tell a friend

RGB Одним из основных режимов представления цвета в компьютерной графике является режим RGB — смесь красного, зеленого и синего. Чтобы задать какой либо цвет необходимо присвоить трем переменным R, G, B значения от 0 до 255. Таким образом, можно получить цвет любого оттенка, любой яркости. Рекомендовать on Facebook Share on vkontakte Bookmark in Browser Tell […]

Решил написать небольшую заметку после пары часов разбирательств — в сети ответы находятся не сразу, кусочками и на английском. Про Microsoft CodeContracts на Блоге уже писали, это библиотека и инструментарий для Visual Studio, позволяющие использовать в C# элементы «контрактного программирования». Рекомендовать on Facebook Share on vkontakte Bookmark in Browser Tell a friend

Рисование в QT

4, Окт 2011

Введение QT — технология для разработки кросс платформенных приложений, реализуемых на языке C++. Компания Nokia выпустила отличную технологию и отличную IDE к ней, которые, на мой взгляд, являются удачным сочетанием простоты написания программ (вам достаточно знать ООП и C++) и одновременной «контролируемости» (доступны все библиотеки для их просмотра). В результате получается оптимизированное приложение, в котором […]

Многие люди, которые так или иначе пересекаются со специалистами из области программирования, в частности менеджеры, не всегда понимают как устроен процесс написания продукта. Да и простым обывателям это тоже не дано. Были какие-то предметы в школе или ВУЗе, было страшное синее окно вездесущего Паскаля, что-то еще. И поэтому все боятся слова «программирование». Какой-то изысканно волшебный […]

До того, как впервые столкнулся с Gnom’ом и, соответственно, с Ubutu и gcc/g++, мне приходилось довольствоваться всякими навороченными Visual Studio, Borland, DevC++, и т. п., в которых было много всякой, по сути, не нужной новичку всячины, которая наваливалась на окошко кода как гора бессмысленной ваты и, к тому же, тормозила компиляцию и всю систему в […]

Джеймс Бах – QA гуру с нетривиальным взглядом на свое ремесло, необыкновенно интересный человек, и крайне умелый рассказчик. (Возможно, гены: его отец – тот самый писатель Ричард Бах). В этой статье Бах рассуждает о том, как быть «правильным» тестировщиком, как он вправляет мозги своим коллегам в скайпе, что, к его сожалению, умеют делать все тестировщики […]

Добрый вечер всем! Под катом — самопальный потокобезопасный быстроходный логгер на C++. Сразу предупрежу — в статье приводится реализация очередного велосипеда. Да, идея не нова и существует масса коробочных решений. Но велосипед получился легкий, расширяемый и главное быстрый. Что, собственно, от него и требовалось. Надеюсь, кому-нибудь пригодится. Рекомендовать on Facebook Share on vkontakte Bookmark in […]

Конструктор в классе — вещь нужная. В C++ мы имеем, на первый взгляд, необоснуемые запреты. В частности, класс вида: class MyClass { public: MyClass(MyClass initialClass); //… protected: //… private //… }; компилироваться не будет. Рекомендовать on Facebook Share on vkontakte Bookmark in Browser Tell a friend

Приветствую, блогосообщество. Из комментариев здесь я узнал что есть люди которые перешли с С++, на некий язык D и нисколько не жалеют. Это меня весьма заинтересовало, и захотелось узнать что же это за новый зверь такой, который совмещает в себе лучшее от целой кучи языков программирования. На блоге не оказалось статей на эту тему, так […]

Кодирование. В процессе кодирования вы больше времени читаете код, нежели пишете. Поэтому скорость, качество и желание, зависит от того, как правильно вы будете писать и оформлять код. Помните, программист пишет код в первую очередь для себя, потом для коллег и уж потом для компьютера. Конкретно по написанию кода что-либо говорить не имеет смысла, каждый это […]

Возможно заголовок этой статьи может ввести вас в заблуждение, но думаю, что большинство тех, кто достаточно долго занимается программированием, поймет о чем пойдет речь далее. Зададим себе несколько вопросов. Часто ли я переписываю свой код с нуля, пытаясь его улучшить? Часто ли я меняю дизайн приложения во время его разработки? Задерживаюсь ли я на каждом […]

Работая с QML столкнулся с проблемой создания формы произвольной формы. Не нашел в интернете нормальной статьи об этом (наверно плохо искал). Здесь представлено решение, к которому я пришел. Используем Qt Creator ( у меня было 2.3 с Qt 4.7.4). Итак, мы хотим создать приложение с такой нестандартной формой. Рекомендовать on Facebook Share on vkontakte Bookmark […]

Краткая предыстория: разрабатываем большой, долгоживущий проект, переданный нам на outsource. Соответственно, часто приходится заниматься оптимизацией чужого кода, но один случай поставил в тупик не только меня, но и всю команду… В процессе отладки кода, наткнулся на жутко неоптимальное место, в котором поиск дочерних элементов дерева производился двойным перебором. На больших деревьях алгоритм подвисал на несколько […]

Почему собственно я пишу эту статью? На днях увидел интересное задание, звучало оно примерно так. У вас есть n-ое количество предметов, которые имею название и вес каждый. И есть рюкзак (коробка, контейнер, как вам будет угодно) который вмещает определенное количество килограмм. Нужно найти оптимальный вариант помещения предметов в рюкзак, что бы вес положенных вещей был […]

Возник вопрос, что будет работать быстрее: вызов метода с через Reflection, или вызов метода у объекта объявленного как dynamic (из спецификации C# .NET 4.0, не путать с var)? Оба подхода позволяют работать с объектами через позднее связывание. Рекомендовать on Facebook Share on vkontakte Bookmark in Browser Tell a friend

Должно быть, вы уже слышали о функциональном языке программирования разработанным компанией Microsoft и включенным в Visual Studio 2010, а также MonoDevelop. На блоге есть большое количество статей по поводу написания приложений на F#, мне бы хотелось озвучить некоторые дополнительные возможности языка. Рекомендовать on Facebook Share on vkontakte Bookmark in Browser Tell a friend

В НГТУ, где я учусь на факультете энергетики, основная масса лабораторных работ проходит на очень старых стендах. Неверные показания измерительных приборов, постоянные сбои и поломки, да и просто неудобное управление вызывает массу неудобств и мешает изучению исследуемых физических процессов. В связи с этим у меня и моего преподавателя возникла идея усовершенствования таких стендов при помощи […]

При знакомстве с Блогом не понял почему язык pascal обойдён стороной. Существенное ограничение алгоритма: все стороны прямоугольника перпендикулярны координатным осям. В функцию передаётся указатель (ссылка) на массив границ многоугольника. Каждая сторона многоугольника задаётся только одной координатой на оси, к которой сторона перпендикулярна. Начинать можно с любой стороны многоугольника и в конце массива её дублировать не […]

В это статье я расскажу, как можно улучшить генератор псевдослучайных чисел, а именно как сделать так чтобы числа были более случайными. Все знают что криптостойкость некоторых алгоритмов шифрования (или почти всех) сильно зависит от того насколько непредсказуемы числа выдаваемые генератором псевдо-случайных чисел (ГПСЧ), который использует тот или иной алгоритм шифрования. В связи этим возникает понятие […]

Tfs + Git = Friends

14, Сен 2011

Сколько раз, работая в TFS, вы мечтали добавить в него некоторые возможности GIT, ну или наоборот? Эта статья не для того, чтобы обсуждать плюсы и минусы каждой системы, а о том, как подружить их. Для этого существет замечательный плагин git-tfs, созданный Richard Banks. Рекомендовать on Facebook Share on vkontakte Bookmark in Browser Tell a friend

В моем последнем проекте возникла следующая ситуация. Модель предметной области включала в себя множество однотипных «микрообъектов», агрегированных в составные «макрообъекты», многие свойства которых вычисляются с использованием агрегатных функции от свойств составляющих их «микрообъектов». Пользователь приложения взаимодействует именно с макрообъектами, причем они формируются только в ответ на запрос пользователя, т.е. их нельзя создать заранее, в то […]

Всем доброго времени суток. В данной статье я бы хотел рассмотреть способы компилирования С/С++ на ваших iOS девайсах. Вступление Возможно информация не нова, но я лично не смог найти пошаговую инструкцию для домохозяек на русском языке. Начиная работу я предполагаю что у владельца девайса уже стоит джейлбрейк и он умеет открывать Cydia и Instalous. Рекомендовать […]

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

Некоторое время назад стал использовать ROS, CaptainTrunky написал отличную статью Основы работы с Robotic Operating System, поэтому мы приступим сразу к практике. Рекомендовать on Facebook Share on vkontakte Bookmark in Browser Tell a friend


Наверх