Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

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

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

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

Автоматизация локализации в Silverlight при помощи макросов Visual Studio

Silverlight
Из песочницы
большая красная кнопка

Здравствуйте. Хочу поделиться небольшой наработкой в области автоматизации локализации приложений разработанных с использованием технологии SilverLight. Прочитав этот пост (Локализация в Silverlight), стало ясно, что придется выносить все строковые константы в ресурсные файлы, что нельзя назвать особо интеллектуальной работой. Поэтому решил пойти длинным путём и попробовать автоматизировать данный процесс с помощью встроенных в Visual Studio макросов.

В связи с тем, что от меня так же требовали немного причесать код, было решено отказаться от полной автоматизации (полного сканирования всех xaml файлов с поиском русских букв и вынесением в ресурсы). Плюс не смог придумать нормальной автоматизации замены строковых констант в .cs файлах.

После анализа были выработаны следующие требования к макросу:
  • проанализировать выделенную пользователем фразу (по нажатию на определённую комбинацию клавиш);
  • найти перевод фразы в google translate (чтобы не напрягать пользователя придумыванием названия ресурса);
  • добавить фразу в указанные заранее ресурсы (причем необходимо, чтобы изменения производились через VS, так как нам нужен сгенерированный прокси класс);
  • заменить выделенную пользователем фразу на биндинг к ресурсу.

Читать дальше →
Всего голосов 12: ↑8 и ↓4 +4
Просмотры1.2K
Комментарии 1

Поля класса доступные по имени с setter и getter в C++

C++
Из песочницы
Как известно, в C++ нет средства описания полей класса с контролируемым доступом, как например property в C#. На Хабрахабре уже пробегала статья частично на эту тему, но мне решительно не нравится синтаксис. К тому же очень хотелось иметь возможность обращаться к полям из ран-тайма по имени.
Читать дальше →
Всего голосов 55: ↑42 и ↓13 +29
Просмотры19.4K
Комментарии 44

Макросы в Scala, Евгений Бурмако. Скринкаст, слайды и фото со scalaby#6

Scala

На 6-ой встрече коммьюнити #scalaby выступал Евгений Бурмако — докторант EPFL, и член команды Мартина Одерски, занимающейся разработкой Scala. Темой презенатции был «Проект Кеплер» — пропозал по добавлению макросов в Scala, над которым Евгений работает в течение последнего месяца.

Фото и скринкаст под катом
Всего голосов 15: ↑14 и ↓1 +13
Просмотры2.8K
Комментарии 2

Пишем свой VLOOKUP для того, чтобы не зависеть от стандартного (Excel functions)

Visual StudioMicrosoft Access

Преамбула


Как известно, знание функции VLOOKUP в MS EXCEL, достаточно чтобы в Москве стать средним аналитиком. Если человек знаком еще и с PIVOT или например знает как убрать дубликаты из списка — все двери в счастливый офисный мир перед ним настежь раскыты.

У сообщества Хабрахабр, конечно, такие знания могут вызвать лишь улыбку умиления. Работать с данными (если вообще до этого снисходить) допустимо только на олдскульном ANSI T-SQL — 92.

Но иногда суровая реальность заставляет сравнивать массивы данных. При этом, как правило, нет времени на перенос данных в СУБД, либо это просто нецелесообразно. Поэтому предлагаю уважаемому сообществу поделиться друг с другом своими «фишками» для удобной и быстрой обработки данных в EXCEL. Не пропадать же добру…
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры32.9K
Комментарии 19

Вложенные функции на C++

C++
Приветствую сообщество!

Я наткнулся на возможность сделать в С++ что-то похожее на объявление функций внутри функций. Выглядит это вот так:

#include <iostream>
int main()
{
    inline_function(std::string s)
    {
        std::cout << "Hello, " << s << "!\n";
    }
    with_name(make_hello);

    make_hello("Vasiliy Pupkin!");
    return 0;
}


