Как стать автором
Обновить
21
0.1

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

Отправить сообщение

Автоматизация разработки конструкторской документации средствами VBA

Время на прочтение6 мин
Количество просмотров11K

При выполнении проектов, в которых требуется разработка конструкторской документации соответствующей ГОСТам ЕСКД или СПДС, возникает много задач, связанных с ее корректным изготовлением. Часть этих задач связана с непосредственным оформлением документов – заполнением основных надписей, полей в форматных рамках документа. Другая часть задач связана с поддержанием связности информации в пределах комплекта документов -  единство используемых децимальных номеров, названий изделий, используемых в тексте наименований и тому подобных вещей. Такие задачи можно решать по разному, но автоматизация, безусловно, облегчит жизнь разработчику.

В данной статье, я расскажу о своем подходе к автоматизации такой работы на примере документов Word. Этот же подход применим и к Visio и к AutoCAD и к любому продукту, в котором предусмотрена возможность использования Visual Basic for Application (VBA).

Представим себе такие входные условия для решения:

в составе документации должны быть документы по ГОСТ 2.102, в том числе текстовые, оформленные с учетом ГОСТ 2.105, схемы по ГОСТ 2.701 и, не дай бог, что-то еще строительное по ГОСТ 21.101. А из инструментов есть только стандартный Microsoft Office, Microsoft Visio, Autodesk AutoCAD (это если бог был немилостив) и собственное желание оформить все как можно быстрее, лучше и не затрачивая усилий (то есть, в наличии имеется продуктивная лень).

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии47

Введение в REST API — RESTful веб-сервисы

Время на прочтение4 мин
Количество просмотров940K
Эта статья начинает серию постов о разработке REST API:


Она содержит введение в RESTful веб-сервисы и краткий обзор REST и HTTP.


Intro to RESTful Web Services
Читать дальше →
Всего голосов 15: ↑8 и ↓7+1
Комментарии13

Free API Мосбиржи в формулах Microsoft Excel

Время на прочтение3 мин
Количество просмотров84K
Ранее уже писал про получение данных с Московской биржи через формулы Google Таблиц. Однако остался вопрос — можно ли получать эти же данные при локальном использовании Microsoft Excel или его свободного аналога LibreOffice Calc? Без использования скриптов или ручного копирования.


Microsoft Excel с формулами получения данных с Мосбиржи

И на этот вопрос можно дать положительный ответ. Это даже более удобно, поскольку не приходится ожидать загрузки результатов работы функции IMPORTXML в Гугл Таблицах.

Аналогом этой функции в Excel и Calc выступает связка формул: WEBSERVICE (ВЕБСЛУЖБА) + FILTERXML (ФИЛЬТР.XML).
Microsoft Excel или LibreOffice Calc плюс ИСС Мосбиржи
Всего голосов 7: ↑7 и ↓0+7
Комментарии74

Как Excel и VBA помогают отправлять тысячи HTTP REST API запросов

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров20K

Работая в IoT-сфере и плотно взаимодействуя с одним из основных элементов данной концепции технологий – сетевым сервером, столкнулся вот с какой проблемой (задачей): необходимо отправлять много запросов для работы с умными устройствами на сетевой сервер. На сервере был реализован REST API с оболочкой Swagger UI, где из графической оболочки можно было отправлять только разовые запросы. Анализ сторонних клиентов, типа Postman или Insomnia показал, что простого визуального способа поместить в скрипт массив из необходимого перечня идентификаторов устройств (или любых других элементов сервера), для обращения к ним – не нашлось.

Так как большая часть работы с выгрузками и данными была в Excel, то решено было вспомнить навыки, полученные на учебе в университете, и написать скрипт на VBA, который бы мою задачку решал.

Необходимо было:

·      получать информацию по устройствам с различными параметрами фильтрации (GET);

·      применять изменения в конфигурации по устройствам: имя, профиль устройства, сетевые лицензии и пр. (PUT);

·      отправлять данные для конфигурации и взаимодействия с устройствами (POST).

И сегодня я расскажу вам про то, как с помощью Excel, пары формул и самописных функций на VBA можно реализовать алгоритм, отправляющий любое необходимое количество REST-API запросов с использованием авторизации Bearer Token.

Данная статья будет полезная тем, кто воспользуется данным решением под Windows, но еще больше она будет полезна тем людям, которые хотят использовать данное решение на MacOS (с Excel x64). Как вы уже догадались, ниже будут рассмотрены два варианта реализации под разные системы, так как с MacOS есть нюанс.

Читать далее
Всего голосов 9: ↑7 и ↓2+5
Комментарии4

Суровая правда о разработчиках и разработке

