Pull to refresh
13
0
Шебастюк Владимир @JStingo

User

Send message

Наложение основных надписей по ГОСТ 2.104 (рамок) на LaTeX документы

Reading time5 min
Views44K
Несмотря на то, что многие считают наши государственные стандарты, касающиеся ЕСКД и ЕСПД устаревшими, конструкторскую и программную документацию необходимо выполнять в соответствии с ними.

Когда я был совсем молодым «специалистом» я с унынием наблюдал за тем, как в Microsoft Office пишутся технические условия, программы и методики испытаний. Порой эти документы очень сложные и длинные. Наиболее пугающими были основные надписи, помещённые в колонтитул. Они никак не соответствовали ГОСТ 2.104. В простонародье их называют «рамками». Они были ужасны. Я не видел, чтобы кому-то удавалось сделать их правильно. Плавали размеры, толщины линий. Это было видно даже без линейки.
Читать дальше →

Книги для тимлидов и руководителей проектов

Reading time2 min
Views171K
Какими свойствами должен обладать хороший тимлид? Он, несомненно, должен быть технарем, иметь разносторонний опыт, уметь налаживать диалог внутри команды и с начальством, вести дискуссии и принимать решения, брать на себя ответственность, понимать бизнес-процессы, думать как заказчик и владелец бизнеса. Ну и быть немного психологом.

В отечественном IT я часто наблюдаю следующую картину: тимлидом часто становился лучший (?) разработчик из команды (aka 23-летний сеньор). А чтобы стать руководителем проекта (project manager) иногда достаточно просто знать английский и «павэрпойнт» на уровне пользователя. Это реалии отечественного аутсорсинга и с этим нужно как-то жить.

В итоге часто получается как-то так:
Потому что на десять сеньоров по статистике девять тупят.
Читать дальше →

Телевизоры. Часть 2. Плазма или ЖК, шасси, диагональ, передача движения, цвет, влияние на зрение

Reading time9 min
Views324K
Снова здравствуйте, дорогие хабрачеловеки.

Первая часть вызвала определенный интерес, поэтому было решено продолжить эту тему.
Хочу сказать отдельное спасибо, тем кто уделил внимание первой части. Я не думал, что моя скромная статья вызовет такой немалый интерес.

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

Комфортное освещение для работы и отдыха

Reading time5 min
Views353K
Мне редко встречались пространства с продуманным искусственным освещением, часто лампы светят в глаза, помещение недостаточно освещено и цвета предметов выглядят тусклыми или искажаются. Кроме того, освещение часто дает страшные тени на лицах. Я постарался разобраться в причинах и сделать приятное освещение.

Эта заметка содержит описание общих принципов создания комфортного освещения и фактическую реализацию бюджетного освещения жилой мастерской.



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

Книги, которые должен прочитать Java программист: от новичка до профессионала

Reading time4 min
Views650K

Книги, которые должен прочитать Java программист: от новичка до профессионала


[Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]

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

Как работает ZFS — часть 1: vdev

Reading time3 min
Views33K
Vdev, или Virtual Device — это базовая единица, на которой строится массив данных ZFS (zpool). Для работы ZFS необходим как минимум один vdev — виртуальное устройство, которое позволяет случайный доступ к информации на уровне блоков.

Обычно, в качестве таких блоков используются целые диски или iScsi/FC LUNы (raw-disk vdev), но можно также использовать разделы дисков или файлы. Целые диски предпочтительнее, так как для них ZFS использует onboard write cache, в результате чего производительность записи может значительно улучшиться. Я пока не буду объяснять разницу между logical vdev и leaf vdev — это топик для отдельной статьи про то как работает RaidzN и zfs mirror.
src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/fs/zfs/vdev_disk.c#314
if (vd->vdev_wholedisk == 1) 
{
	int wce = 1;
	/*
	 * If we own the whole disk, try to enable disk write caching.
	 * We ignore errors because it's OK if we can't do it.
	 */
	(void) ldi_ioctl(dvd->vd_lh, DKIOCSETWCE, (intptr_t)&wce, FKIOCTL, kcred, NULL);
}

В описании структуры виртуального устройства можно посмотреть какие параметры используются для чего, но я не собираюсь давать объяснение каждому — цель статьи — описание собственно того как ZFS хранит и пишет данные.

