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

А поощряется ли на Хабре головотяпство?

Lumber room
Истерия по поводу OOXML, похоже, подействовала на ещё одного члена команды. А именно — на maniaque. Что побудило его написать статью с критикой ODF — я не знаю.

Но меня больше всего интересует вопрос: как можно на основании сравнения OpenOffice.org и MS Office 2007 делать вывод о преимуществах и недостатках форматов ODF и OOXML?

Ибо читая статью возникает ощущение, что человек, её написавший на стандарты вообще не глядел — только на офисные пакеты.
Читать дальше →
Total votes 72: ↑57 and ↓15 +42
Views256
Comments 23

Апгрейд MS Word

Lumber room
Можно только приветствовать обсуждение возможностей системы LaTeX. Жаль, авторы иногда позволяют себе слегка холиварные заявления, приводящие, соответственно, к слегка холиварным откликам (моим в том числе, увы!).

Однако писать в комментариях о том, что MS Word тоже не лыком шит и позволяет вполне успешно справляться с написанием серьёзных (и нетривиально отформатированных) текстов — это одно, а пояснить сказанное на конкретных примерах — совсем другое.

Думаю, ни у кого нет сомнений, что без тонкой обработки напильником использование Word'а может оказаться на редкость малоприятным занятием. При этом сил, времени и умений на «обтачивание» далеко не у всех хватает.

Я в повседневной работе пользуюсь шаблоном, который и хочу предложить вашему вниманию. Работа над ним ведётся с большими перерывами, поэтому его статус можно обозвать «перманентной бетой». Однако это лучше, чем ничего, да и ждать, пока я сделаю финальный релиз, можно ещё долго.
Читать дальше →
Total votes 61: ↑44 and ↓17 +27
Views577
Comments 47

IronPython как движок для макросов в .NET приложениях

.NET
Подозреваю, многие из вас задумывались — как можно в .NET приложение добавить поддержку макросов — чтобы можно было расширять возможности программы без ее перекомпиляции и предоставить сторонним разработчикам возможность легко и просто получить доступ к API вашего приложения? В статье рассмотрено, как в качестве основы для выполнения макросов использовать IronPython — реализацию языка Python на платформе .NET.
Читать
Total votes 34: ↑33 and ↓1 +32
Views8.8K
Comments 38

Расширение функциональности Visual Studio

Visual Studio
Дисклэймер

Сразу оговорюсь. Всё написанное здесь исключительно моё имхо. Я могу ошибаться и буду рад, если вы меня поправите :)

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

Ладно, к делу.

Данная статья имеет задачу в первом приближении проинформировать интересующихся о возможностях расширения функционала Visual Studio — «технологии» Visual Studio Extensibility.

Читать дальше →
Total votes 61: ↑43 and ↓18 +25
Views23.6K
Comments 21

CSS-макросы для NetBeans

Website development
На хабре несколько раз публиковалась информация о Zen Coding, который может подключаться ко многим редакторам кода с целью ускорения верстки HTML и CSS кода. Одним из таких редакторов является NetBeans, который, правда, не работает с ZEN CSS.

Не желая мириться с таким положением дел, я, как и в случае с Notepad++, написал макросы для самых частоупотребляемых записей, дабы сэкономить драгоценные секунды (да и лень честно говоря писать свойства целиком).
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Views13.2K
Comments 24

Использование макросов в MASM на примере создания окна

Assembler
В далеком 2001-ом году я проводил много времени за изучением ассемблера под Win32. Тогда после долгих мучений с написанием одного и того же кода по сотне раз я взялся написать для себя небольшую библиотеку макросов. В итоге удалось достаточно серьезно облегчить себе судьбу и уменьшить необходимость повторять огромные полотенца кода, при необходимости написать простейшую программу с одним окном.

Недавно наткнулся на те проекты и решил выложить некоторые из них, может кому пригодится…

Читать дальше →
Total votes 56: ↑53 and ↓3 +50
Views8.1K
Comments 22

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

Website development
Всем привет! Хочу поделиться решением одной проблемы, связанной с авто-заменой по регулярному выражению в NetBeans.

Описание проблемы


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

Читать дальше →
Total votes 11: ↑7 and ↓4 +3
Views1.9K
Comments 3

Несколько советов по работе с VBA в Excel

Visual Basic for Applications

Добрый день!

Некоторое время назад меня попросили «помочь с Экселем», а потом и работа подвернулась такая, так что за последние пару месяцев я узнал много полезного, чем и хочу поделиться в догонку к недавней статье.

Предполагается, что вы знаете основы Visual Basic. Я не буду рассказывать, как создавать формы или модули, здесь только примеры кода.

Читать дальше →
Total votes 82: ↑55 and ↓27 +28
Views109.9K
Comments 36

Использование макросов в LibreOffice

