
Oleg
02.03.2017
11:51:08


Anton
02.03.2017
14:07:52
Anton Shtin, [2 марта 2017 г., 19:06]:
Главный архитектор SmartTV
Дом.ru TV — высокотехнологичный сервис, которым ежедневно пользуются десятки тысяч людей.
За нашими продуктом стоят инженеры, страстно любящие своё дело.
У нас есть фанаты программирования и те, кому интересны тонкости работы операционных систем, разработчики хранилищ данных и эксперты в настольных и мобильных приложениях, специалисты в методах статистического анализа и классификации данных, архитекторы высоконагруженных сервисов.
В команду Дом.ru TV требуется системный архитектор для участия в проектировании, развитии и эксплуатации SmartTV приложения.
Присоединившись к нашей команде вы получите:
Работу на HighLoad проекте федерального масштаба, сейчас у нас более 500 000 активных пользователей
Вы хорошо знакомы с PHP или ASP.NET и хотите расширить свой горизон компетенций? С нами вы научитесь общаться с JavaScript на ТЫ
С нами вы будете не только читать зарубежную техническую литературу, но и вести диалог с зарубежными партнерами на английском
Задачи:
Запуск приложения HTML5 приложения для телевизоров SmartTV совместно с партнерами ЭР-Телеком Холдинг
Развитие направления SmartTV с нуля
Техническое руководство проектом
Формирование команды проекта
Проектирования архитектуры взаимодействия с внешними системами (Samsung Store, LG Store)
Управление проектом
Организация процесса разработки и взаимодействия на основе методологий: Agile, Kanban, SCRUM
Внедрение системы автоматического тестирования (функциональное тестирование, Unit тестирование)
Внедрение Continuous Integration
Ведение технической документации
Ведение задачи от идеи до запуска и эксплуатации
Требования
Высшее техническое образование
Опыт программирования на JavaScript, от 2-ух лет
Понимание принципов построения высоконагруженных и отказоустойчивых сервисов
Знание паттернов программирования: MVC, MVP, MMVM
Знание OS Linux на уровне уверенного пользователя
Способность написания надежного и безопасного кода
Практика тестирования написанного кода
Понимание основных паттернов проектирования приложений
Понимание автоматизации тестирования (функциональное тестирование, Unit-тестирование, нагрузочное тестирование)
Плюсами будут:
Опыт асинхронного программирования
Опыт работы с Node.js и NMP
Опыт создания Unit-тестов
Опыт создания автоматических функциональных тестов
Опыт создания Continuous Integration
буду рад ответить на вопросы


Артем
03.03.2017
14:19:26
Привет не подскажите почему не вызывается директива рекурсивно, плиз
вот
<head>
<script type="text/javascript" src="{% static 'js/lib/angular.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/lib/angular-resource.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/app.js' %}"></script>
<script type="text/ng-template" id="categorys-tree">
<p>{$ item.id $}</p>
<p>{$ item.text $}</p>
<div ng-if="item.child">
<div ng-repeat="item in item.child" ng-include="'categorys-tree'"></div>
</div>
</script>
</head>
<body>
<div ng-repeat="item in items | orderBy: '-date_' track by $index" ng-include="categorys-tree">
</div>
</body>
items определен в контроллере

Mikhail
03.03.2017
14:24:31
В scope попадает item?

Google

Mikhail
03.03.2017
14:25:51
Отдебажьте item.child

Артем
03.03.2017
14:29:38
то что в хедере ничего?
и под апом моим

Mikhail
03.03.2017
14:31:10
Я б сделал в дочернем элементе инклуд, либо заюзал ui-route
Инклуды в проектах не юзал, поэтому хз

Артем
03.03.2017
14:32:29

Mikhail
03.03.2017
14:33:04
Цикл в body
Вот в него и в нём бы отдебажить
Может вообще не лупится

Антон
03.03.2017
15:14:18
всем привет, нужно повесить обработчик события на кнопку при загрузке страницы, window.onload не работает

Каїн
03.03.2017
15:18:40
Ой
Попробуй ng-init

Google

Антон
03.03.2017
15:19:21
поподробнее пожалуйста, гугл подводит

Каїн
03.03.2017
15:19:47
Или в конструкторе контроллере

Виктор
03.03.2017
15:19:48
ng-init

Каїн
03.03.2017
15:20:12
Хотя
Тут есть подвох
Нету именно ивента onload в ангуляре
Есть или init директива или stateReady в router

Mikhail
03.03.2017
15:21:06

Виктор
03.03.2017
15:21:06
Зачем вообще такое делать? Почему просто на кнопку не повесить функцию?

Mikhail
03.03.2017
15:21:25