Каждый vdev разделен на логические разделы (metaslab),
Читать дальше →

Сети для самых маленьких. Часть шестая. Динамическая маршрутизация

Reading time43 min
Views496K


Сеть “Лифт ми Ап” вместе со своим штатом разрастается вдоль и поперёк. Обслуживание ИТ-инфраструктуры вынесли в отдельную специально созданную организацию “Линк ми Ап”.
Буквально на днях были куплены ещё четыре филиала в различных городах и инвесторы открыли для себя новые измерения движения лифтов. А сеть выросла с четырёх маршрутизаторов сразу до десяти. При этом количество подсетей теперь увеличилось с 9 до 20, не считая линков точка-точка между маршрутизаторами. И тут во весь рост встаёт управления всем этим хозяйством. Согласитесь, добавлять на каждом из узлов маршруты во все сети вручную — мало удовольствия.
Ситуация усложняется тем, что сеть в Калининграде уже имеет свою адресацию и на ней запущен протокол динамической маршрутизации EIGRP.
Итак, сегодня:
— Разбираемся с теорией протоколов динамической маршрутизации.
— Внедряем в сеть “Лифт ми Ап” протокол OSPF
— Настраиваем передачу (редистрибуцию) маршрутов между OSPF и EIGRP
— В этом выпуске мы добавляем раздел “Задачи”. Идентифицировать по ходу статьи их будут такие пиктограммы:


Уровень сложности будет разный. Ко всем задачам будут ответы, которые можно посмотреть на сайте цикла. В некоторых из них вам понадобится подумать, в других почитать документацию, в третьих разобраться в топологии и, может, даже смотреть отладочную информацию. Если задача нереализуема в РТ, мы сделаем специальную пометку об этом.

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

Об использовании WebKit .NET

Reading time7 min
Views33K

Введение


Связка HTML+CSS+JavaScript на сегодняшний день зарекомендовала себя как универсальный способ построения пользовательских интерфейсов. Причем не только в веб приложениях, но также в десктоп и мобильных приложениях. Примерами тому являются metro-приложения в Windows 8, фреймворк PhoneGap для создания мобильных приложений.

Реализация интерфейса с помощью HTML, CSS и JavaScript прежде всего подразумевает, что интерфейс будет отображаться в некотором браузере. Если мы рассматриваем десктоп или мобильное приложение, то, очевидно, браузер должен быть встраиваемым.

В данной статье мы рассмотрим использование WebKit .NET в десктоп приложении на C# под Windows.

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

Создание «нестандартного» кастомного объекта для AutoCAD, работающего без Object Enabler

Reading time8 min
Views8.9K
Добрый день.
Те, кто имеет дело с AutoCAD и сторонними решениями для него, наверняка, сталкивались с проблемой прокси объектов, для отображения или перемещения которых требуется установить библиотеки, с помощью которых были созданы данные объекты или так называемые Objects Enablers, от тех же разработчиков. Это достаточно неудобно. Например, получили вы документ от заказчика/субподрядчика и видите только квадраты.

Хочу поделиться с Вами личным опытом создания «нетрадиционного» объекта для AutoCAD. За основу взят анонимный блок. Свойства объекта хранятся отдельно в BlockReference::ExtensionDictionary. Что дает возможность стороннему приложению или скрипту получить к ним доступ и считать их, а при желании изменить, без наличия оригинальных библиотек. Примитивы внутри блока всегда отрисовываются в соответствии со своим состоянием. Да и вообще, устойчивость работы AutoCAD значительно выше. Со стороны все выглядит просто. Но при попытке реализовать данный механизм были выявлены различные «подводные камни». Об этом по порядку.
Читать дальше →

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

Reading time14 min
Views353K
abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

Предупреждение: много букв, долго читать.

Лирика



Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
  • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
  • использование bonnie++
  • использование iozone
  • использование пачки cp с измерениема времени выполнения
  • использование iometer с dynamo на 64-битных системах


Это всё совершенно ошибочные методы. Дальше я разберу более тонкие ошибки измерения, но в отношении этих тестов могу сказать только одно — выкиньте и не используйте.

Как мерять правильно

Программирование в Maxima

Reading time5 min
Views28K