Open source
Translation
Хабравчане, хочу вам представить перевод от юзера rze. Его ещё нет на Хабрахабре, но он не отказался бы от инвайта. Отправить можно на почту mail@worze.org.

АПД: спасибо Mithgol, инвайт получен. :)

Привет, хабражители!
Сегодня я хочу Вам рассказать об использовании макросов в LibreOffice.

Предисловие
Каждый день дома и на работе мы пользуемся офисными приложениями для выполения каких-либо задач. Часто бывает так, что Вы специализируетесь на одной работе и в итоге выполняете одни и те же задачи: вставляете один и тот же текст, форматируете его, используя большое количество горячих клавиш. Во всех этих случаях можно сэкономить Ваше ценное рабочее время, автоматризировав некоторую Вашу работу.
Далее в статье я Вам расскажу об использовании макросов в LibreOffice.
Читать дальше →
Total votes 57: ↑47 and ↓10 +37
Views67.1K
Comments 18

Теория чисел in TeX-way

LaTeXMathematics
Теория чисел и TeXДемонстрируем некоторые особенности написания TeX-макросов, встраивая в TeX калькулятор теоретико-числовых функций.

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


Время от времени мне приходится набирать очередной текст, сопровождаемый примерами вычисления теоретико-числовых функций: функция Эйлера φ, функция делителей τ, функция Кармайкла λ. Раньше это делалось так: запускаем любимый калькулятор (мой выбор — PARI/GP), в нем все считаем и копируем выкладки в ТеХ. Изменились исходные данные — снова в калькулятор и обратно. Много возни, много шансов забыть заменить какой-то промежуточный результат. Да и просто мышкой махать надоедает. Хочется автоматизировать этот процесс хотя бы для самых распространенных функций, чтобы можно было написать
$\phi(1001)=\Phi(1001)$
и получить на печати
\phi(1001)=720

Читать дальше →
Total votes 66: ↑65 and ↓1 +64
Views4.5K
Comments 16

Автоматическая генерация операторов сравнения структур в C++

ProgrammingC++
Sandbox
Язык C++ для всех пользовательских классов и структур генерирует по умолчанию копирующий конструктор и копирующий оператор присваивания. Тем самым для важного ряда случаев программист освобождается от написания указанных функций вручную. Например, операторы по умолчанию хорошо работают для структур, которые содержат данные. При этом данные могут храниться как в простых типах, так и в сложных контейнерах, таких как std::vector или std::string.

В свете этого удобно было бы иметь и операторы сравнения структур == и != по умолчанию, однако компилятор C++, в соответствии со стандартом, не генерирует их.
Читать дальше →
Total votes 30: ↑28 and ↓2 +26
Views8.2K
Comments 43

Аналог scope(exit) на С++

C++
Прочитал, недавно, на хабре, статью про scope(exit) в языке D и проникся красотой идеи.
Ведь так часто бывает, что нужно выполнить какой-либо код по выходу из функции, а создавать каждый раз страж — утомительно, да и не всегда возможно.
Но, использую новый стандарт, в С++ можно сделать не хуже, кому интересно — прошу под кат.
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Views5K
Comments 36

Импорт макросов в Visual Studio 2012

Visual Studio
Microsoft наконец-то избавились от макросов в Visual Studio 2012. Попытка была предпринята еще в VS 2010 beta, но под натиском возмущенных пользователей макросы вернулись в релиз. В VS 2012 они исчезли окончательно. Полагаю у Microsoft были на то веские причины, но у пользователей, не безразличных к данному топику, это вызвало эмоции противоположные от восторга. Возможность на лету накидать какой-то макрос(довольно часто одноразовый), не прибегая к созданию расширения, была очень ценна. И для тех, кто за время прошлых студий написал немало полезных для себя макросов, переход на VisualStudio 2012 довольно проблематичен.

Задача: перенести файлы с макросами в AddIn для возможности их использования в VS 2012 как с горячими клавишами, так и в меню.

В результате решения задачи появился шаблон проекта, в который достаточно добавить файлы с вашими макросами, откомпилировать и скопировать в папку My Documents\VisualStudio 2012\AddIns.
Читать дальше →
Total votes 7: ↑5 and ↓2 +3
Views6.3K
Comments 4

Ускоряем работу VBA в Excel

Visual Basic for Applications
Sandbox
Tutorial
image

Предисловие


Так уж сложилось, что на сегодняшний день много кому приходится работать(писать макросы) на VBA в Excel. Некоторые макросы содержат сотни строк кода, которые приходится выполнять каждый день (неделю, месяц, квартал и так далее) и, при этом, они занимают изрядное количество времени. Вроде бы и и процесс автоматизирован и человеческого вмешательства не нужно, но время, занимаемое выполнением макроса, может охватывать десятки минут, а то и несколько часов. Время, как говориться, — деньги и в этом посте я постараюсь значительно ускорить время выполнения Вашего макроса и, возможно, это положительно скажется на ваших делах, а в итоге и деньгах.
Читать дальше →
Total votes 37: ↑23 and ↓14 +9
Views119.3K
Comments 9

