Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 3170 сообщений
Cообщения с меткой

проектирование - Самое интересное в блогах

Следующие 30  »
Svetlechek

ПромСтрой

Четверг, 25 Августа 2016 г. 09:11 (ссылка)

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

Тепловые пункты это современное оборудование, плюс комплектация всего производственного процесса проект ИТП и производство всех работ под ключ, своевременное обслуживание, гарантия качества и всесторонней технической помощи в осуществлении эксплуатации узла. От правильного проектирования зависит весь процесс работы пункта, поэтому к работе проектирования относятся весьма скрупулезно, изучаются все параметры и начальные данные, а так же ведется полный мониторинг производства на этом этапе работ. На сайте компании есть отзывы клиентов, примеры работ, номер для связи, перечень всех услуг предоставляемые компанией ПРОМСТРОЙ, заходите на сайт, смотрите видео, звоните и заказывайте нужные вам услуги.




Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

Реклама моих работ #Постила

Суббота, 20 Августа 2016 г. 11:31 (ссылка)
postila.ru/post/44586569


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



ПОЛИГОНЫ И УЧЕБНЫЕ ЦЕНТРЫ НОУ-ХАУ КОМПАНИИ АТОЛ.



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



Большой опыт в разработке и создании эффективных тренировочных комплексов стрельбищ и полигонов является визитной карточкой нашей компании.







1.





Оборудование спортингов_www.npo-atol.ru (700x493, 434Kb)Дизайн сайта художник В. Машков.  http://www.wmashkov.ru.



http://www.npo-atol.ru/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

Реклама моих работ #Постила

Суббота, 20 Августа 2016 г. 11:25 (ссылка)
postila.ru/post/44586439


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



 СПЕЦИАЛИСТЫ КОМПАНИИ «АТОЛ»



Много лет, успешно выполняют проектирование тиров, строительство тиров и оборудование тиров. Мы делаем тиры под ключ. А так же поставляем мишенное оборудование. Еще одним из направлений деятельности нашей компании является гарантийное и послегарантийное обслуживание тиров, с проведением всех необходимых согласований, получением заключений и актов о безопасности стрелковых галерей. Дизайн сайта художник В. Машков.  http://www.wmashkov.ru



http://www.npo-atol.ru/







1.

Проектирование мобильных комплексов_3_www.npo-atol.ru (700x493, 511Kb)

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

Реклама моих работ #Постила

Суббота, 20 Августа 2016 г. 11:18 (ссылка)
postila.ru/post/44586328


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



ДЛЯ МИНИСТЕРСТВА ВНУТРЕННИХ ДЕЛ.



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







1.





Проектирование полигонов_2_www.npo-atol.ru (700x493, 435Kb)Дизайн сайта художник В. Машков.  http://www.wmashkov.ru

Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

Реклама моих работ #Постила

Суббота, 20 Августа 2016 г. 11:15 (ссылка)
postila.ru/post/44586269


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



МОБИЛЬНЫЕ И СТАЦИОНАРНЫЕ ТИРЫ.



Еще одним из направлений деятельности компании «Антитеррористическая объединенная лаборатория «Атол»», является гарантийное и послегарантийное обслуживание стационарных и мобильных тиров, интерактивных центров, стрельбищ, полигонов, взрывных полигонов и антитеррористических учебных центров. А так же поставкой на них мишенного оборудования. Дизайн сайта художник В. Машков.  http://www.wmashkov.ru



http://www.npo-atol.ru/







1.

Строительство полигонов_4_www.npo-atol.ru (700x493, 395Kb)

Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

Реклама моих работ #Постила

Пятница, 19 Августа 2016 г. 13:04 (ссылка)
postila.ru/post/44563460


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



ЛУЧШИЕ УСЛОВИЯ ДЛЯ ВЫГОДНОГО СОТРУДНИЧЕСТВА



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



Дизайн.http://www.wmashkov.ru   http://www.npo-atol.ru







1.

Оборудование полигонов_1_www.npo-atol.ru (700x493, 451Kb)

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

«Поговорим об этом»: Работа проектировщика

Пятница, 19 Августа 2016 г. 10:57 (ссылка)

