Рубрика «Песочница» - 65

Моей темой на семенаре была защита Cloud Computing Applications. Найти что-нибудь стоящее под данной теме было довольно сложно. Облако — новая технология, репутации которой никто не хочет вредить, а сама она только в последнее время начинает обрастать стандартами. Хорошо ли наличие стандартов или плохо для этого поста значения не имеет.

Одной очень хорошей бумагой, содержащей много информации о том, как компаниям, предлагающим облачные вычисления стоит организовывать защиту этих вычислений и хранимых данных стала Eckpunktepapier «Sicherheitsempfehlungen für Cloud Computing Anbieter».

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

В мире DDD все крутится вокруг домена. Все бизнес правила живут внутри доменных сущностей либо доменных сервисов. Рассмотрим простой случай: есть сущность Категория, у которой есть несколько Подкатегорий. Также есть бизнес правило: нельзя добавить подкатегорию с именем, равным имени корневой категории (просто для примера). Обычно, мы напишем следующее:
Читать полностью »

Разгребал «ящики» и обнаружил один очень интересный проект! Называется он SpecsMe, а направлен на решение одной из самых насущных проблем ИТ-агентств. Цель проекта: автоматизация составления ТЗ и создание инструментов для дальнейшей работы (удаленные доступы, одновременное редактирование, биржа и тд). Отдам в хорошие руки. Подробности под катом.

image
Читать полностью »

Привет! Краткое вступление — я работаю руководителем IT отдела крупной медицинской компании. Вот уже с год назад пытался заставить самого себя качественно работать с распределением своего рабочего времени. Это пост — мой опыт, мои взгляды, трудности восприятия и образцы форм для ведения тайм менеджмента.

Что такое тайм менеджмент? Это инструмент управление своим временем, притом это применимо не только к рабочему времени, но и к личному (вне рабочему). В попытках сделать всё и сразу вы в конце концов упретесь в тупик, не понимая почему на всё запланированное не хватает времени, а потом, попросту начнете забывать какие-то задачи/идеи/цели, которые казались сверх интересными, сверх прибыльными, сверх инновационными. Так случилось и со мной, честно пытаясь сделать что-то лучше, что-то оптимизировать, я откладывал какие-либо цели на дальний план и в силу текущей погруженности в основные обязанности, рабочую текучку, забывал про идеи, которые казались мне перспективными. Примерно с начала года я начал искать программы, увлекательные статьи которые помогли бы мне более качественно подходить к вопросу о тайм менеджменте и поверьте, для себя я понял суть, которую не находил ни в одной статье и не в одной книжке/программе. Перейдем к основным аспектам, которые помогут вам качественно работать с своим временем и с поставленными самому себе задачами:

1. Не обманывайте себя

Прорабатывайте все гипотезы поставленных идей, не останавливайтесь на достигнутом пока не найдете четкого ответа на поставленный вами же вопрос – будет ли эта идея/предложение востребованным в вашем деле/в бизнес процессе/в работе. Гипотеза должна быть закончена на четком факте (доказательстве её необходимости) или четком опровержении. На пути этого доказательства большинство людей начинают заниматься самообманом, говоря себе – «ой, это не возможно», «это очень сложно для меня», «никто этого не поймет» — поверьте, если бы все окружающие люди думали бы так же, то в мире не было бы электричества, не было бы в компаниях хорошего объема продаж, новых продуктов, успеха в целом.
Читать полностью »

Откликнувшись на вакансию младшего web-дизайнера, я получил задание: нарисовать свои варианты приложения Приват24 для Android и iOS, а также промо-страницу. В этой заметке я расскажу об особенностях своих концептов.Читать полностью »

Давай сыграем на твою зарплату

Сегодня я хочу поговорить о геймификации. На хабре уже были статьи об интерфейсе, стартапах и о самих принципах и подходах к приёму. Некоторые компании полностью или частично применяют геймификацию в продажах. Я хочу обратить внимание на внутренние процессы в нашей веб-студии и рассказать о том, как мы ввели геймификацию в учёт рабочего времени и систему начисления зарплат.
Читать полностью »

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