В приведенном примере внутри метода main изготавливается вложенный «метод» с названием make_hello и затем вызывается с параметром «Vasiliy Pupkin». Разумеется, на экран будет выведено Hello, Vasiliy Pupkin!.

К сожалению, перетащить название вверх у меня не получилось.

Как это сделано
Всего голосов 40: ↑25 и ↓15 +10
Просмотры39.7K
Комментарии 24

Пример использования макросов в редакторе mcedit

Настройка Linux

Преамбула


Я, как правило, редактирую исходний код во встроенном в mc (midnight commander) редакторе mcedit (не спрашивайте почему не в vim, так исторически сложилось). И уже довольно давно в mcedit можно пользоваться функцией записи и проигрывания макросов.

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

Дано


Задача была открыть на редактирование файл содержащий проблему в котором по хоткею, т.е. приложив минимум усилий.
Т.е в редакторе был открыт файл со списоком предупреждений, который был сгенерирован утилитой doxygen, это был список содержащий полный путь к проблемному файлу а также номер строки.
Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Просмотры6.5K
Комментарии 13

Язык в языке или встраиваем XPath в Scala

Scala
Tutorial
Scala — великолепный язык. В него можно влюбиться. Код может быть лаконичным, но понятным; гибким, но строго типизированным. Продуманные до мелочей инструменты позволяют не бороться с языком, а выражать на нем свои идеи.

Но эти же инструменты позволяют писать крайне сложный код.
Использование интеллектуальной эквилибристики в стиле scalaz или вычислений на системе типов в духе shapeless — гарантия того, что ваш код поймут единицы.

В этой статье я расскажу о том, чего делать, скорее всего, не стоит.
Я расскажу как встроить в scala другой язык.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры9.9K
Комментарии 9

Sweet.js: Синтаксические расширения для JavaScript

JavaScriptПрограммированиеКомпиляторы
Tutorial
Давайте попробуем посмотреть на Sweet.js, компилятор, который реализует гигиенические макросы для JavaScript.

Работает он довольно просто — вы определяете набор шаблонов, по которым выполняется поиск по синтаксическому дереву. При совпадении макрос получает кусок дерева, который ему нужен и тело макроса определяет как этот кусок дерева должен трансформироваться. Далее результат встраивается обратно в дерево и процедура продолжается с того самого места.

Sweet.js оперирует своим собственным форматом синтаксического дерева, почти на уровне токенов, с минимальной структурой. С одной стороны это делает возможным определять довольно экзотические синтаксисы для своих макросов, с другой — делает написание макросов несколько сложнее, как если бы они были определены над стандартным AST JavaScript.

Читать дальше →
Всего голосов 32: ↑27 и ↓5 +22
Просмотры10.8K
Комментарии 27

Макросы в haxe: выполняем код прямо во время компиляции (и это нормально)

ПрограммированиеHaxe
В предыдущей статье я немного рассказал про haxe — простой и удобный язык общего назначения. Однако, кроме простоты и понятности, есть в нём и вещи глубокие — такие, как концепция макросов — кода, который выполняется в процессе компиляции. Почему в haxe нет традиционных Си-подобных макросов и какие возможности нам отрывают haxe-макросы, и пойдёт речь в статье.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры5.7K
Комментарии 10

Макросы в InterSystems Caché

Блог компании InterSystemsНенормальное программированиеРазработка веб-сайтовПрограммирование
Tutorial
Monet tulips in holland

Введение


Хочу рассказать про использование макросов в InterSystems Caché. Макрос — это символьное имя, заменяемое при компиляции исходного кода на последовательность программных инструкций. Макрос может «разворачиваться» в различные последовательности инструкций при каждом вызове, в зависимости от сработавших разветвлений внутри макроса и переданных ему аргументов. Это может быть как статический код, так и результат выполнения COS. Рассмотрим, как их можно использовать в вашем приложении.
Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Просмотры3.1K
Комментарии 17

Office Add-Ins для Excel — новые возможности для разработчиков на VBA и VSTO

Блог компании MicrosoftРазработка веб-сайтовРазработка мобильных приложенийРазработка для Office 365Visual Basic for Applications

