All streams
Search
Write a publication
Pull to refresh
816
0
Владимир @tangro

Пользователь

Send message

Концепция баррикады

Reading time3 min
Views2K

Каждый программист когда-то давно, в начале своего Пути писал что-то типа вот этого:
double div( double a, double b )
{
	return a / b;
}


И был в полной уверенности, что эта функция делает именно то, что нужно — делит а на b. Но рано или поздно рядом оказывался друг или преподаватель, который объяснял, что эта функция делает еще одну важную в жизни любой программы вещь: валит её с исключением деления на ноль, если b равно нулю. После этого к будущему программисту приходило понимание необходимости проверки входных данных. Кто-то на этом решал вопрос исчерпанным, а кто-то приходил к мысли, что это только половина Дао.
Читать дальше →

Ваша программа — дворецкий

Reading time4 min
Views3.7K
В этом посте я расскажу об одной интересной точке зрения на программное обеспечение, которую будет полезно узнать любому программисту. Суть в восприятии разрабатываемой Вами программы как дворецкого.

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

О параллельных мирах

Reading time3 min
Views2.7K
Иногда я попадаю в параллельные миры и с огромным удивлением изучаю их структуру, обитателей и события, в них происходящие. Нет, вы не подумайте только, что я злоупотребляю психотропными веществами или достижениями современной ликёро-водочной науки. Да и в существование иных измерения я тоже как-то не очень верю. Я о другом.



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

Еще одна визуализация ряда алгоритмов и структур данных

Reading time1 min
Views20K

Университет Сан-Франциско создал с использованием HTML5 коллекцию визуализаций различных алгоритмов и структур данных. Посмотреть и потыкать кнопки можно вот тут.
Список визуализированных алгоритмов и структур данных со ссылками под катом.
Читать дальше →

Репутация логотипа Internet Explorer

Reading time3 min
Views8.3K
Как-то раз, холодным зимним вечером, зашел я на чашку чая к своим знакомым — молодой супружеской паре с ребенком младшего школьного возраста. Люди хорошие, но от информационных технологий очень далёкие. Компьютер в их доме, конечно, есть, но роль его сводится к видеоплееру и подставке под вазон. И вот, за бокалом чая, хозяйка дома вспомнила, что я «компьютерщик», и попросила удалить с их компа некую «мерзость, которая непонятно как там оказалась». Я уж был готов к рассаднику вирусов и лекции на соответствующую тему, но «мерзостью», которая вызвала негодование моей знакомой, оказался Internet Explorer.
Нет, мои друзья не стали вдруг фанатами Firefox\Chrome\Opera (как я уже говорил — люди от IT далёкие и о вышеперечисленных браузерах не слышали). Более того — у них дома даже интернета на тот момент не было. А неприязнь к IE и желание его удалить — были. Как так?

Отгадка под катом. Осторожно, трафик.

Библиотека логирования log4cplus

Reading time2 min
Views12K
Недавно на Хабре промелькнула пара статей о библиотеках логирования для С++. Статьи хорошие и доходчивые, автору респект. Но лично я не понимаю следующих вещей:
  • Как можно пользоваться библиотекой, разработка которой заброшена много лет назад (log4cxx)?
  • Зачем библиотеке логирования зависимости от других библиотек (log4cxx, Pantheios) ?
  • Как можно не иметь такого базового функционала, как Rolling Files? (Pantheios)
  • Зачем библиотеке логирования такие размеры (log4cxx — в сумме 4.1 Мб в архиве, Pantheios — 9.3 Мб в архиве )?
  • Почему при компиляции библиотеки логирования я должен разгребать ~300 ошибок (log4cxx) ?
Поэтому я решил рассказать о такой библиотеке, как log4cplus, у которой:
  • Последний стабильный релиз вышел в 2011 году, имеется активный трекер и постоянные коммиты в репозиторий
  • Имеется куча механизмов вывода логов (одних только Rolling Files — 2 вида)
  • Никаких внешних зависимостей
  • Общий размер исходников в архиве — 420 Кб (это с документацией, тестами и примерами)
  • В комплекте готовые проекты под разные платформы, которые компилируются без ошибок
  • Прикручивается к проекту менее, чем за 5 минут
Читать дальше →

О взаимопонимании Google и Microsoft

Reading time3 min
Views2.5K

Нет, этот пост не будет очередной уткой на тему всяких юридических споров, новостей в духе «главный босс одной компании обозвал другую» и домыслов о заговоре. Речь пойдет о движках распознавании речи и генерации речи из текста, предоставляемых компаниями Google и Microsoft, их внутренней совместимости и взаимной дружбе.
Читать дальше →

Ускоряем Visual Studio, часть III. Производительность IDE

Reading time2 min
Views43K
После написания прошлой статьи, я понял, что у меня осталось еще некоторое количество информации, не относящейся к ускорению компиляции решения, но позволяющей несколько повысить производительность самой Visual Studio в процессе работы над кодом. А поскольку мы все-таки работаем над кодом изрядное количество времени, намного приятнее делать это в быстро работающей IDE. К сожалению, в этой статье не будет графиков, поскольку весьма тяжело измерить, насколько стало быстрее открываться меню или какое-то окно. Тем не менее, я надеюсь, что кто-то может найти для себя в этих советах что-то ценное и сэкономить себе немного времени.
Читать дальше →

Ускоряем Visual Studio, часть II. Эксперименты с компиляцией