На этой неделе мы постарались системно рассмотреть, кто, зачем и как проектирует UX. Сегодня мы решили продолжить эту тему в свете редизайна нашего сервиса Печкин-mail.







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



В отсутствие исследования наша работа будет основываться лишь на собственном опыте и предположениях. А это помешает добиться объективности, ведь наше мнение может отличаться от мнения клиентов.



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



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



Способы исследования пользовательской аудитории



1. Для начала возьмите несколько пользовательских интервью. Интервью с пользователем – это содержательный диалог между интервьюером и пользователем из потенциально заинтересованной группы. Его проводят, чтобы выяснить потребности пользователя и его требования к продукту. Интервью может проводиться непосредственно во время взаимодействия клиента с продуктом. Можно даже предложить клиенту описать, как бы выглядел в их представлении идеальный продукт.



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



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



Питер Морвилль (Peter Morville), известный как один из основоположников информационной архитектуры, объясняет пользу данного способа:



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


Работа проектировщика: Информационная архитектура



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



Что такое информационная архитектура, и зачем она нужна


Если пользователь не в состоянии справиться с огромным потоком информации, или если он запутался в навигации сайта, то его пользовательский опыт при взаимодействии с продуктом, брендом или услугой будет отрицательным. Чтобы избежать подобных ситуаций, команда юзабилистов проектирует так называемую информационную архитектуру.



Проектирование информационной архитектуры обеспечивает проекту несколько преимуществ:




  • Повышение самостоятельности клиента и, как следствие, рост числа довольных клиентов

  • Эффективная навигация

  • Снижение затрат на техническую поддержку клиентов

  • Снижение количества отказов от вашего продукта или услуги



Способы упорядочивания информации


Как и всегда, существует ряд способов формирования иерархии контента сайта: от простого к сложному.



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



2. Wireframing – «каркасное моделирование». Wireframing в проектировании UX – изображение или диаграмма сайта, интерфейса ПО или страницы приложения, на которой отображается:




  • распределение пространства на этой странице;

  • распределение изображений и контента;

  • приоритезация контента;

  • доступные функции;

  • ожидаемое поведение пользователя.



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



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



Прототипирование позволяет юзабилистам экспериментировать, а также проверять функциональность и юзабилити продукта, чтобы впустую не тратить деньги на разработку. Благодаря созданию прототипа, значение каждой функции становится очевидным, а команда UX-дизайнеров может увидеть проект в целом и устранить любые несоответствия и недочеты.



Работа проектировщика: Тестирование как еще один способ формирования иерархии контента



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



Холгер Эггерт (HolgerEggert), главный юзабилист компании LevelGreen, дал нам свои рекомендации касательно тестирования пользователей:



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


Типы тестов


1. Юзабилити-тестирование



Юзабилити-тестирование обычно осуществляется в «лабораторных» условиях в индивидуальном порядке. Идея заключается в том, что участников (желательно представителей вашей целевой аудитории) просят выполнить задание с помощью вашего продукта, сайта, приложения, в то время, как проектировщик интерфейсов наблюдает за ними со стороны.



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



Юзабилити-тестирование (как, впрочем, и многие другие виды тестирования) осуществляется несколькими основными способами:




  • простые наблюдения;

  • анкеты;

  • опросы;

  • интервью.



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



Прежде чем приглашать пользователей, вам нужно задать себе вопрос: «Какую информацию мне нужно получить из этого тестирования?» и, только ответив на него, вы можете приступать к составлению опросника. Если вы не собираетесь проводить интервью или составлять анкету, а просто хотите понаблюдать за поведением пользователей при взаимодействии с вашим сайтом или продуктом, то задача остается той же.



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



2. Удаленное юзабилити-тестирование



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



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



Участники, фасилитаторы и наблюдатели могут находиться далеко друг от друга, поэтому объединяются онлайн. Хотя такой формат проведения тестирования может быть удобен, ценность его результатов меньше (в сравнении с «лабораторным» тестом). Кроме того, в случае онлайн-тестирования сложнее анализировать полученные данные.



3. А/В-тестирование