Предыстория


Все началось около четырех лет назад. Работая над очередным проектом по автоматизации бизнес-процессов для крупной российской сети розничной торговли, я заинтересовался разработкой надстроек для офисных приложений, в частности, для Excel. Стоило мне несколько дней понаблюдать, как сотрудники компании-заказчика тратят уйму времени на рутинные повторяющиеся операции, как у меня появилось множество идей о том, как бы я мог упростить им жизнь.

В то время, у нас, как у разработчиков, было два способа «расширить» Excel под нетиповые задачи:
  • VBA (Visual Basic for Applications);
  • VSTO (Visual Studio Tools for Office).


Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры28.6K
Комментарии 0

Outlook Add-Ins или куда уходит 25% рабочего времени и можно ли его вернуть?

Блог компании MicrosoftРазработка для Office 365

Проблематика


Знаете ли вы, что, исходя из результатов некоторых зарубежных исследований, средний офисный работник тратит более двух часов своего рабочего времени в день на работу с электронной почтой? Если быть более точным – 13 часов в неделю, что составляет почти 85 рабочих дней в год! Только вдумайтесь в эти цифры. Сколько всего можно сделать за это время? А сколько это будет стоить вашей организации, если перевести часы в деньги? Очень интересные вопросы, над которыми стоит задуматься…



Слайд взят из презентации на Slideshare.
Читать дальше →
Всего голосов 17: ↑13 и ↓4 +9
Просмотры15.7K
Комментарии 1

Molecula – новый способ ведения групповых переписок в Outlook

Блог компании MicrosoftРазработка веб-сайтовРазработка мобильных приложенийРазработка для Office 365
В конце 2015-го года Microsoft запустила конкурс по разработке решений на базе Office 365. Участникам нужно было разработать приложение, которое являлось бы либо надстройкой для Office, либо использовало бы Office 365 APIs. Я и двое моих друзей решили участвовать. Идея нашлась очень быстро, достаточно было сесть и обсудить «боли», возникающие у каждого из нас в повседневной работе. Так родилась идея Molecula – решения, позволяющего упростить ведение групповых переписок в Outlook.

Чтобы лучше понять кому и для чего нужна Molecula, давайте посмотрим наш промо-ролик, созданный для участия в конкурсе. История про успешного IT-менеджера Майка (на английском):


Читать дальше
Всего голосов 15: ↑13 и ↓2 +11
Просмотры6.6K
Комментарии 15

Продуктивность в разработке Office Add-ins

Блог компании MicrosoftРазработка веб-сайтовРазработка мобильных приложенийРазработка для Office 365
В разговорах об Office Add-ins (надстройки Office) часто упоминается «продуктивность». Это логично, ведь главная цель разработчиков – повышение продуктивности в работе конечных пользователей. Но продуктивность важна и для самих разработчиков. Эта статья о продуктивности в разработке. Речь пойдёт о новом JavaScript API для Office и о том, какие инструменты мы применяем для создания новых решений.


Читать дальше
Всего голосов 8: ↑8 и ↓0 +8
Просмотры4K
Комментарии 0

От документа к проекту: как Wrike создавал дополнение для Office 365

Блог компании MicrosoftРазработка веб-сайтовРазработка мобильных приложенийРазработка для Office 365
Продуктивность уверенно входит в топ трендов последних лет и является еще более востребованным в 2016ом, причем включая в себя такие направления как Collaborative Software, Smart Virtual Personal Assistants,Bots и многие другие…
В данной статье мы расскажем о том, как компания Wrike расширила свое решение и реализовала Add-In для Office, а так же поделимся опытом его разработки.
Хочу поблагодарить за подготовку статьи Аркадия Рушкевича (Ведущий менеджер продукта) и Владимира Дупелева (Руководитель группы разработки ПО)

Недавно сервис для управления проектами Wrike анонсировал сразу несколько интеграций с продуктами Microsoft. Теперь можно авторизоваться в сервисе с корпоративным логином Azure Active Directory, добавлять в задачи файлы из OneDrive для бизнеса и установить дополнение Wrike в Office 365.