Улучшаем производительность труда. Макросы и литералы objective-c

Development for iOSObjective C

Всем привет!
Не секрет, что мы, программисты, минимум половину времени тратим на написание кода. Логично было бы это время как можно лучше сократить.
Однажды, когда я в очередной раз написал конструкцию NSString *, я подумал, что пора что-то менять.
Как же можно упростить себе жизнь, разрабатывая под iOS?
Статья является расширением другой статьи

Продолжить просмотр извращений Objective-c
Total votes 20: ↑14 and ↓6 +8
Views17.5K
Comments 30

Копание в данных SAP

ERP-systems
В качестве промо-довеска к ранее опубликованной статье приложу немного опыта и исходного кода для специфической аудитории, а именно пользователей SAP. Однажды мне пришлось полгода позаниматься изучением и программированием в этой чудесной системе, а точнее в модуле CRM. Поскольку, с одной стороны, средства для броузинга данных в SAP крайне скудны, а, с другой, я был избалован собственными привычками делать все мышкой, однажды от скуки я занялся любимым делом — «Свободой выборки», но в ABAP & light версии.
В это место имеет смысл проваливаться только SAPерам
Total votes 7: ↑1 and ↓6 -5
Views5K
Comments 8

ZoG на стероидах

Abnormal programmingGame developmentFunctional Programming
Tutorial
Когда я писал о разработке игры "Thud!", я уже сетовал на некоторую избыточность полученного описания. Простота языка ZRF имеет свою оборотную сторону — для того чтобы написать на нем что-то более менее сложное, часто, приходится дублировать значительные фрагменты кода. Подобная избыточность, как известно, приводит не только к увеличению объема ручной работы, но и значительно усиливает риск появления в коде разнообразных ошибок (поскольку процесс отладки ZoG приложений весьма не тривиален, это является существенным моментом).

Как можно бороться с подобной избыточностью?

Разумеется, с помощью макросов! Проблема в том, что макросы ZRF недостаточно выразительны для этого. Адриан Кинг, в процессе разработки игр Scirocco и Typhoon, пришел к аналогичному выводу и разработал свой собственный, расширенный язык макросов, работающий как внешний препроцессор. Сегодня, я расскажу о возможностях этого языка и постараюсь, на примере Thud!, показать его использование в процессе разработки ZRF-приложений.

Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Views4K
Comments 1

Макросы и квазицитаты в Scala 2.11.0

Enterra corporate blogScalaFunctional Programming
Не так давно состоялся релиз Scala 2.11.0. Одним из примечательных нововведений этой версии являются квазицитаты — удобный механизм для описания синтаксических деревьев Scala с помощью разбираемых во время компиляции строк; очевидно, что в первую очередь этот механизм предназначен для использования совместно с макросами.

Удивительно, но на хабре пока тему макросов в Scala рассматривают не слишком-то активно; последний пост
с серьёзным рассмотрением макросов был аж целый год назад.

В данном посте будет подробно рассмотрено написание простого макроса, предназначенного для генерации кода десериализации JSON в иерархию классов.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Views11.4K
Comments 8

Решение проблемы с циклическими ссылками в блоках ObjC

Viber corporate blogDevelopment for iOSObjective C
О блоках в ObjC и правильной работе с ними написано очень много, в том числе и на хабре. Вопрос о том, как правильно работать с self в блоках, чтобы избежать циклических ссылок, регулярно задается на собеседованиях. При использовании таких фреймворков, как ReactiveCocoa количество блоков в коде сильно возрастает, при этом увеличивается шанс допустить ошибку и потерять в памяти объекты. Про попытку окончательно решить эту проблему, метапрограммирование для с99 с экстеншнами и блоками + хипстерсткие макросы с @ под катом.
Читать дальше →
Total votes 30: ↑27 and ↓3 +24
Views27.6K
Comments 16

Pattern matching с помощью макросов

CompilersFunctional ProgrammingJulia
Язык Julia не поддерживает такую технику программирования, хорошо зарекомендовавшую себя в языках Haskell, Prolog, Erlang, Scala, Mathematica, как pattern matching. Но разрешает писать макросы, которые позволяют исправить этот фатальный недостаток. Выглядит это примерно так:
julia> immutable X a end

julia> immutable Y a ; b end

julia> @case(Y(X(9),2),  Y(4,3)-> 55, Y(X(k),2)->1+k)
10

Исходный код доступен на github.
Похожую (но гораздо более развитую и готовую для использования) можно взять здесь, но она слишком большая, что бы разбирать ее как пример в статье.
Макромагия с полным разоблачением
Total votes 16: ↑13 and ↓3 +10
Views5.2K
Comments 2