А/В-тестирование (известное также как сплит-тестирование) — это метод исследования, который заключается в сравнении двух версий одной и той же веб-страницы, продукта, электронного письма или системы, и определении более удачной версии. Цель тестирования заключается в том, чтобы увидеть различия в поведении двух групп пользователей и оценить влияние каждой версии на их действия.



Помните: А/В-тестирование полезно только в том случае, если у вас уже есть готовый продукт (услуга), и вам нужно его улучшить. Не стоит начинать с А/В-тестов на стадии проектирования — вместо этого проведите тестирование с участием пользователей.



Заключение: пара слов о командной работе



Разумеется, тестирование, информационная архитектура и изучение аудитории – это не все, с чем работает UX-проектировщик (в этом материале мы опустим вопросы, связанные с дизайном, написанием кода, выбором типографики и т.д. – вещами, с которыми юзабилисту нередко приходится сталкиваться в отсутствие соответствующих сотрудников в команде).



Однако о самой команде и внутрикомандном взаимодействии поговорить, все-таки, стоит: как бы ни называлась ваша должность и сколько бы ролей она ни совмещала в себе, без поддержки коллег-разработчиков дело UX-проектировщика не получит воплощения в готовом продукте. А при взаимодействии с разработчиками вам могут пригодиться следующие рекомендации:




  • Будьте честными – юзабилисты должны открыто общаться с разработчиками по поводу конечной цели продукта.

  • Давайте объяснения – разработчики должны четко представлять, что и как им нужно сделать, чтобы добиться желаемого результата. Им необходимо предельно ясно объяснить, почему какая-то идея не сработает, а не просто констатировать факт. Для этого привлекайте разработчиков к обсуждению на ранних этапах проектирования.

  • Будьте реалистами – когда вы передаете готовый дизайн разработчикам, установите реалистичные временные рамки на осуществление проекта. Таким образом, у всех будут одинаковые ожидания.

  • Ясно выражайте свои мысли – при общении с командой программистов убедитесь, что ваши указания и просьбы понятны. UХ-дизайнер должен уметь объяснить и точно проиллюстрировать, что и как должно работать в будущем.



P.S. Другие материалы из блога Печкин-mail:




Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/308058/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Из песочницы] Рефакторинг — мощь сокрытая в качественном коде

Понедельник, 15 Августа 2016 г. 13:55 (ссылка)

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



Проектирование



Начало хорошего кода — это всегда проектирование. Программисты, которые не умеют утихомирить страсть к написанию кода, этим опуская проектирование, пишут обычно быстро, но не качественно. Я это знаю, так как сам имел ту же проблему. Проектирование дает возможность взглянуть на систему, которой еще фактически нету, продумать правильную структуру приложения и данных, увидеть тонкости, риски, подумать о производительности и безопасности. При этом проектирование это не только прерогатива начала проекта. Проектирование — это неотъемлемая часть, при разработке любой «Feature».



Начать проектировать можно очень легко. Всегда держите на рабочем месте блокнот и несколько цветов ручек. Прежде чем писать код, нарисуйте схему — как приложение будет работать в целом, UML-диаграмму классов (продумайте как можно с минимальным количеством классов, достигнуть максимального результата), структуру баз данных (оптимизируйте БД еще до ее создания, подумайте какие запросы у вас должны будут «бегать» к вашей БД, продумайте индексы, конечно же нормализируйте вашу модель данных).



Для тех же целей подойдет простая программа для проектирования starUML. Минус ее в том, что нельзя нормально устанавливать мощность отношений (кратность), но сам интерфейс очень удобный.



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



Несколько принципов, которые точно нужно знать при проектировании классов вашей «Feature»:



1. SOLID (single responsibility, open-closed, Liskov substitution, interface segregation и dependency inversion)



Это основа основ в проектировании классов. Если вы еще не знакомы с SOLID, здесь можно ознакомиться.



2. DRY (do not repeat yourself)



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



К примеру:



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



— Вместо использования функции progress50(), лучше применить более абстрактную progress($percent).



— Отдавать предпочтение внешним зависимостям между модулями, внутренним (DI), что делает модуль более гибким и позволяет его использовать в нескольких местах.