Последнее — пожалуй, самое важное с точки зрения продуктивности на рабочем месте. Мы решили рассказать о том, зачем системе управления проектами понадобилась интеграция с офисными приложениями, и поделиться опытом разработки надстройки для Office.


Читать дальше
Всего голосов 20: ↑17 и ↓3 +14
Просмотры4.2K
Комментарии 1

Макросы в Emacs'е: формируем отряды для обработки

Emacs


Не забывай свои корни, помни, есть вещи на порядок выше…
Каста здесь


История из жизни



Многие начинали свою компьютерную жизнь с игр. Кто не начинал, тот играет в шахматы на деревянной доске, как какой-нибудь президент. Я не играю в шахматы, я играю в Starcraft и другие подобные игры. Когда-то я играл многими часами, но время прошло и игры перешли в серьёзные занятия, дающие какой-то результат. В то же время хоть игры и переродились, но привычки остались старые. Иногда хочется поиграть.

Чего нет в шахматах? В шахматах нет живых патрулей, отрядов, минных полей в самых излюбленных местах и много чего ещё, чего так порой не хватает, в то время как ты перекомпилируешь какую-нибудь программу, редактируя её. Ностальгия захватывает и мы медленно начинаем искать что-нибудь подобное в программном окружении. И находим!

Сегодня мы поговорим о весёлых макросах.

Давай поговорим
Всего голосов 19: ↑15 и ↓4 +11
Просмотры7.5K
Комментарии 9

Как сделать презентацию интерактивной

Блог компании MicrosoftРазработка веб-сайтовРазработка мобильных приложенийРазработка для Office 365

Каждый из нас хоть раз выступал перед большой аудиторией, многие делают это постоянно. У всех из нас есть свои страхи перед выступлением и, конечно, же лучшие практики. Ниже вы узнаете, как взаимодействовать с аудиторией в интерактивном режиме.


Читать дальше →
Всего голосов 36: ↑31 и ↓5 +26
Просмотры22.3K
Комментарии 9

Работа с Aerospike на scala при помощи магии макросов

Блог компании TINKOFFScalaNoSQL
Tutorial

N|Solid


В нашем отделе бигдаты часть данных хранится в Aerospike. Потребителей довольно много, среди них два приложения, написанных на Scala, взаимодействие с базой в которых будет расширено в связи с постоянно растущими требованиями бизнеса. Единственным приличным драйвером для нас был джавовый клиент, упомянутый на сайте самой базы данных aerospike.com (http://www.aerospike.com/docs/client/java). Конвертация скаловых типов данных (а особенно иерархических) в соответствующие аэроспайковские типы приводит к большому количеству бойлерплейта. Чтобы этого избежать, необходим более удобный, а заодно и типобезопасный интерфейс.


Инженеры не любят писать много раз один и тот же код и стараются упростить и оптимизировать все повторяющиеся действия. Такие задачи часто решает кодогенерация. Поэтому мы решили написать свою библиотеку для работы с Aerospike, пользуясь макросами.


Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Просмотры9.7K
Комментарии 34

Практические приемы использования многопоточных вычислений при работе с Revit API

.NETAPICAD/CAMC#
Из песочницы
Tutorial
Я архитектор, долгое время проектировал здания и сооружения, но вот с лета прошлого года начал программировать на C# используя Revit API. У меня уже есть несколько модулей-надстроек для Revit и теперь я хочу поделиться некоторым опытом разработки для Revit. Предполагается, что читатели умеют писать макросы для Revit на C#.

Недавно исследуя многопоточные вычисления пришел к некоторым неожиданным для себя выводам и избавился от заблуждений связанных с работой Revit API. В этой статье я напишу как ускорить работу макросов в несколько раз, какие ограничения при работе с параллельными вычислениями у Revit API, что бы наконец не оставалось вопросов.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры6.9K
Комментарии 2
1