Урок Maxima


Введение

Maxima — свободная система компьютерный алгебры (Computer algebra system — CAS), основанная на Common Lisp. В своих функциональных возможностях она едва уступает другим современным платным CAS, таким как Mathcad, Mathematica, Maple; может проводить аналитические (символьные) вычисления, численные расчеты, строить графики (при помощи gnuplot). Имеется возможность написания скриптов и даже трансляции их в код на Common Lisp с последующей компиляцией. В виду того, что maxima писалась из разрабатывалась программистами lisp, ее синтаксис может показаться несколько запутанным, поскольку язык является сразу и императивным и функциональным. Я попытаюсь разъяснить именно эти моменты и доступно изложить суть функционального подхода, и совсем не буду акцентировать внимания на конкретных математических функциях: их довольно легко освоить самостоятельно. В данной статье рассматривается именно особенности исчисления и синтаксических конструкций maxima.
Читать дальше →

Бесплатные инструменты для VMware и Hyper-V

Reading time4 min
Views47K
Сегодня мы хотим рассказать про 5 полезных freeware утилит, которые будут полезны в повседневной работе администратора виртуальных сред VMware vSphere и Microsoft Hyper-V. Все эти инструменты разработаны компанией Veeam, продукты которой фокусируются на задачах резервного копирования, построения отчетов и операционного мониторинга систем виртуализации на базе VMware и Hyper-V. Сегодня мы расскажем о:

  • Veeam Backup Free Edition for VMware and Hyper-V
  • Veeam ONE Free Edition for VMware and Hyper-V
  • Veeam Extended Generic Report Library for Microsoft System Center
  • Veeam Stencils for VMware и Hyper-V
  • Veeam Management Pack for VMware

Итак, приступим:
Читать дальше →

Использование MS Project для управления проектами по разработке ПО

Reading time10 min
Views480K
Я хочу поделиться своим опытом использования MS Project для управления проектами по разработке программного обеспечения. Я уже лет 10 занимаюсь управлением проектами,
и в результате у меня родилась некоторая методология использования MS Project, которая позволяет получить от него немалую пользу и при этом меньше зависеть от его недостатков.
Читать дальше →

Об учёте времени в проектах разработки ПО

Reading time8 min
Views23K
В своей работе мне довольно часто приходится обсуждать вопросы подходов к учету времени, потраченного на разработку программного обеспечения. Нужно ли учитывать время по каждой задаче? Нужно ли отчитываться каждый день? Полезны ли «таймшиты» и как они должны выглядеть? Кто должен заполнять отчёты и когда? И т.д. Иногда разговор уходит к противостоянию Agile-методологий и более строгих методов управления.
Бывает, такие обсуждения переходят в спор, противостояние точек зрения, а заканчиваются примиряющей фразой: «конечно же, каждая компания имеет свою специфику и особенности, свою модель бизнеса, а значит и свои подходы к учету ресурсов». И это правильно, потому что, по большому счету, принципы учета ресурсов зависят от модели бизнеса, но я всё же хочу собрать в одном месте накопленные аргументы разных сторон и подходов, а главное — попробовать сделать «открытую статью», статью в виде диалога, в виде противостояния аргументов и точек зрения, на которую повлияют комментарии и голоса читателей.
На мой взгляд, различные варианты сводятся к трем базовым подходам:
  1. Учёт потраченных человеко-часов с разбивкой по задачам
  2. Учёт реализуемого функционала (backlog/requirements) и общая оценка стоимости работ
  3. Творческая работа без списка функционала и контроля ресурсов

Давайте рассмотрим различия и аргументы в выборе подходов для следующих аспектов:
  • оценка фактических затрат
  • метрики для оценки предстоящих проектов
  • мониторинг текущих проектов
  • влияние на командное взаимодействие
  • индивидуальная производительность, мотивация
  • избавление от неэффективных сотрудников
  • эмоциональное состояние сотрудников
  • реализация рутинных проектов
  • реализация сложных, нестандартных проектов

