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


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

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

Следующие 30  »
РАЙИСКА

Без заголовка

Среда, 04 Мая 2016 г. 22:08 (ссылка)
vse-o-pozitive.ru/1410-30-s...?_utl_t=li

30 сайтов для любителей рисовать в фотошопе » Позитив. Сайт хорошего настроения - Все о Позитиве

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

Обзор обзора минусов Битрикс, или чувак читает только первые 5 страниц

Воскресенье, 24 Апреля 2016 г. 15:51 (ссылка)





Здрасте!



В русскоязычном сегменте Интернета существует такой интересный феномен, как хейтеры Битрикс.



Недавно прочитал статью Минусы Битрикса, или Битрикс глазами программиста, и плакать захотелось. Причем этот парень не одинок, он по наслышке знает, что Битрикс — это ужас ужасный.



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



Итак, по порядку:



1. Архитектура





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




Ну нет господа, если уж и делать обзор, то как-то надо запариваться и изучать систему. У Битрикса есть условное разделение частей системы на MVC:


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

  • модель — это т.н. API. Можете писать их как хотите. Можете разделить их на ServiceLayer, на ActiveRecord и другие паттерны. Делайте что хотите ;-)

  • представление — это шаблоны. Тут все как надо, есть темы, есть шаблоны, все океюшки





2. Код





Ниже я приведу функцию «продукта». Эта функция — метод класса (!!!) ядра (!!!) Битрикса, который вызывается, как статический (!!!) и ему передается 21 аргумент по ссылке (!!!).




У BitrixFramework есть такое явление как D7 — это новое ядро. В нем переписано много чего, да конечно оно мало задокументировано, но если говорить про сравнение, то это тоже самое что смотреть код Yii 1, и говорить что там говнокод.



Смотреть код который написан лет 7 назад и на его основе делать обзор, пфф…



3. Обман





если вы выбрали 1С Битрикс, чтобы его просто так взять и связать с 1С своего предприятия стандартным модулем — у вас ничего не получится.




Это можно сделать, НИЧЕГО не допиливая, а данная фраза говорит о компетенции писавшего.



Все доработки — это боль, тлен и тысячи трудочасов программиста




Если делать как поступают многие Битрикс-разработчики (а они просто берут модули из коробки и их допиливают их), то да — это тот еще геморрой. Но кто мешает написать свой компонент, так как надо?



Заключение





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




Вот здесь на самом деле соглашусь: очень хорошо разрекламированная система, с весьма сомнительным инструментарием для разработчика.



Статья написана программистом и описывает то, что у Битрикса под капотом.




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



Если проводить аналогию с машиной, то машина едет так, как ей управляет водитель. Поэтому все хейтеры, которые помчались дизлайкать данный пост, подумайте (если умеете): Битрикс очень популярная система, ее очень часто покупают, и люди готовы за нее платить. Так неужели не стоит с ней работать?



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

https://habrahabr.ru/post/282317/

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

25 фотографий с красивыми формами и паттернами (Может кому пригодится для творчества )

Воскресенье, 10 Апреля 2016 г. 08:08 (ссылка)

Это цитата сообщения EVGENIYA222 Оригинальное сообщение

25 фотографий с красивыми формами и паттернами(Может кому пригодится для творчества )



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


 


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


25 фотографий с красивыми формами и паттернами 1Коралл. Автор фото: Марианна Армата


1439133111_115523392_5155516_0_8fea2_d0d2901f_M_jpg (160x21, 4Kb)
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Минусы Битрикса, или Битрикс глазами программиста

Суббота, 26 Марта 2016 г. 21:32 (ссылка)

Beats By Bitrix В русскоязычном сегменте Интернета существует такой интересный феномен, как Битрикс.



Для обывателя — это такая серьезная система, «продукт», на котором нужно разрабатывать серьезные проекты: корпоративные порталы, интернет магазины и даже CRM системы. Все очень серьезно, почти как опыты нацистов над инопланетянами (на канале Рен-тв сразу после рекламы).



