• В чем практическая польза итераторов в JS?

    search
    @search
    мама говорит что я особенный
    Полезность итераторов в том что это открытый интерфейс для любой структуры данных. Как вы уже поняли, любой класс/объект в JS может обладать интерфейсом итератора. Идея итератора в том чтобы скрыть внутреннее представление структуры данных от потребителя этих данных. Например, если вы работаете с какими-либо замысловатыми структурами данных, типа бинарных деревьев. Пользователю совсем не обязательно знать как ваш класс/объект хранит бинарное дерево. Пользователь просто его получает и проходит по всем его элементам в цикле. В дальнейшем, вы можете, при необходимости, заменить одну структуру данных на другую, не меняя самого пользователя. Например, вы можете заменить бинарное дерево на б-дерево прозрачно для самого пользователя (пользователь не будет знать что вы подменили структуры, он по прежнему получает что-то что можно проитерировать и ему этого достаточно).

    Для того чтоб глубже понять суть вопроса, можно погуглить про инкапсуляцию и SOLID (в вашем случае, принцип Open/closed).
    Ответ написан
    1 комментарий
  • Какова суть генерации своих событий в JavaScript?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Попробую на пальцах объяснить.

    Событие – это конверт, на котором написано его название. Внутрь конверта можете вложить что-нибудь, а можете оставить конверт пустым.

    Элемент – это столик. Кто угодно может подойти и положить на столик свой конверт.

    Слушатель – это мужик, который топчется около столика и смотрит, нет ли чего с интересующим его названием. Может несколько человек поджидать конвертики с определённым названием – прочтут все, если только в конверте не написано «по прочтении съесть» – тогда кто-то съест и дальше не передаст.

    Как создать/отправить конверт. В любом месте кода создайте конверт и дайте ему название: var myEvent = new Event('teaTime'); Остается положить конверт на нужный столик:
    document.getElementById('stolik').dispatchEvent(myEvent);


    Чтобы в событие вложить какие-то данные, нужно использовать другой конструктор и передать нагрузку в поле detail:
    var event = new CustomEvent('saySomething', { detail: "Hello there!" });


    Для чего нужно создавать свои события? Чтобы развязать куски кода. Например, в разных местах документа можно нажать на кнопку повторяющегося виджета. Виджет создаст на document событие "widgetClicked". А ещё несколько одинаковых компонентов в странице, слушающих document на предмет события "widgetClicked", получат пинок и что-нибудь вытворят.
    Ответ написан
    2 комментария
  • В чем преимущества использование GraphQL чем ручками?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Первая же ссылка в Google по запросу "GraphQL REST" - Сравнение REST и GraphQL. В конце статьи перечислены теги, если клацнуть по тегу "graphql" вывалится ещё 40 подобных публикаций.

    Только я не понимаю, почему вы противопоставляете соглашение о форме обмена данными GraphQL с написанием "API ручками". Неважно, какая форма обмена у вас выбрана - SOAP, REST, GraphQL, обработчики запросов всё равно придётся писать, автоматом за вас никто ничего не сделает.
    Ответ написан
  • Какой движок посоветуете для такой игры?

    tema_sun
    @tema_sun
    Выглядит очень симпатично и похоже на то, что делают на Unity. Я бы с него начал.
    Ответ написан
    Комментировать
  • Как начальник может контролировать фрилансера по часам удалённо?

    @spaceatmoon
    Не позволяйте ставить вас в положение должника.

    Как и сказали многие, работа на удаленке != в офисе. Тут выйдет даже больше чем вы привыкли. Плюс у вас начальник к вам доверия не испытывает никакого, раз он согласен просматривать ваши скриншоты деятельности за весь день, что для нормального начальника это абсурд и трата его драгоценного времени.
    Оставайтесь в офисе лучше. Там вы будете работать от силы 4 часа, а на удаленке все 8. При этом на удаленке придется симулировать деятельность аж каждые 10 минут, очень неудобная система.
    Ответ написан
    2 комментария
  • Как начальник может контролировать фрилансера по часам удалённо?

    Stalker_RED
    @Stalker_RED
    т.к. я сижу сейчас на окладе, а если пересяду домой, то логично возникает почасовая оплата
    Почему логично? Кто мешает оставаться на окладе, если это устраивает обе стороны?

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

    jeerjmin
    @jeerjmin
    Почему никто не сказал про javascript?
    Node.js, React никто не отменял и вы думаете js community на этом остановится? Ха
    Ответ написан
    2 комментария
  • В чём причина постоянного переделывания кода?

    titov_andrei
    @titov_andrei
    All my life I learn - and die a fool!
    Ремонт ЗАКОНЧИТЬ нельзя — его можно только ПРЕКРАТИТЬ.
    https://www.inpearls.ru/
    - © Михаил Жванецкий
    Ответ написан
    Комментировать
  • Как начать работать удаленно или фрилансить, если даже проекты по мизерной цене вызывают затруднения?

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

    Терпения вам и удачи.
    Ответ написан
    Комментировать
  • Как начать работать удаленно или фрилансить, если даже проекты по мизерной цене вызывают затруднения?

    opium
    @opium
    Просто люблю качественно работать
    Учиться, учиться и ещё раз учиться.
    Если вы не умеете работать и сами научиться не можете то пойдите поработайте стажером в какую нибудь фирму, лучше в вебстудию у них довольно все потоково и более менее все стандартизировано в разработке.
    Ответ написан
    Комментировать
  • Как начать работать удаленно или фрилансить, если даже проекты по мизерной цене вызывают затруднения?

    @jkotkot
    режим сарказма
    Мне кажется, что будучи джуниором лучше идти работать в офис, где можно быстрее набираться опыта в деле и коммуникациях, работая со старшими коллегами.
    Ответ написан
    Комментировать
  • Как начать работать удаленно или фрилансить, если даже проекты по мизерной цене вызывают затруднения?

    @abcd0x00
    Когда я пришёл на odesk.com, мне казалось, что там легко заработать. Но потом оказалось, что там надо заниматься менеджментом, всякими общениями, убеждениями.

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

    Где-то на середине заказчик пропал, но я решил это дело доделать, причём на совесть (с юнит-тестами, sqlite'ом - со всей хренью в общем).
    Когда я сделал это всё, я понял, что я ничего не смыслю в реальной работе.
    Сайт оказался сломанным - многие теги, которые должны иметь закрывающие, их не имели. Там даже страницы без закрывающего < /html> были. Он был сломан не только в плане HTML, но ещё и в плане навигации - циклились ссылки.

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

    Из-за этого я больше там не ищу заказы, так как просто не потяну, а уронить звёздочки из-за такой мелочи не хотелось бы.
    Ответ написан
    4 комментария
  • Как начать работать удаленно или фрилансить, если даже проекты по мизерной цене вызывают затруднения?

    @a1exkos
    Я вам вот что скажу. Во-первых, забудьте про PHP.
    Во-вторых, забудьте про PHP.
    В-третьих, попробуйте забыть про PHP.

    Если первые три варианта не сработают, то забудьте про PHP, вычеркните его из резюме и ни кому не рассказывайте о том, что вы его знаете и уж точно о том, что вы его знаете на супер уровне.

    Вы, возможно, спросите "Почему?". А я вам отвечу, на пхп кодят почти все. Это пол миллиона индусов, пара сотен тысяч русских, пара десятков тысяч украинцев, ну и по остальному миру еще несколько миллионов точно соберется. И каждый из них бьет себя в грудь, что он уверенно знает PHP.

    Вот если бы вы сказали - "Я знаю Кнута наизусть все N томов и могу начать писать на любом языке через 2-3 недели на уровне выше среднего, но я не могу найти работу", то я бы и правда задумался о несправедливости этого мира. А так, смиритесь, вы 1 из нескольких миллионов.

    По сабжу - выберите другой язык, займитесь базовыми знаниями. Забудьте про движки и пхп, нормальных денег вы не заработаете, а горя отхлебнете не мало. Лучше уж озадачиться разработкой мобильных приложений мультиплатформенных или чего-то в этом роде, если нет желания копать серьзные вещи.
    Ответ написан
    9 комментариев
  • Как начать работать удаленно или фрилансить, если даже проекты по мизерной цене вызывают затруднения?

    MegaMufa
    @MegaMufa
    Я бы посоветовал вам устроиться на некоторое время работать в офис. Работа в команде очень сильно помогает поднять свой уровень. В этом есть несколько плюсов:
    1. У вас всегда под рукой есть ментор, который может подсказать как решить поставленую перед вами конкретную задачу. Знания, получаемые таким образом, усваиваются намного лучше. Вы лучше понимете, как применять свои навыки.
    2. К окманде работает несколько человек, каждый со своим мнением и кругозором. Общение на обеде, за кофе и на обсуждениях проектов поможет ваам расширить свой профессиональный кругозор. Вы узнаете про многие технологии. В данный момент они вам не понадобытся, но вы будете знать о них, во время принятия решений в будущем.
    3. Устраиваясь на работу в офис стажером (или новичком, в общем неопытным специализстом), вы ставите в известность своего работодателя. Он в замен на пониженый оклад (у начинающего программиста ЗП, конечно ниже), помогает вам обучаться, выделяя вам ментора и давая практику.
    4. Вы преобретаете опыт решения реальных кейсов. В дальнейшем вы будете знать, как решается большинство типовых задач.
    5. В спокойной, но реальной обстановке получите опыт обучения "на лету" и поиска нужного материала.

    Я, когда начинал, тоже страдал такой проблемой. Год работы в комманде из 7 программистов стал для меня сильнейшим рывком. За этот год я поднялся больше, чем за предядущие три года самообучения. Поработал, получил опыт (и кучу положительных эмоций от общения с коллегами), потом спокойно перешел на удаленку.

    Мой вам совет: поработайте некоторое время в команде.
    Ответ написан
    6 комментариев
  • Как выровнять блоки по высоте на JQUERY, каждый ряд по высоте максимального блока в нём?

    JaredWinter
    @JaredWinter
    Помог? - Отметь решением.
    А чего Вы, сделайте с помощью flex. Зачем Вам jQuery?
    Ответ написан
    2 комментария
  • Где взять практику программисту?

    @younghacker
    А вы уверены что вы программист?
    У меня идеи были раньше навыков программирования и раньше знания языков.
    Что программировать даже вопросов не возникало.
    Придумывал задачу и писал. Сталкивался с проблемой - брал
    дизассемблер, отладчик и смотрел как это решают другие.
    Читал исходники чужих широко известных библиотек.
    Красивый, понятный, изящный код. Это же кайф, как поэзия!

    Практику можно только напрактиковать! :)
    Тренировка во сне - пока что возможна только в кинематографе.
    Ответ написан
    2 комментария
  • C чего начать изучение JavaScript опытному верстальщику?

    @asd111
    Ангуляр сложный. Лучше глянь vuejs. После jquery он более понятен чем другие js фреймворки. И поэтому учится быстрее. React тоже норм но vue проще.
    https://vuejs.org/
    И ещё один аргумент в пользу vuejs - у него 75к звездочек, а у ангуляра 57к.
    Ответ написан
    8 комментариев
  • Как оптимизировать видео, вставляемое в качестве фона?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Уменьшите битрейт и разрешение видео.
    Переместите метаданные в начало mp4 контейнера
    Установите preload="metadata"
    htmlbook.ru/html/video/preload

    Чтобы пиксели в глаза не бросались наложите на видео сеточку из маленьких черных точек
    https://jsfiddle.net/soumyabg/wefLyrhp/
    css background dotted overlay
    Ответ написан
    5 комментариев
  • Можно ли выложить ReactJS на nginx?

    @Aves
    Нужно настроить nginx примерно так:
    location / {
        root /var/www;
        index index.html;
    
        try_files $uri $uri/ /index.html;
    }

    И в index.html указать <base href="/"> для того, чтобы относительные пути работали.
    Ответ написан
    Комментировать