Занимаясь написанием программ, выполняющие научные расчеты, я перешел с c++ на питон, чтобы использовать всю мощь библиотек, к которым относятся numpy, scipy, matplotlib, pyquante и прочие, распространяющиеся под свободной лицензией и находящихся в избытке на github. Однако, на начальном этапе такого перехода у меня возник дискомфорт, связанный с отсутствием таких привычных в с++ модификаторов доступа, как privat, public и protected, а также методов get() и set(), что и побудило меня написать эту заметку. На StackOverflow первое, что бросается в глаза при обсуждении отсутствия модификаторов доступа в питоне, — это всеобщее согласие с большой долей ответственности разработчика при написании кода, которая побуждает его соблюдать хороший стиль программирования, описанный в PEP 8 . Проблема заключается в том, что в питоне всегда можно получить доступ к любому атрибуту любого класса, однако, согласно хорошему стилю, такой доступ пользователями библиотеки классов должен быть осуществлен не прямо, а с помощью некоторого интерфейса и только там, где это нужно и предусмотрено разработчиком.

Рассмотрим класс, содержащий атрибут attr:

class MyClass:
    def __init__(self):
        self.attr = 0

Существует очевидная возможность доступа к атрибуту напрямую после создания объекта класса:

a=Class()
a.attr

Этим способом обращения лучше не злоупотреблять. Для того, чтобы имитировать наличие модификатора доступа privat, можно использовать подчеркивание в начале всех имен атрибутов:

class MyClass:
    def __init__(self):
        self._attr = 0

Конечно, в этом случае к атрибуту можно обратиться извне класса как:

a._attr

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

Если все же есть необходимость предоставить пользователю доступ к атрибуту данного класса, лучше использовать декоратор @property. Например:

class MyClass:
    def __init__(self):
        self.attr = 0

    @property
    def attr(self):
        return self._attr

Читать полностью »

Node.js развивается, и, вполне уже можно экспериментировать с написанием графических приложений либо каких-то консольных утилит и сервисов. В процессе разработки может возникнуть необходимость использовать какие-то системные вызовы, например, к WMI (к WMI нельзя обратиться напрямую из node.js, и запросы WMI могут быть долгими, что заблокирует event loop, и, например, если связь у Вас через веб-сокеты, связь может оборваться). Тут существует несколько вариантов. Можно воспользоваться модулем (например, node-ffi) и попробовать поиграться с ним. Есть ещё способ, точнее, костыль. В Windows существует так называемый WScript (Windows Script Host) — это компонент Windows, предназначенный для запуска, например, JScript, VBScript. JScript может обращаться к WMI напрямую, так что мы имеем возможность запустить child_process, в котором будет работать JScript, и получать от него данные (формировать, например, JSON и отправлять его строкой), но это костыль, бессмысленный и беспощадный. И третий способ — это нативный модуль. Я не буду описывать, как получить данные от WMI, а опишу что-нибудь менее ёмкое. Кому интересно — прошу под кат.
Читать полностью »

В данной статье мы рассмотрим организацию автообмена 1С: Предприятие 7.7 с использованием УРБД (управление распределенными базами данных) через FTP сервер. Для конкретизации задачи, предположим, что у нас есть центральный офис и несколько удаленных филиалов (торговых точек), которые будут обмениваться с центральным офисом информацией посредством автообмена и распределенных баз данных.
Читать полностью »

Введение

Здравствуйте!

Недавно я писал тут http://habrahabr.ru/post/183794/ по поводу тестов, которые собираюсь проводить на компьютерных железяках разной степени старости.
Так вот, сегодняшний тест сделан по запросу пользователя Disasm на тему запуска таких программ, как современные браузеры, QT Creator, Skype и Dropbox на не самых мощных машинах с не самым большим объёмом памяти. Я совместил это с тем обзором, который собирался делать самостоятельно, и вот что из этого вышло. Последовательность действий может быть нарушена, но суть остаётся та же.

Часть 1: Celeron 300A и 640 Мб, которых хватит всем

Начало ему было положено ещё в начале мая, когда я скатался в магазин за двумя корпусами для компов, негоже лежать им кишками наружу. Сегодня же наконец-то дошли руки, да и прошёл месяц с написания предыдущего, так что пора.
Конечно, в минимальных системных требованиях для винХР указан P-II 266 МГц, но на самом деле указанного в теме Селерона 300А ОЧЕНЬ не хватает, просто чудовищно как. Работать на нём даже в старой опере 9.23 катастрофически трудно, страницы пролистываются только рывками.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js