Для программиста, который прочитал хоть одну книгу про программирование, Битрикс — это так называемый «плохокод», просто-напросто огромное количество PHP файлов, написанных в разном стиле, которые подключаются «инклудом» и что-то там выводят.



Эта статья для обывателя (потребителя). Как правило, такой обыватель, прежде чем сделать выбор CMS, читает статьи под названием «плюсы и минусы Битрикса», которые пишут люди, далекие от программирования. Данная статья написана программистом, потому плюсов тут быть не может.



Итак, минусы:



1. Архитектура





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



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



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



В Битриксе же все написано так называемой «лапшой»: это когда школьник садится за компьютер на уроке информатики и записывает свою мысль от начала и до конца в виде кода в одном файле. Таких школьников в классе 30 и каждый написал свой компонент в своем стиле. Потом встает вопрос, как это все связать в систему? Чтобы понять, откуда берутся те или иные данные в «продукте» 1С Битрикс, нужно делать поиск по коду в файловой системе. Иногда, чтобы все сломать, достаточно поменять местами два компонента, которые обмениваются данными друг с другом через какой-то костыль, который придумал программист (порой общение между компонентами происходит через сессию или другую глобальную переменную).



2. Код





Это просто унизительно, продавать за деньги систему, в которой HTML код перемешан с JS, PHP и CSS. Ниже я приведу функцию «продукта». Чтобы ее поняли и люди, далекие от программирования, снизу будет пояснение. Эта функция — метод класса (!!!) ядра (!!!) Битрикса, который вызывается, как статический (!!!) и ему передается 21 аргумент по ссылке (!!!).



	function PrepareGetList(
&$arIblockElementFields,
&$arJoinProps,
&$bOnlyCount,
&$bDistinct,

&$arSelectFields,
&$sSelect,
&$arAddSelectFields,

&$arFilter,
&$sWhere,
&$sSectionWhere,
&$arAddWhereFields,

&$arGroupBy,
&$sGroupBy,

&$arOrder,
&$arSqlOrder,
&$arAddOrderByFields,

&$arIBlockFilter,
&$arIBlockMultProps,
&$arIBlockConvProps,
&$arIBlockAllProps,
&$arIBlockNumProps,
&$arIBlockLongProps
)
{




(пересчитал еще раз — 22, по штуке на каждого нового программиста, который дописывал этот метод)



Чем это плохо? Что чувствует программист, видя это? Объясню: вот приходите вы в банк, платите 200 рублей, чтобы вам заполнили платежное поручение (ведь вы занятой человек, у вас нет времени). Вы отдаете деньги, но эти бюрократы заявляют, что чтобы воспользоваться любой услугой банка, в том числе «заполнение поручения», вам нужно заполнить анкету: ИНН, номер паспорта и прочие многоциферные штуки. У вас возникает недоумение: но я же заплатил деньги, чтобы мне было комфортно и удобно, чтобы ничего не надо было заполнять? Но ведь у банка напротив вообще не нужно заполнять никаких поручений, можно просто бесплатно ввести один 4-значный код для проведения платежа!



Баком напротив являются бесплатные фреймворки, а вашим банком — расхваливаемый маркетологами платный Битрикс.



Вы не найдете ни одного программиста, который бы перешел с фреймворков на Битрикс.



3. Обман.





Не хотелось бы писать тут слишком много. Скажу кратко: если вы выбрали 1С Битрикс, чтобы его просто так взять и связать с 1С своего предприятия стандартным модулем — у вас ничего не получится. И много чего другого у вас не получится просто взять и сделать стандартным модулем. У вас все получится, только если вы ничего не будете менять в скачанном архиве, состоящем из тысяч каких-то PHP файлов. Все доработки — это боль, тлен и тысячи трудочасов программиста, который знает программирование на уровне языка разметки и написания сценариев, а не архитектуры.



Заключение





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



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



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

https://habrahabr.ru/post/280226/

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

Паттерны PRICE ACTION » Бинарные опционы и форекс

Суббота, 28 Февраля 2016 г. 01:14 (ссылка)
xn--90aeouqrb.xn--p1ai/nach...ction.html


Рассмотрим самые популярные и рабочие паттерны PA(Price Action) Это первая статья посвященная теме паттерны прайс экшен. Попробую наиболее доступно описать каждый из паттернов, которые я сам лично

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

Технологии изучения Иностранных языков (2015) Видеокурс » SoftLabirint.Ru: Скачать бесплатно и без регистрации - Самые Популярные Новости Интернета

Среда, 17 Февраля 2016 г. 20:10 (ссылка)
softlabirint.ru/video/video...okurs.html


Технологии изучения Иностранных языков (2015) Видеокурс

Интенсивный курс, От самого известного в России эксперта по технологиям обучения и изучения языков Николая Ягодкина.



Пройдя курс, вы научитесь:

● Подробно планировать программу самостоятельного изучения языка (под любые задачи и с любого уровня)

● Разбирать, структурировать, понимать и запоминать грамматику (через Майнд Карты и схемограммы)

● Выводить слова и грамматику в разговорный навык (через "паттерны" со скоростью 1500-2000 фраз в час)

● Подбирать для запоминания нужные слова под любые задачи (составлять для себя словари/разговорники/упражнения и т.д.)

● Запоминать слова по 50-100 за час и выводить их в активную речь (используя связку "мнемотехника" + "паттерны")

● Осваивать навык понимания на слух в 7-10 раз эффективнее обычного просмотра видео с субтитрами и без них

● Навсегда убирать все ошибки в произношении и написании слов (со скорость 200-500 слов в час)

● Восстанавливать за считанные часы навыки владения языком, утраченные много лет назад



Технологии изучения Иностранных языков (2015) Видеокурс Технологии изучения Иностранных языков (2015) Видеокурс Технологии изучения Иностранных языков (2015) Видеокурс



Информация о видеокурсе

Название: Технологии изучения Иностранных языков

Автор: Николай Ягодкин, Светлана Ахметова

Год выхода: 2015

Жанр: Видеокурс

Язык: Русский

Выпущено: Россия

Продолжительность: ~26 часов



Файл

Формат: MP4, DOCX

Видео: AVC, 640x360, ~469 Kbps

Аудио: AAC, 103 Kbps, 48.0 KHz

Размер: 6.27 Gb



Скачать: Технологии изучения Иностранных языков (2015) Видеокурс  >>>



 



Подписка на новости сайта…

http://feeds.feedburner.com/Soft-Labirint

http://feeds.feedburner.com/Soft-Labirint?format=xml

https://feedburner.google.com/fb/a/mailverify?uri=Soft-Labirint



 



 

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

Шаблонный метод

Понедельник, 15 Февраля 2016 г. 18:13 (ссылка)


Шаблонный метод



Когда приходится спрашивать человека, какие паттерны проектирования ему приходилось использовать чаще всего, почему-то мало кто называет паттерн «Шаблонный метод» (Template Method). Вероятно, это связано с пробелом в знании номенклатуры паттернов, ибо лично я с трудом представляю себе, чтобы более-менее опытный программист ни разу не использовал такой удобный и полезный паттерн. Предлагаю ещё раз взглянуть на него поближе.



Итак, шаблонный метод. Читать дальше →

https://habrahabr.ru/post/277295/

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

Как начать торговать бинарными опционами. Часть 2

Пятница, 12 Февраля 2016 г. 14:19 (ссылка)
invest-profi.com/kak-zarabo...ast-2.html

Продолжаем просмотр видео-уроков от Binomo и учимся зарабатывать на бинарных опционах.


1.
бинарные_опционы (200x148, 31Kb)
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Invest-Profi

Как начать торговать бинарными опционами. Часть 1

Суббота, 06 Февраля 2016 г. 13:14 (ссылка)
invest-profi.com/kak-zarabo...ast-1.html

Видео-уроки для начинающих трейдеров от брокера Binomo, помогут начать торговать бинарными опционами.


1.
binomo (200x133, 34Kb)
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Балансировка 70 тысяч запросов в секунду на HighLoad++

Понедельник, 19 Октября 2015 г. 23:54 (ссылка)



Библиотека докладов



Это не просто статья — это целая библиотека докладов про внутреннее устройство тех или иных крупных и высоконагруженных проектов. Все эти доклады звучали на конференциях HighLoad++ и РИТ++ за последние несколько лет.











И еще:



















Секция «Архитектуры»



Ключевая секция конференции разработчиков высоконагруженных систем HighLoad++, которая пройдет уже через две недели в Москве, это, конечно, Архитектуры. Доклады в этой секции меняются — если три-четыре года назад мы слушали общие слова о том, сколько серверов в Фейсбуке и где хранятся файлы у ВКонтакте, то сейчас в Программу такие доклады уже не проходят. Сейчас время деталей, микросервисов, подробных разборов того или иного архитектурного паттерна.

 

Итак, архитектурные паттерны. На этой конференции подробно разберем пару из них, и первый — это, конечно, микросервисы.

 

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



Антон Резников и Владимир Перепелица расскажут не только о микросервисной архитектуре Облака@Mail.ru, но и конкретной реализации паттерна на NoSQL-базе данных Tarantool. Да, Tarantool — это еще одна NoSQL база данных, но еще это полноценный сервер приложений. Приложений, расположенных рядом с данными!







Денис Иванов (2Gis) продолжит тему в докладе «Путь от монолита на PHP к микросервисам на Scala». Так и хочется воскликнуть: «Денис, остановись, что ты делаешь, зачем?!». И Денис отвечает на этот вопрос просто — 6 нод с приложениями вместо 18. Ответ достойный, надеемся услышать на конференции детали.



Еще один паттерн, часто используемый в высоконагруженных проектах — это очереди. Тему раскрывает Павел Филонов (Positive Technologies) в докладе «101 способ приготовления RabbitMQ и немного о pipeline-архитектуре».
В докладе обсуждаются варианты использования системы обмена сообщениями RabbitMQ в качестве связующего программного обеспечения (middleware) для построения конвейерной архитектуры. Рассматриваются вопросы производительности и масштабирования как stateless, так и statefull фильтров.


Доклад похож на учебный, но тема-то уж больно хороша!





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



— Юра, как вы подошли к уровню нагрузки в 70к запросов в секунду?

К такому уровню нагрузки мы подходили весьма плавно, в течение уже почти 10 лет. В последние годы у нас также начало сильно расти количество пользователей на мобильных устройствах, что тоже вызвало рост количества запросов в секунду — наше мобильное приложение отправляет больше мелких запросов на сервер, чем веб-сайт. Хотелось бы отметить, что 70к запросов в секунду приходится на PHP-FPM, общее число HTTP-запросов на наш сайт составляет до 250к в секунду.


— Что, кроме яиц, нужно для того, чтобы держать такие нагрузки?

В целом нет никакой проблемы с тем, чтобы обслуживать 250 000 HTTP-запросов в секунду. Вы можете обслуживать такую нагрузку с помощью банального nginx и DNS round-robin. Мы используем «хардварные» решения для обработки входящего трафика — GTM и LTM от компании F5. Они позволяют обрабатывать все запросы на одном IP-адресе, то есть без использования DNS round-robin. На входном маршрутизаторе задаются правила, по которым запросы попадают на тот или иной кластер, задаются веса машин при необходимости, и остальное делает за вас эта железка (или nginx, который мы используем для проксирования запросов на мобильный кластер).



Грубо говоря, распределение запросов по серверам — это не архисложная задача, и для PHP масштабирование заключается просто в добавлении серверов в backend с соответствующими весами.



Намного сложнее не просто держать такую нагрузку, но и создать архитектуру для хранения пользовательских данных, которая бы могла хранить и отдавать сотни терабайт и даже петабайты фотографий и текстовых данных. О нашей архитектуре было много докладов, например мастер-класс от Алексея Рыбака на DevConf в 2012 году или мой доклад про архитектуру хранения фотографий в 2015 году. К сожалению, кратко рассказать об архитектуре в рамках интервью не представляется возможным, поэтому я бы рекомендовал посмотреть на наши презентации для деталей.


— Каким образом достигается подобная пропускная способность архитектуры, какие есть отдельные интересные места?

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



Если говорить про архитектуру хранения данных пользователей, то здесь всё немного интереснее. Мы храним данные каждого пользователя на одном сервере, то есть шардим данные по пользователям, а не по ID или другим синтетическим величинам. Это позволяет нам делать достаточно сложные выборки при работе с данными пользователей, использовать JOIN и сложные сортировки. При этом пользователи не «прибиваются гвоздями» к своему серверу, а могут перемещаться по кластеру при необходимости. Это достигается за счёт того, что мы храним «spot_id» и «place_id» пользователя (идентификаторы, из которых можно определить имя сервера и имя таблицы на сервере) в центральном сервисе, называемом «authorizer». К этому сервису делаются запросы каждый раз, когда нужно установить соединение с базой данных пользователя. На сервис приходится около 40к запросов на чтение в секунду, и обслуживаются они по протоколу HandlerSocket одним инстансом MySQL. Этот сервис является, пожалуй, самым высоконагруженным внутренним сервисом, который обслуживает один сервер, и в данный момент у нас есть запас по производительности минимум в 2 раза. Даже если мы упремся в масштабируемость MySQL + handlersocket, всегда можно попробовать, к примеру, Tarantool для этой задачи — этот демон может выдавать 100к запросов/сек на _ядро_ (ср. с 100к запросов на _сервер_ в случае с MySQL+handlersocket).


– И пару слов о твоём докладе на HighLoad++

В докладе я расскажу о системе, которая выставляет веса для серверов на наших балансировщиках (LTM для веб-нагрузки и nginx для мобильного кластера). Система нужна для того, чтобы достичь намного более равномерного распределения нагрузки по кластеру, чем получается сделать «руками». С ростом нагрузки и количества запросов нам начало требоваться всё большее число серверов, и помимо добавления новых серверов мы решили потратить некоторые усилия на то, чтобы обеспечить более равномерную загрузку существующих. До того, как мы начали что-то делать, разброс между CPU usage на самом нагруженном сервере и на самом свободном составлял около 20-30%, а после — всего 2,5%. На наших объемах это позволило нам сэкономить до сотни серверов, и оно, безусловно, стоило того.



Я расскажу о существующих подходах к автоматическому распределению весов для машин, о том, какие подходы мы попробовали, и на чём в результате установились. Написанное нами решение будет выложено в open-source, чтобы вы могли использовать его в своем проекте при необходимости.






И напоследок, классический доклад об архитектуре крупного проекта, правда очень крупного, самого крупного сервиса объявлений в Рунете — Avito.ru. Михаил Тюрин, главный системный архитектор Avito, расскажет о том, «Где живут ваши объявления?»
Одинаковых высоконагруженных проектов не бывает, дьявол кроется в мелочах, в нюансах работы той или иной функции, хранения и использования того или иного блока данных. Именно поэтому свой курс лекций о высоконагруженных системах в МФТИ я начинаю с рассказа и демонстрации важности аналитической части работы над высоконагруженных проектом. И именно поэтому я рекомендую сходить на доклад Михаила — крупнейший классифайд в Европе, 600 миллионов объявлений – как это все работает?
До встречи на конференции!



P.S. Учебник



Кстати, вот уже несколько недель мы обкатываем новый учебник по проектированию высоконагруженных систем. Это серия писем, построенных на лекциях лучших в России специалистов. Где-то мы расшифровываем лекции, где-то предоставляем видео, но важно следующее – каждый из материалов перепроверен нами, на нём стоит печать качества конференции HighLoad++.



Если интересно – подписывайтесь, это бесплатно: http://highload.guide/

И последнее: Для пользователей «Хабрахабра» конференция предлагает специальную скидку в 15%, всё что нужно сделать — это воспользоваться кодом "IAmHabr" при бронировании билетов.




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

http://habrahabr.ru/post/269119/

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

Следующие 30  »

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

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

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