3. KISS (keep it simple, stup...)



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



К примеру:



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



Стиль кода



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



Стандарт стиля кода (и не только) PSR (PHP Standards Recommendations), здесь можно ознакомиться. Содержимое на английском языке, так как английский более ясно дает понять степень применения одного или другого правила («MUST», «MUST NOT», «REQUIRED», «SHALL», «SHALL NOT», «SHOULD», «SHOULD NOT», «RECOMMENDED», «MAY», and «OPTIONAL»).



Несколько замечаний, которые автор счел важными:



1. Ознакомьтесь с PHPDOC для написания комментариев к вашему коду.



2. Лучший комментарий — это правильно названный класс, метод, параметр или переменная.



3. Используйте утилиты PHPMD, PHPCS, их применение шире, чем только для определения несоответствий в стиле кода. Вот документация: PHPMD, PHPCS.



4. Используйте продвинутое IDE.



Рефакторинг в чистом виде



Очень простая аксиома — на продакшн должен попадать только код, прошедший рефакторинг. Иногда после разработки вы сами делаете рефакторинг, что очень даже не плохо (к примеру, разработка через тестирование вообще включает рефакторинг, как обязательный шаг, так как изначально пишется «работающий код», а потом уже «чистый»), но для того, чтобы код был по-настоящему качественным, он должен пройти проверку кода (code-review) другим программистом. Если проект позволяет выделить время на проверку кода, то на таком проекте ты будешь учиться писать код чище и чище, что в последствии приведет к автоматическому написанию качественного кода.



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



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



1. Длинные методы (лучше разделить функционал на несколько методов).



2. Громоздкие классы (ваш класс должен исполнять одну функциональную задачу в вашей системе).



3. Неясная структура класса (методы в хаотическом порядке, конструктор в середине класса, вместо констант — магические значения в коде — класс должен легко отображать, что он делает в правильной последовательности).



4. Слишком много параметров в методе (некоторые расчеты можно сделать внутри метода, используя внутренние константы, значения полученные с атрибутов и геттеров).



5. Классы, содержащие одинаковые переменные и методы. Проблему можно решить через создание дополнительного класса).



6. Сложно читаемый IF (выражение можно вынести в отдельную переменную и разделить на логические части, которые также вынести в переменные, если много проверок на null, то лучше всего использовать NullObject — количество проверок значительно уменьшится).



7. Громоздкий SWITH (выносим в отдельный метод).



8. Использование наследования из-за одинаковых методов и свойств, в разных по своей сути сущностях (кошка и стул имеют ноги, но их нельзя группировать в категорию «животные»).



9. Слишком большое количество маленьких классов для выполнения одной задачи, которые в последствии сложнее поддерживать.



10. Слишком сложный функционал в одном классе, который можно разделить на несколько классов.



11. Класс делает слишком мало, чтобы его оставлять в системе.



12. «Мертвый код» — его следует удалить.



13. Не использованные структуры классов, которые вы проектировали на будущее, но они так и не пригодились — такие лучше удалить.



14. Методы класса больше используются в другом классе, а в своем вообще не используются или же реже (стоит перенести метод в тот класс, где он больше используется).



15. Слишком длинная цепочка вызовов ($a->b()->c()->d()->e()), в этом случае стоит создать дополнительные методы.



16. Класс, содержащий только один метод, который создает другой класс. (Такой класс нужно использовать с умом, к примеру, для паттерна «Прокси», в противном случае этот класс только увеличивает время и ресурс на поддержку проекта).



17. Слишком много действий в конструкторе. (Конструктор должен только устанавливать свойства класса, если же в конструкторе создаются другие классы, происходят какие-то расчеты, то это делает его сложным для понимания, приходится вникать в суть реализации. Чтобы создать объект и выполнить какие-то действия, добавьте статический метод create($param1, ...), который создаст экземпляр класса с дополнительными действия над ним, этот метод можно назвать более подходящим к тому, что он будет все же делать).



Список литературы



» Source Making

» PSR

» UML
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/307762/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

Реклама моих работ #Постила

