Javascript-форум (https://javascript.ru/forum/)
-   Работа (https://javascript.ru/forum/job/)
-   -   Front-end разработчик, работа удаленная или в офисе(Нижний Новгород), фуллтайм. (https://javascript.ru/forum/job/37625-front-end-razrabotchik-rabota-udalennaya-ili-v-ofise-nizhnijj-novgorod-fulltajjm.html)

VadimZharko 27.04.2013 16:17

Front-end разработчик, работа удаленная или в офисе(Нижний Новгород), фуллтайм.
 
Разыскивается JavaScript Front-end разработчик для постоянной удаленной работы в команде над клиентской частью проектов.

Требования:
- Уверенное знание JavaScript и понимание ООП.
- Знание и практическое применение jQuery.
- HTML5 и CSS3.
- Опыт написания толстых клиентов с использованием Backbone || AngularJS || ExtJS или другого.

Будет большим плюсом:
- Умение работы с git
- haml
- Примеры работ на github
- Опыт работы в команде

Работа с 10-00 - 19-00 (время московское). Оформление по ТК, ежеквартальные премии, отпуск 2 раза в год (соблюдение всех норм трудового законодательства) При желании - работа в офисе в Нижнем Новгороде, в центре города, ДМС.

Зарплата на руки от 40-60 тыс. руб.

Координаты для связи:
skype: vadim-zharko
email: vzharko [at] gmail.com

К сожалению вакансия не для джуниоров, таковые уже есть.
Большая просьба писать по вышеприведенным контактам, а не в тему, спасибо!

BallsShaped 27.04.2013 18:32

Я вот одного не пойму (извините за оффтоп). Почему почти во всех вакансиях первым пунктом пишут "понимание ООП".
На деле же, повсюду jQuery-каша. Кто-нибудь может привести пример сайта, написанного с применением ООП? Потому что походу их и не существует)

SV0L0CH 28.04.2013 01:53

Мне вот от безделия тоже захотелось пооффтопить, так что поведаю про понимание ООП.
ООП - один из паттернов программирования решающий следующие задачи:
* увеличить эфективнось разработки крупных и огромных проектов.
* изолировать отдельных разработчиков и команды друг от друга.
* избежать копипасты при повторном использовании кода.
* упростить использование уже существующего и скмпилированого, но требующего модификаций кода.
* ускорить подключение к процессу разработки новых людей.
Все эти задачи были сформулированы через следующие понятия: инкапсуляция, наследование, полиморфизм и абстракция.
Абстракция хоть и является важнейшим понятием, однако на столько тесно связана с тремя другими, что её можно игнорировать дабы не плодить сущности.
Однако это не ООП, всё перечисленное свойственно и ФП и не только.
Для ООП нужно понятие объекта, иначе откуда название. Само это понятие по сути бесполезно как средство решения задачь стоящих перед управленцами. Это всего лишь паттерн под них подогнаный.
Так как определения объекта сильно разняться, его иногда игнорируют, но тогда остаются 3 изначальных понятия и тогда выходит что ФП - один из способов реализовать ООП.
Упомянутые в википедии понятия класса и прототипа вообще сложились исторически и так же являются более узкими паттернами.
Идеальным ООП языком является Haskell, там объекты - типы, у типов могут быть классы, классы связаны множественным наследованием. Типы так же параметриризуются, что есть полиморфизм. Инкапсуляция там тоже есть, но не относится непосредственно к типам, она реализована на уровне функций и модулей.
С чем же мы имеем дело на самом деле? А это Славарно-Ориентированое Программирование. У нас основа - словарь с ключами строкового типа. Даже простейшие типы данных как числа и троки ведут себя как словари. Так что если это и будет ООП, то будет основано на словарях. Однако то что принято считать ООП не раскрывает всех возможностей словарей и иногда даже вредит. Прототипы и метатаблици(lua) полезны, но чаще стоит отдавать преймущество миксинам.
Существует много паттернов которые хорошо ложаться на словари, ООП только один из многих.

DjDiablo 28.04.2013 19:22

Цитата:

Сообщение от BallsShaped (Сообщение 248330)
Я вот одного не пойму (извините за оффтоп). Почему почти во всех вакансиях первым пунктом пишут "понимание ООП".
На деле же, повсюду jQuery-каша. Кто-нибудь может привести пример сайта, написанного с применением ООП? Потому что походу их и не существует)

jQuery очень маленькая библиотека. ООП применяется на более крупных приложениях и библиотеках.

Примеры использования ООП в фреймворках
jQuery UI
jQueryMobile
ExtJs
Dojo
и тд

Причём все выше приведённые фреймворки имеют свои функции для наследования (включая jQueryUI).

к библиотекам которые используют родной прототипное наследование (это тоже ооп) можно отнести threeJs - 3d движок, и easelJs - 2d движок для flash подобных приложений.

Соответственно все крупные приложения созданные с участием фреймворков тоже используют ООП.

jQuery каша используется в низкопробных дешёвых и несложных приложениях и сайтах, которых естественно большинство. Главный недостаток каши, это то что в сложном приложении в какой-то момент каша становится настолько сложной, что с ней невозможно дальше работать. Возникает потребность в организации кода, и как правило инструментом организации выступает ООП.

monolithed 28.04.2013 21:24

BallsShaped, SV0L0CH, DjDiablo
ООП это не только устоявшийся термин и парадигма, но и часть любого объектно-ориентированного языка.

Dim@ 28.04.2013 21:29

monolithed,
Здрастье кэп пришёл:-E , понятное дело что Объектно Ориентированное Программирование является частью любого объектно-ориентированного языка

BallsShaped 28.04.2013 22:06

Так-то оно так. Только не совсем. Допустим, что в данной вакансии об ООП вообще, но вот в соседней теме явно требуется знание "особого наследования" (это, очевидно, толерантное обращение к неполноценному), которое, кстати, почти всегда идет в паре с замыканиями:)
И да, опережая кэпа, я понимаю, что это просто шаблон. Мне просто это доставляет.

DjDiablo 29.04.2013 01:36

ООП это не шаблон, ООП это парадигма.

Шаблон это устоявшаяся практика
А парадигма это система идей и понятий.

Можно даже по причинности и порядку возникновения расписать.

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

Иными словами парадигма первична, и существует ещё до рождения языка. А шаблон появляется в результате обобщёния опыта использования языка. Конечно в результате того что современные языки используют в основном одни и теже парадигмы, то и большинство шаблонов можно переносить с языка на язык.

И здесь важно понимать что ООП это не шаблон, это философия вложенная в сердце языка ещё на этапе его проектирования.

VadimZharko 29.04.2013 09:03

Ребят, всем спасибо за внимание! Тему можно закрыть.


Часовой пояс GMT +3, время: 14:04.