Обсуждать и противопоставлять мы будем первые два подхода, потому что про третий я рассуждать не могу. Мне приходилось работать в разных компаниях и в разных проектах, на разных технологиях и в разных управленческих схемах…
И самые интересные, технологически сложные и продвинутые, самые необычные проекты делались именно по третьему подходу. Именно про эти проекты я рассказывал на собеседованиях, именно в них создавались принципиально новые продукты, а не всякая надоевшая обыденность типа база данных→бизнес-логика→бизнес-процессы→клиентские представления→отчёты. Работой в этих проектах я горжусь, вспоминаю с ностальгией, не стесняюсь сказать «вот эти архитектурные решения принял я», и именно про эти проекты обычно слушают с большим интересом. Но с другой стороны, именно эти проекты были очень дорогими и экономически сомнительными. Сейчас никакие аргументы за или против таких проектов я приводить не готов, поэтому рассмотрим только два подхода:
Timesheet vs Backlog

Установка любого программного обеспечения средствами WSUS

Reading time3 min
Views94K
В своей предыдущей статье про создание msi-пакетов я описал способ как запаковать любое приложение в msi. MSI-пакеты я использовал для развертывания приложений через GPO, но к сожалению данный метод меня крайне разочаровал по нескольким причинам: установка только при загрузке компьютера, т.е. пользователю приходится дожидаться окончания установки, а иногда требуется побыстрее начать работу. Из этого вытекает, что некоторые не дожидаются и грубо перезагружают компьютер, результатом чего является недоустановленное ПО. Мне все это надоело и я вспомнил, что где-то читал про установку сторонних обновлений через WSUS. Действительно, способ относительно не новый и осуществляется с помощью Local Update Publisher, про установку которого есть достаточно полная статья. Особенностью данного метода развертывания ПО помимо всех преимуществ WSUS является возможность установки из exe и нет необходимости перепаковки в msi. И если с публикацией msi все понятно, то я хочу рассказать про установку через exe, в которой есть особенности.
Читать дальше →

C# и AutoCAD. Некоторые приемы работы

Reading time7 min
Views24K

Цель данной статьи.


Целью данной статьи является рассмотрение некоторых приемов работы в связке Autocad + C#.
В основном буду опираться на статью «Начало работы с Autocad с помощью C#». В рамках данной статьи будут рассмотрены некоторые замечания по особенностям работы с Autocad с помощью SDK — ObjectARX.
Подробности

Первый опыт написания плагинов для Autocad на C#

Reading time10 min
Views58K

Предыстория


Я начинающий разработчик, «школьный» уровень знания С++, небольшой (2 года) опыт программирования на С#, нулевой опыт работы в автокаде
Недавно попросили изменить LISP программки автокада, предназначенные для создания/изменения межевых планов и подготовки соответствующих документов MS Word / XML — пофиксить баги и добавить новый функционал.
Поскольку читабельность программ на Лиспе (по крайней мере для меня) оставляет желать лучшего, я решил переписать это на более понятный язык.
Т.к. мне не нужны были миллисекунды прироста скорости, я пропустил С++ и остановился на C#

Под катом то, что я узнал за 2 недели переписывания программ

Как разработать Техническое задание. Часть 2. Виды работ при сборе требований к системе учета и информации для описания бизнес-процессов

Reading time15 min
Views98K
Первая часть статьи «Разработка технического задания «Что это такое, зачем оно нужно, с чего начать и как должно выглядеть?» вызвала немалый интерес. Кроме своей рассылки, я ее опубликовал и на известном сайте разработчиков Инфостарт, где она вызвала еще больший интерес, что не может не радовать. Как и обещал, пишу продолжение.
Подробности

Как определить язык по виду иероглифов/закорючек?

Reading time1 min
Views194K
Вот, задался таким вопросом… С помощью гугл транслейта и такой-то матери, родилась такая блок-схемка:



картинка кликабельна

Кому нужен сорец (в .docx): тут

Как распознать кракозябры?

Reading time1 min
Views433K
В комментариях к предыдущему посту про иероглифы сказали, что хорошо бы иметь такую же блок-схему для кракозябр.

Итак, вуаля!


За источник информации была взята статья из вики. В блок-схеме «UTF-16 → CP 866» означает, что исходная кодировка была «UTF-16», а распозналась она как «CP 866».

Как всегда — кликабельно. Исходник в .docx: здесь.

Information

Rating
Does not participate
Location
Павлодар, Павлодарская обл., Казахстан
Date of birth
Registered
Activity