Четверг, 11 Августа 2016 г. 14:00 (ссылка)
postila.ru/post/44348086


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



КОНТРОЛЬ ЗА НАДЕЖНОСТЮ И ГАРАНТИИ КАЧЕСТВА



Команда наших ведущих специалистов готова предложить вам лучшие условия в проектирование тиров, проектирование стрельбищ, оборудование стрелковых тиров, оборудование стрелковых стрельбищ и полигонов.В поставке настройке и введение в эксплуатацию уникального отечественного и зарубежного оборудования включаямишенное оборудование. В гарантийном и послегарантийном обслуживании всех объектов Дизайн сайта художник В. Машков http://www.wmashkov.ru



http://www.npo-atol.ru







1.

Строительство полигонов_4_www.npo-atol.ru (700x493, 395Kb)

Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

САЙТЫ #Постила

Вторник, 09 Августа 2016 г. 19:56 (ссылка)
postila.ru/post/44301988


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



СПОРТИНГИ АКТИВНЫЙ ОТДЫХ



В последнее время большой популярностью пользуется разновидность спортивной стрельбы по искусственным мишеням проводимой на специально оборудованных для этого площадках – спортингах. Мы предоставляем всю необходимую документацию и готовы в кратчайшие сроки выполнить проектирование спортингов, строительство спортингов и оборудование спортингов. Дизайн сайта художник В. Машков http://www.wmashkov.ru



http://www.npo-atol.ru







1.

Строительство полигонов_www.npo-atol.ru (700x493, 449Kb)



 

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

САЙТЫ #Постила

Вторник, 09 Августа 2016 г. 19:43 (ссылка)
postila.ru/post/44301553


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



СОТРУДНИЧЕСТВО С МВД РОССИИ.



Для министерства внутренних дел «Антитеррористическая объединенная лаборатория «Атол»» выполняет проектирование полигонов, строительство полигонов, оборудование полигонов. Дизайн сайта художник В. Машков http://www.wmashkov.ru



http://www.npo-atol.ru







1.

Оборудование полигонов_2_www.npo-atol.ru (700x493, 477Kb)

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

САЙТЫ #Постила

Вторник, 09 Августа 2016 г. 19:28 (ссылка)
postila.ru/post/44301033




Автор поста: Владимир Машков.



Находите и сохраняйте интересные и полезные идеи на Постиле!



| Самое ценное по теме «Разное»



ВЫГОДНЫЕ УСЛОВИЯ ДЛЯ СОТРУДНИЧЕСТВА.







1.





Оборудование тиров_3_www.npo-atol.ru (700x493, 384Kb)Специалисты компании «Атол» много лет, успешно выполняют проектирование тиров, строительство тиров и оборудование тиров. Мы делаем тиры под ключ. А так же поставляем мишенное оборудование. Еще одним из направлений деятельности нашей компании является гарантийное и послегарантийное обслуживание тиров, с проведением всех необходимых согласований, получением заключений и актов о безопасности стрелковых галерей. Дизайн сайта художник В. Машков http://www.wmashkov.ru http://www.npo-atol.ru

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Примеры кода с летней школы по Node.js и JavaScript в КПИ

Понедельник, 08 Августа 2016 г. 14:50 (ссылка)

Товарищи инженеры, докладываю вам об успехах в подготовке научно-технических кадров в области программной инженерии в Киевском политехническом институте и публикую интересные примеры кода, которые были написаны для учебного курса, но будут, надеюсь, интересны и с практической точки зрения. Идея, внедрить JavaScript и Node.js в учебный процесс, вызревала у меня уже несколько лет. Но для освоения базовых вещей в программировании мне больше нравится C, чтобы люди прочувствовали машину, научились контролировать себя и свой код. А вот для прикладных задач, в которых уровень абстракции C уже не достаточно иллюстративен, мультипарадигменный и гибкий JavaScript прижился. Вместе с мощным и простым API Node.js, писать концептуальный код прямо на паре, оказалось очень удобно. Кроме того, знания JavaScript обязательно пригодятся на практике любому инженеру, работающему в ИТ. Часть кода, разработанного студентами курса, уже попала в серьезные Open Source проекты и это прекрасная практика, которую может повторить каждый, ведь лабораторные работы мы постепенно выкладываем на github и будем делать это и дальше, снабжая их методическими указаниями и не заботясь о том, что студенты будут списывать из форков, ведь все это нужно в первую очередь им самим. Примеры я еще раз разложу по полочкам на летней школе, которая проходит с 9 по 26 августа 2016 года в Киеве, и расписание которой можно найти тут. Итак, переходим к самым показательным примерам кода.