Reading time7 min
Views32K
Мой основной рабочий инструмент на протяжении вот уже 10 лет это Microsoft Visual Studio. Это прекрасная IDE (по крайней мере для С++ и С#), лучше которой для Desktop-разработки под Windows я не знаю. Тем не менее, общеизвестен один её недостаток — падение производительности на больших решениях. Я сейчас работаю над решением из 19-ти проектов (около 4к файлов, 350к строк кода). Компиляция и прочие издержки съедают изрядное количество времени. Именно поэтому я задался целью провести масштабное исследование путей повышения скорости работы Visual Studio, отделив мифы от реальности.

Сразу скажу, что в финале мне удалось добиться сокращения времени компиляции решения с 4:24 минут до менее чем одной минуты. Детали под катом.
Читать дальше →

Ускоряем Visual Studio, часть I. Unity Builds

Reading time4 min
Views19K
Это перевод статьи Oliver Reeve об одном из способов ускорения компиляции проекта. Автору удалось ускорить компиляцию с 55 до 6 минут. В своём проекте я получил прирост производительности около 22% (около минуты). Это не столь поразительно, как достижения автора, но всё же, умножив эту минуту на количество компиляций в день, количество разработчиков и длительность разработки проекта, я получил экономию, которая точно оправдывает затраты на чтение статьи и настройку проектов. Описано решение для Visual Studio и С++, но идея применима и к другим IDE, компиляторам и языкам программирования (не всем). В следующей статье я рассмотрел еще пару способов ускорения компиляции решения.
Читать дальше →

Очнитесь, на дворе XXI век

Reading time5 min
Views32K


Начать статью я хотел бы с констатации того факта, что прямо за окном находится 2011 год (пруфлинк), середина апреля. Напоминаю я это в первую очередь себе, поскольку меня периодически посещают в этом сомнения. Дело в том, что как по работе, так и ради хобби я часто читаю код на С++, написанный лет 10-20 назад (но поддерживаемый и поныне) или код написанный совсем недавно, но людьми, которые учились программировать на С++ те же 20 лет назад. И вот после этого у меня и возникает ощущение, что никакого прогресса за эти годы не было, ничего не менялось и не развивалось, а по Земле до сих пор бродят мамонты.
Читать дальше →

Наглядная демонстрация алгоритмов сортировки

Reading time1 min
Views34K
Трансильванский университет Sapientia представил свой новый обучающий курс по алгоритмам сортировки. Стоит отметить талант создателей и высокую наглядность пособия.



Под катом есть еще видео
Читать дальше →

Microsoft Research Accelerators

Reading time4 min
Views2.5K


Research Accelerators — это набор инструментов для студентов, аспирантов, преподавателей и ученых. Они помогут в учебе, академической работе, изучении науки, анализе и визуализации данных, а также публикации результатов проделанной работы. Многие из инструментов поставляются с открытыми исходными кодами или имеют открытые интерфейсы для взаимодействия и расширения. Все это даёт возможность работать с самыми передовыми разработками инженеров и исследователей группы Microsoft Research.
Читать дальше →

Делаем свой Gmail Motion

Reading time3 min
Views1.5K
Несколько дней назад, не помню точной даты, компания Google представила свой новый инструмент для работы с электронной почтой — Gmail Motion. Об этом даже писали на Хабре. Решив воспользоваться этой прекрасной фичей, я, к своему огромному сожалению, не нашел возможности включить её в своей учетной записи Gmail. Наверное, я не вошел в группу бета-тестеров. Это, конечно, расстраивает. Но не нас! Ниже я расскажу, как за бутылку один час я сделал свой Gmail Motion. Сразу видео с результатом, под катом — технические детали.


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

Тестируем среду для тестирования: MS Visual Studio Test Professional 2010

Reading time6 min
Views13K
image
Мне давненько хотелось вживую «пощупать» Microsoft Visual Studio Test Professional. Все-таки это продукт, позиционируемый Microsoft как основная платформа для тестирования программ, создающихся в Visual Studio (а это мой главный рабочий инструмент). Да и чего уж тут греха таить, к стати подвернувшийся конкурс от Microsoft тоже не оставил меня равнодушным. Прошу заранее простить мой несколько «ламерский» взгляд на предмет статьи — сам я программист, а не тестер, и могу неверно употреблять некоторые термины (а иногда и вовсе пороть бессовестную чушь).
Читать дальше →

Как не дать программисту написать плохой код

Reading time3 min
Views6.5K
image
Как-то раз в одной неглупой статье один неглупый хабраюзер рассказал одну неглупую идею. Суть её была в том, что в его компании настроена система, контролирующая написанный программистами код в момент попытки добавления его в репозиторий и отклоняющая код, не проходящий по некоторым критериям. Мне идея понравилась. Я (и еще 3 человека) попросили автора развить мысль и написать статью об этом, но она так и не появилась. И я решил разобраться сам.
Читать дальше →

Моё путешествие в будущее

Reading time5 min
Views134K


Был тихий осенний вечер. Ничто не предвещало беды. Смеркалось. Я заканчивал плановый upgrade компьютера, в процессе которого по затерявшимся уже в истории причинам понадобилось сбросить BIOS. Дело не хитрое. Расположение батарейки и перемычки Reset на материнской плате известны – вперед! После включения и загрузки Windows 7 мне в ультимативном порядке было заявлено, что на дворе далекое будущее, а именно – 14201-ый год.



Приключения только начинались…
Читать дальше →

Information

Rating
Does not participate
Location
Украина
Registered
Activity