Время на прочтение6 мин
Количество просмотров18K

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

Огромных зарплат в те времена не было, компании по разработке ПО создавались романтиками в съемных комнатушках-офисах, в которых часто приходилось и ночевать. Кто-то не выдерживал и сдавался, кто-то создавал шедевры и богател, но в те времена никто не говорил, что люди получают зарплату просто так. Те времена подарили нам кучу программ, часть из которых остаются самыми популярными в своей сфере и по сей день (Например, MS Excel. Страшно думать, но до сих пор большинство инвестиционных банкиров используют для своих моделей именно MS Excel). Те времена подарили нам таких людей как Питер Нортон и Андерс Хейлсберг или Джон Кармак с Сидом Майером, если игры вам ближе.

А что дальше и не параноик ли автор?
Всего голосов 39: ↑29 и ↓10+19
Комментарии103

9 тяжёлых уроков, которые я усвоил за 18 лет разработки

Время на прочтение8 мин
Количество просмотров61K
Я начал писать код в моей комнате родительского дома, когда мне было 14. Помню, как читал всё, что мог достать с помощью своего медленного соединения с Интернетом. Затем, когда мне было 20, я подписал первый контракт, став веб-разработчиком и изучая PHP и JavaScript. Мне потребовалось 18 лет, чтобы осознать, что кодинг — только часть профессии. Заметьте, я по-прежнему наслаждаюсь кодингом. Не думаю, что когда-нибудь перестану программировать, даже если это станет просто моим хобби, но есть нечто гораздо большее, чем код. Вот почему я хочу поделиться своим опытом. Я думаю, что иногда разработчики усваивают эти уроки слишком поздно.

Приятного чтения
Всего голосов 90: ↑81 и ↓9+72
Комментарии142

ООП в картинках

Время на прочтение20 мин
Количество просмотров810K
ООП (Объектно-Ориентированное Программирование) стало неотъемлемой частью разработки многих современных проектов, но, не смотря на популярность, эта парадигма является далеко не единственной. Если вы уже умеете работать с другими парадигмами и хотели бы ознакомиться с оккультизмом ООП, то впереди вас ждет немного лонгрид и два мегабайта картинок и анимаций. В качестве примеров будут выступать трансформеры.


Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии104

Мышление письмом

Время на прочтение9 мин
Количество просмотров56K


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

Что же я получил после полугода использования мышления письмом?
Читать дальше →
Всего голосов 91: ↑90 и ↓1+89
Комментарии85

Agile без идеализма. Когда и как именно работает гибкий менеджмент. Политэкономический памфлет

Время на прочтение12 мин
Количество просмотров13K

Думаю, мало кто стал бы спорить, что передовые проекты индустрии разработки программного обеспечения, IT отделы корпораций, в своей работе используют инкрементально-итерационные подходы. Со временем, Agile оброс горой идеализма и шарлатанства: коучи, менторы, мотиваторы — случайные люди, рассказывают о том, как нужно поверить в схемки и диаграмки, чтобы проникнуться общей целью.



Цель данной статьи — поставить идеалистичное отношение к Agile с ног на голову — материалистически объяснить, когда Agile работает, как именно работают те или иные ценности и принципы; какой Agile идеалистический, а какой материалистический.

Читать дальше →
Всего голосов 17: ↑11 и ↓6+5
Комментарии26

Заметки по книге «Философия разработки ПО»

Время на прочтение11 мин
Количество просмотров13K


Возможно, вы понимаете как писать хороший код, как придерживаться хорошего дизайна. Но структурировать эти знания не получается. Книга Джона Оустерхаута “A philosophy of software design” может помочь исправить это.


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


Здесь я хочу сделать краткое изложение всей книги в виде заметок, которые я записывал, когда читал её.

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии42

Мы тратим годы на то, что делается неделю — потому что все ларьки заигрались в IT-гигантов

Время на прочтение5 мин
Количество просмотров128K


Я работал в команде, которая делала десктопное приложение для VPN. Не самая простая штука в мире, много нюансов, много обратной совместимости. У нас были четыре разраба, три тестера, продукт оунер, проджект менеджер, сторонняя команда дизайнеров. Все по-серьезному. Помимо десктопного клиента делалась ещё и либа, которая содержала в себе всю бизнес-логику, и использовалась на других платформах. И эта либа в свою очередь использовала сишный бинарь, который и поднимал VPN туннель.

Если бы меня кто-то спросил, за сколько можно сделать такое приложение в одиночку — я бы сказал: «два месяца на разработку, один на тестирование». Но нас было много, поэтому мы работали больше двух лет.
Читать дальше →
Всего голосов 262: ↑220 и ↓42+178
Комментарии257