Пример №1. Живые таблицы



Написание нечто на подобие живых таблиц Google Spreadsheets из гуглдоксов, может вдохновить даже двоечника. Пусть это будет маленькая электронная таблица 6x5, но в нее может зайти несколько человек и введенные ими данные будут синхронизироваться по сети в реальном времени. Это наглядно, эффектно и применимо на практике. Кроме того, в этом задании скрыты дополнительные темы, применение WebSocket и EventEmitter, написать его простую реализацию самостоятельно, расширить возможности EventEmitter для подписки на все события. Основная задача этой работы, рассчитанной на 1 лекцию и 2 практики, это освоить событийную реактивную модель вычислений, вместо прохода по циклу и трансляцию событий по сети.



Начинать можно уже не с нуля, базовый код сервера 41 строка, и 53 строки клиент написан и выложен вместе с заданием в гитхабе: https://github.com/HowProgrammingWorks/EventDrivenProgramming



Пример №2. Распределенные вычисления



Как увлечь студентов распределенными вычислениями? Я думаю, что им просто нужно дать что-то простое, что они смогут реализовать за одну-две пары. Ни кто, конечно, в здравом уме не будет писать больших вычислительных задач на Node.js, но он очень краток и показателен в том смысле, что JavaScript имеет однопоточную модель исполнения. Мы можем наглядно распараллелить вычисления, переведя их в асинхронную парадигму и распределив между несколькими процессами. Для этого предлагается перейти от циклов к итераторам. В этом случае исчезают переменные циклов и состояние, т.е. исходный набор данных уже можно резать и передавать в разные процессы. Это подходит для задач, в которых последовательность обработки элементов набора данных не важна, а таких задач очень много. Кроме того, итераторы можно переопределить, перехватить или написать свои. Мы можем реализовать межпроцессовое взаимодействие и сетевой обмен, скрыв это за абстракцией итератора. Прикладной код не изменится, только реализация итератора будет резать задачу на части, хранить у себя индексы частей, а потом, при получении результатов (пусть даже в другом порядке), их можно будет склеить в нужной последовательности.



Начинать тоже можно не с нуля, есть заготовки кода на гитхабе https://github.com/HowProgrammingWorks/InterProcessCommunication содержащие два варианта обмена между процессами: через IPC (встроенный в операционную систему и имеющий обертку в Node.js API) и через TCP сокеты. Последний можно применять не только для распараллеливания в пределах одного сервера, но и для построения кластера из нескольких многоядерных серверов.



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



Пример №3. Песочницы, инверсия управления и внедрение зависимостей



Еще одна важная тема, это экранирование прикладного кода в песочницах. В этом смысле Node.js дает нам доступ к API виртуальной машины V8 и это позволяет создавать контексты исполнения кода динамически. Песочницы имеют свой глобальный контекст и совершенно не имеют доступа к главному глобальному контексту приложения, если мы специально не пробросим в них ссылки на те или иные объекты. Благодаря этому мы можем продемонстрировать принципы инверсии управления и внедрения зависимостей для модулей, а не только для классов. Мы можем взять ссылку на объект или функцию из одной песочницы, и внедрить ее в другую песочницу. Можем обернуть любой API в песочнице, добавив в его поведение логирование, замеры скорости, распределенные вычисления, функции безопасности и что угодно. Песочницы, это одна из самых мощных возможностей ноды, но, к сожалению, пока мало используемая в прикладных приложениях.