Антон
03.03.2017
15:21:34
мне в контроллере одной директивы нужно повесить событие на кнопку другой

Каїн
03.03.2017
15:21:40

Антон
03.03.2017
15:21:49
потому что ту другую трогать нельзя

Каїн
03.03.2017
15:21:56
Вызывай что с одной директивы метод что со второй

Антон
03.03.2017
15:23:26
совершенно верно

Каїн
03.03.2017
15:23:37
Совершенно не верный подход
Вынеси общее в общую фабрику и инжекти во все места

Антон
03.03.2017
15:23:59
при клике нужно сначала что-то сделать, потом вернуть клик))

Google

Антон
03.03.2017
15:24:06
типа сервис отдельный сделать?

Mikhail
03.03.2017
15:24:17
$('...').triggerEvent('click')

Каїн
03.03.2017
15:24:28
Хочешь сервис, но лучше фабрику
.factory

Антон
03.03.2017
15:24:52
понял, попробую

Каїн
03.03.2017
15:25:17
Просто потом у тебя появится необходимость удалить предыдущую директиву
А метод то не общий был

Mikhail
03.03.2017
15:25:39
Наркоманы

Каїн
03.03.2017
15:25:40
Короч спагетти код в котором все связано
Какой тригер

Антон
03.03.2017
15:26:07
приложение от госзаказчика на 100к строк кода, так что ничего я тут удалять не буду))

Каїн
03.03.2017
15:26:21
На худой конец rootScope.broadcast

Каїн
03.03.2017
15:26:58
И вместо прямого вызова писать listener. Но это асинхронности добавит что не оч

Антон
03.03.2017
15:27:04
так я не могу лезть в контроллер той директивы которая мне кнопки выводит

Каїн
03.03.2017
15:27:48
Почему? Кто то запрещает улучшать код?
Только костыли разрешают? :))
А как ты параметры передашь если появятся? Клик то только дергнет метод

Антон
03.03.2017
15:28:42
вроде того, есть уже готовый фреймворк который нельзя изменять, но нужно использовать встроенные в него элементы

Каїн
03.03.2017
15:29:24
Ты уверен что тот метод что тебе нужен объявлен в контроллере другой директивы а не вынесен в фабрику ?

Антон
03.03.2017
15:29:25
мне ничего не нужно передавать, всё уже работает, я просто не могу вовремя взять эти кнопки чтобы повесить событие

Google

Антон
03.03.2017
15:29:51
да

Каїн
03.03.2017
15:31:20
А в той директиве ивент листенер или ng-click?

Admin
ERROR: S client not available

Антон
03.03.2017
15:31:42
ng-click

Каїн
03.03.2017
15:32:19
А директива вложена в твою или вообще где то параллельно?

Антон
03.03.2017
15:32:45
отдельно, в другой части страницы

Каїн
03.03.2017
15:32:56
Мдашечки
Чтоб ангуляр нормально дёрнул все события angular.element(selector).click()
'''angular.element('#myselector').triggerHandler('click');'''
Через жквери лучше не тригать, он никак не связан с а

Антон
03.03.2017
15:35:45
что вообще делает триггер?

Каїн
03.03.2017
15:35:48
Но так себе решение
Вызывает событие
http://api.jquery.com/triggerhandler/

Антон
03.03.2017
15:36:46
то есть он сработает после загрузки того элемента?
да, уже читаю, спасибо

Каїн
03.03.2017
15:37:01
Если ты обвернёшь в тайм-аут все
Обязательно в тайм-аут
http://stackoverflow.com/questions/22447374/how-to-trigger-ng-click-angularjs-programmatically
Потому как если без него не будет элемента

Google

Антон
03.03.2017
15:37:55
у меня так и обёрнуто в тайм аут, но я же не могу адекватно вычислить какой тайм аут будет у других пользователей

Каїн
03.03.2017
15:39:40
Зачем вычислять? Тайм-аут поставит твой код в очередь выполнения - так как это $таймаут - по-любому он ещё и с приоритетом директив связан
Хотя хз, я сорсы именно тайм-аута не смотрел

Антон
03.03.2017
15:40:05
а, точно, ангуляровский таймаут я не пробовал

Каїн
03.03.2017
15:40:32
Короч у тебя точно выполниться код когда весь бутстрап ангуляровских директив исполнится

Антон
03.03.2017
15:41:34
вот этот момент мне и нужен

Каїн
03.03.2017
15:42:15
Вот именно обвернуть калбек link тебе нужно в $timeout
Не весь, а наверное только то что связанно с кликом
Поставь только не 0 а хотя бы 100

Антон
03.03.2017
15:43:18
ангуляровский таймаут отлично сработал, вообще без времени

Каїн
03.03.2017
15:43:26
Лучше с
Чем - не помню