Путеводитель по резервному копированию баз данных

Время на прочтение11 мин
Количество просмотров39K
– О, никакое убежище не выдержит попадания метеорита. Но ведь у вас, как и у каждого, есть резерв, так что можете не беспокоиться.

Станислав Лем, «Звёздные дневники Ийона Тихого»

Резервным копированием называется сохранение копии данных где-то вне основного места их хранения.



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

Во-первых, резервная копия позволяет восстановить данные после логической ошибки. Например, бухгалтер удалил группу проводок или администратор БД уничтожил табличное пространство. Обе операции абсолютно легитимны с точки зрения базы данных, и процесс репликации воспроизведёт их в базе-реплике.

Во-вторых, современные СУБД – весьма надёжные программные комплексы, однако изредка всё же происходит повреждение внутренних структур базы данных, после которого доступ к данным пропадает. Что особенно обидно, такое нарушение происходит обычно при высокой нагрузке или при установке какого-нибудь обновления. Но как высокая нагрузка, так и регулярные обновления говорят о том, что база данных – отнюдь не тестовая, и данные, хранящиеся в ней, ценны.

Наконец, третья задача, решение которой требует наличия резервной копии, – это клонирование базы, например, для целей тестирования.

Резервное копирование баз данных так или иначе базируется на одном из двух принципов:

  • Выборка данных с последующим сохранением в произвольном формате;
  • Снимок состояния файлов БД и сохранение журналов.

Давайте рассмотрим эти принципы и реализующие их инструменты подробнее.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии16

Климат в XXI веке: его изменения и трудности, с которыми нам всем придется столкнуться

Время на прочтение18 мин
Количество просмотров12K


Алексей Екайкин, палеоклиматолог из Арктического и Антарктического НИИ в Санкт-Петербурге, прочитал для DataArt Eco Weeks лекцию о современном климате и изменениях окружающей среды. Видеозапись на английском доступна в интернете, но вместе с Алексеем мы также решили опубликовать материал и в виде статьи.

Что означает термин «глобальное изменение климата»? Всегда ли климат менялся? Правда ли, что промышленные загрязнения так уж сильно на него влияют? Каким будет климат на Земле в XXI веке? Ответы в каком-то смысле пугают, но мы уверены, что знать всегда лучше, чем оставаться в неведении.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии108

Практическое функциональное программирование

Время на прочтение8 мин
Количество просмотров7.3K
image

Текст статьи взят из презентации, которую я показывал в LinkedIn в2016 году. В презентации была предпринята попытка объяснить функциональное программирование без использования таких понятий, как «монады», «неизменность» или «побочные эффекты». Вместо этого она фокусируется на том, как размышления о композиции могут сделать вас лучшим программистом, независимо от того, какой язык вы используете.

40 лет назад, 17 октября 1977 года, премия Тьюринга была вручена Джону Бэкусу за его вклад в разработку систем программирования высокого уровня, прежде всего языка программирования Fortran. Всем лауреатам премии Тьюринга предоставляется возможность выступить с лекцией по выбранной ими теме в течение года, в котором они получили премию. Как создатель языка программирования Фортран, можно было ожидать, что Бэкус выступит с лекцией о преимуществах Фортрана и будущих разработках в этом языке. Вместо этого он прочитал лекцию под названием «Можно ли освободить программирование от стиля фон Неймана»? в котором он критиковал некоторые из основных языков того времени, включая Фортран, за их недостатки. Он также предложил альтернативу: функциональный стиль программирования.
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии30

Джоел Спольски: Уровень абстракции для разработчиков

Время на прочтение9 мин
Количество просмотров14K
image

11 апреля 2006

В город приезжает молодой человек. Он хорошо выглядит и имеет немного денег в кармане, ему легко найти общий язык с женщинами.

Он мало говорит о своем прошлом, но очевидно, что он провел много времени в бездушной большой компании.

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

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

И он садится писать код.
Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии23

42 оператора расширенного поиска Google (полный список)

Время на прочтение15 мин
Количество просмотров278K
Те, кто давно занимается поисковой оптимизацией, хорошо знают об операторах расширенного поиска Google. Например, почти все знают об операторе site:, который ограничивает поисковую выдачу одним сайтом.

Большинство операторов легко запомнить, это короткие команды. Но уметь эффективно их использовать — совсем другая история. Многие специалисты знают основы, но немногие по-настоящему овладели этими командами.

В этой статье я поделюсь советами, которые помогут освоить поисковые операторы для 15 конкретных задач.
Читать дальше →
Всего голосов 127: ↑124 и ↓3+121
Комментарии40

Информация

В рейтинге
2 849-й
Зарегистрирован
Активность