Вообще говоря, управление зависимостями в ноде из коробки такое себе, все делается через DL (dependency lookup), реализацией которого и является пресловутый require. Это способ, при котором модули сами подгружают в свой контекст другие модули, указывая полный путь к файлу или имя модуля в репозитории npm. При этом, подгружаемые модули получают полный доступ к глобальному контексту приложения и могут изменить в нем что угодно, например, удалит setTimeout, переопределить метод Array.prototype.forEach() или заменить require своей функцией. Вообще, библиотеки JavaScript часто модифицируют базовые классы языка и это приводит к конфликтам кода. От этого нет спасения, кроме как запускать конфликтующий код в песочницах и реализовать экранирование, а зависимости внедрять из основного приложения, создавая ссылки на них в глобальном контексте песочниц.



Лучше всего перейти к внешнему декларативному описанию зависимостей, на подобие того, что мы имеем в package.json. Но require в ноде дублирует в императивном стиле, то декларативное описание, которое содержится в package.json. В больших проектах часто случается, что два разных компонента приложения зависят от разных версий одной библиотеки (это ужасно конечно, но как есть), а в package.json можно описать только одну. Оформлять все эти компоненты как отдельные npm пакеты и подымать свой npm сервер или выкладывать их в приватный репозиторий, можно конечно. Но значительно красивее решить сразу две задачи при помощи песочниц и внедрения зависимостей. Главный модуль может считать файл описания зависимостей и подгрузить нужные версии зависимостей в нужные песочницы, одновременно защищая их контексты.



Ссылка на репозиторий https://github.com/HowProgrammingWorks/InterProcessCommunication и в нем есть 3 папки:




  • sandboxedModule — это про использование песочниц

  • interfaceWrapper — про обертку интерфейсов

  • dependencyInjection — про внедрение зависимостей



Ссылки





Заключение



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


Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/307332/

Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

САЙТЫ #Постила

Воскресенье, 07 Августа 2016 г. 12:09 (ссылка)
postila.ru/post/44228997


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



ЛУЧШИЕ УСЛОВИЯ ДЛЯ ВЫГОДНОГО СОТРУДНИЧЕСТВА



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



Дизайн.http://www.wmashkov.ru   http://www.npo-atol.ru







1.

Строительство тиров_1_www.npo-atol.ru (700x493, 323Kb)

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

САЙТЫ #Постила

Пятница, 05 Августа 2016 г. 13:57 (ссылка)
postila.ru/post/44177268


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



СОГЛАСОВАНИЕ НА ВСЕХ ЭТАПАХ ПРОЕКТИРОВАНИЯ И СТРОИТЕЛЬСТВА



Ведущие специалисты компании «НПО-АТОЛ» предлагают воспользоваться более выгодными условиями в проектирование тиров, проектирование стрельбищ, оборудование стрелковых тиров, оборудование стрелковых стрельбищ. В поставке на объекты и введении в эксплуатацию уникального оборудования включаямишенное оборудование. В гарантийном и послегарантийном обслуживание тиров, с проведением  всех необходимых согласований, заключений и актов по безопасности стрелковых галерей. Дизайн сайта художник В. Машков http://www.wmashkov.ru



http://www.npo-atol.ru







1.

Проектирование полигонов_www.npo-atol.ru (700x493, 501Kb)

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

САЙТЫ #Постила

Пятница, 05 Августа 2016 г. 13:50 (ссылка)
postila.ru/post/44177113


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



ЛУЧШИЕ УСЛОВИЯ ДЛЯ ВЫГОДНОГО СОТРУДНИЧЕСТВА



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



Дизайн.http://www.wmashkov.ru   http://www.npo-atol.ru







1.

Строительство тиров_2_www.npo-atol.ru (700x493, 372Kb)

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

САЙТЫ #Постила

Среда, 03 Августа 2016 г. 10:45 (ссылка)
postila.ru/post/44121837


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



ОБОРУДОВАНИЕ ДЛЯ СТРЕЛКОВЫХ ТИРОВ, ЛУЧШЕЕ МИШЕННОЕ ОБОРУДОВАНИЕ.



Компания Атол имеет широкий ассортимент продукции ведущих мировых производителей и производителей отечественного производства, что в сложное санкционное время позволяет оборудовать стрелковые тиры, боевые стрельбища и полигоны стрелковым оборудованием любого уровня. Дизайн сайта художник В. Машков.  http://www.wmashkov.ru



http://www.npo-atol.ru/







1.

Строительство полигонов_1_www.npo-atol.ru (700x493, 470Kb)

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

САЙТЫ #Постила

Среда, 03 Августа 2016 г. 10:37 (ссылка)
postila.ru/post/44121581


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



СТРЕЛКОВЫЙ ТИР – ПРОИЗВЕДЕНИЕ ИСКУССТВА КОМПАНИИ АТОЛ.



Проведение работ по технической укрепленности стрелковых галерей.



Монтаж сертифицированных пулеулавливателей специальной антирикошетной защиты стен и специального напольного покрытия.



Предлагается выбор отделочного материала для тиров различной ценовой категории. Дизайн сайта художник В. Машков.  http://www.wmashkov.ru



http://www.npo-atol.ru/







1.

Оборудование спортингов_3_www.npo-atol.ru (700x493, 513Kb)

Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

САЙТЫ #Постила

Вторник, 02 Августа 2016 г. 11:57 (ссылка)
postila.ru/post/44095692


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



ПРОВЕДЕНИЕ КОНТРОЛЯ И СОГЛАСОВАНИЕ НА ВСЕХ ЭТАПАХ ПРОЕКТИРОВАНИЯ И СТРОИТЕЛЬСТВА



Специалисты компании «Атол» занимаются согласованием всех необходимых документов, получением заключений и актов о безопасности, составлением и разработкой конструкторской документации, для выполнения проектных и строительных работ по тирам, стрельбищам, полигонам и спортингам. Дизайнерская визуализация проекта. Дизайн сайта художник В. Машков.  http://www.wmashkov.ru



http://www.npo-atol.ru/







1.

Оборудование спортингов_www.npo-atol.ru (700x493, 434Kb)

Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

САЙТЫ #Постила

Вторник, 02 Августа 2016 г. 11:49 (ссылка)
postila.ru/post/44095477


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



ВЫГОДНЫЕ УСЛОВИЯ ДЛЯ СОТРУДНИЧЕСТВА.



Специалисты компании «Атол» много лет, успешно выполняют проектирование тиров, строительство тиров и оборудование тиров. Мы делаемтиры под ключ. А так же поставляеммишенное оборудование. Еще одним из направлений деятельности нашей компании является гарантийное и послегарантийное обслуживание тиров, с проведением  всех необходимых согласований, получением заключений и актов о безопасности стрелковых галерей. Дизайн сайта художник В. Машков http://www.wmashkov.ru



http://www.npo-atol.ru







1.

Оборудование спортингов_1_www.npo-atol.ru (700x493, 462Kb)

Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

САЙТЫ #Постила

Вторник, 02 Августа 2016 г. 11:31 (ссылка)
postila.ru/post/44094993


Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»



СОГЛАСОВАНИЕ НА ВСЕХ ЭТАПАХ ПРОЕКТИРОВАНИЯ И СТРОИТЕЛЬСТВА



Ведущие специалисты компании «НПО-АТОЛ» предлагают воспользоваться более выгодными условиями в проектирование тиров, проектирование стрельбищ, оборудование стрелковых тиров, оборудование стрелковых стрельбищ. В поставке на объекты и введении в эксплуатацию уникального оборудования включаямишенное оборудование. В гарантийном и послегарантийном обслуживание тиров, с проведением  всех необходимых согласований, заключений и актов по безопасности стрелковых галерей. Дизайн сайта художник В. Машков http://www.wmashkov.ru



http://www.npo-atol.ru







1.

Проектирование мобильных комплексов_3_www.npo-atol.ru (700x493, 511Kb)

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Vladimir_Mashkov

САЙТЫ #Постила

Вторник, 02 Августа 2016 г. 11:23 (ссылка)
postila.ru/post/44094761






1.





Оборудование полигонов_1_www.npo-atol.ru (700x493, 451Kb)

Автор поста: Владимир Машков. Находите и сохраняйте интересные и полезные идеи на Постиле! | Самое ценное по теме «Разное»

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<проектирование - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda