• Стоит ли идти в веб-разработку?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Советую идти в мобильную НАТИВНУЮ разработку.
    Будете сразу делать приложения, взаимодействующие с веб-серверами и использовать все "железки" мобильного устройства по необходимости.
    И денег - больше платят за приложение, чем за обычную вёрстку.

    UPD: Вам нужно выучить основные принципы обмена данными по сети, чтобы чувствовать себя более увереннее.
    Ответ написан
    23 комментария
  • Замыкания в чем конкретно разница?

    @afanasiyz
    Javascript-разработчик
    поменяйте var на let - это быстрое решение.

    https://learn.javascript.ru/closures-usage

    а вот тут, в задачках - решение вашей проблемы
    Ответ написан
    2 комментария
  • Как правильно построить модульный SPA?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Положите в основу https://github.com/thiagobustamante/typescript-ioc чтобы у плагинов была возможность без особого труда получать доступ к различным компонентам системы.
    Typescript может работать в браузере https://github.com/Microsoft/TypeScript/wiki/Using... и обрабатывать обычный js код.
    разработчикам писать плагины для него

    https://github.com/Microsoft/monaco-typescript - наиболее продвинутый ts/js редактор для web
    Ответ написан
    2 комментария
  • Как преобразовать массив в объект?

    0xD34F
    @0xD34F Куратор тега JavaScript
    с помощью lodash

    const obj = _.fromPairs(_.map(data, n => [ n.name, n ]));

    на чистом js

    const obj = data.reduce((acc, n) => (acc[n.name] = n, acc), {});
    Ответ написан
    Комментировать
  • Чем опытнее разработчик, тем меньше соблюдается принцип KISS?

    Adamos
    @Adamos
    Чем опытнее разработчик, тем чаще, выполняя конкретную задачу, он понимает, что примерно такую уже решал. Поэтому опытный разработчик видит уровни абстракции, общие для многих решений. И описывает их так, чтобы потом, при решении очередной конкретной задачи, использовать написанное ранее с минимумом дополнительных усилий.
    Вы, не имея такого опыта, просто не понимаете, что все эти лееры, провайдеры и трейты - прекрасная возможность написать две строчки и быть уверенным в их работе там, где вы угробите два дня на написание "простого" решения, а потом еще неделю будете отлавливать его глюки.
    Ответ написан
    6 комментариев
  • Как сделать безопасную авторизацию с помощью JWT?

    @akass
    Developer
    https://gist.github.com/zmts/802dc9c3510d79fd40f9d...
    Отдаешь два токена и время жизни access token, которое обычно минут 30.
    Соответственно если угоняют access, то он стухнет через пол часа, а если угонят оба, то юзер не сможет обновить по реврешу, его кинет на перелогин и тогда у угонщика все стухнет.
    Ответ написан
    3 комментария
  • Какие преимущества у Appcelerator'а по сравнению с Phone Gap и что лучше использовать?

    ZimM
    @ZimM
    Phone Gap — это, грубо говоря, приложение в виде однооконного браузера, где добавили несколько простых API (уведомления, контакты и простенькие уведомления).
    Appcelerator же — SDK для разработки полноценных приложений. Кроме того, что API у него обширнее на порядок и затрагивает не только веб-технологии, основное отличие от Phone Gap в том, что он выдает также специфические API платформы. Так, например, на Андроиде можно пускать Ongoing уведомления, создавать фоновые сервисы, стандартные андроидовские меню (по кнопке Menu). В общем и целом, Appcelerator позволяет делать абсолютно полноценные сложные приложения с «родным» интерфейсом, учитывающим особенности и возможности платформы. Гляньте стандартный пример Kitchen Sink в Titanium Studio (IDE Appcelerator'а) — вопросы отпадут.
    Phone Gap же предназначен для разработки простых веб-приложений. Если вам необходимо и достаточно скомпилировать HTML5-приложение в приложение для Андроида — Phone Gap будет достаточно. В противном случае только Appcelerator. Имхо.
    Ответ написан
    Комментировать
  • Как создать очень простое мобильное приложение "на 1 раз"?

    sim3x
    @sim3x
    Цель: гость фотографирует QR код в гостинице и устанавливает приложение, цель - всегда наш телефон под рукой, всегда актуальные цены, ссылка на наш сайт, может фотки друзьям показать...
    не будет устанавливать
    не будет показывать
    цены будет смотреть на букинге или другом агрегаторе

    Сделайте мобайл-френдли сайт и продвигайтесь в таких агрегаторах
    Ответ написан
    3 комментария
  • Правда ли что программистам навязывают определенные мысли?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1)обязательно надо знать математику алгоритмы и тд(даже если это не используется)

    Если хочется выйти за рамки дешевой рабочей силы - да.

    2)надо работать бесплатно на первых порах

    Зависит от навыков самообразования. Кто-то уже в школе делает деньги, а кому то и после университета сложно найти работу.

    3)создавать open source проекты бесплатно чтобы показать всем свой код

    Скорее нет

    4)всегда думать о работе даже по выходным и тд

    Если хочется выйти за рамки дешевой рабочей силы - ДА.

    UPD:
    Реальность такова, что если вы хотите выйти за рамки дешевой рабочей силы - у вас ровно 2 способа это сделать:
    а) вы можете основать собственное дело
    b) вы можете в чужом деле вырасти из человека который пишет код, в партнера который решает проблемы бизнеса ( что в конечном счете эквивалентно предыдущему пункту)

    И то и другое подразумевает что вы перестаете разделять свою жизнь и работу.
    Вы, это и есть то дело, которым Вы занимаетесь. 24/7/365.
    И это к слову сказать справедливо для практически любой сферы, не только IT.
    Ответ написан
    11 комментариев
  • Совместимы ли хороший рейт, фултайм и long-term на фрилансе/удалёнке?

    Sanes
    @Sanes
    реально ли вообще заниматься кодингом столько часов (8 часов в день, 5 дней в неделю) на протяжении многих месяцев, лет?

    Нет конечно. По крайней мере продуктивно.
    Ответ написан
  • Как развить навык проектирования приложения или как стать Senior?

    @OldCrazyCoder
    Писать код. Читать код. Например, популярные опенсорсные проекты на гитхабе. Если очень уж книгу хочется, то вот минимальный джентельменский набор:
    1. Совершенный код. С. Макконнелл
    2. Чистый код: создание, анализ и рефакторинг. Роберт Мартин
    3. Приёмы объектно-ориентированного проектирования. Паттерны проектирования. Банда четырех))
    4. PHP. Объекты, шаблоны и методики программирования. Мэт Зандстра
    5. Рефакторинг: улучшение существующего кода. Мартин Фаулер
    И т.д. Книг крайне много. И статей много. И простое их чтение мало что даст. Практика, много практики. Критичное отношение к своему коду, однако без перегибов - не стоит упираться в перфекционизм.
    Ответ написан
    Комментировать
  • 16 лет. Идти во фриланс или начинать junior'ом в конторе?

    DevMan
    @DevMan
    на галеры. в смысле в контору.
    если контора нормальная:
    1. быстрее подростешь в проф.плане
    2. увидишь/поймешь как устроена разработка ПО
    3. прокачаешь коммуникационный скил

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Весь ваш план обучения никак не годится для получения знаний. Он годится только для ознакомления.
    Почему? Потому что в нем ВООБЩЕ нет практики, одно чтение книг.

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

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

    Пишите код, читайте требования к вакансиям, пишите код, ходите на интервью, изучайте вопросы, которые были на интервью, ходите на следующие интервью.
    Ответ написан
    Комментировать
  • Что делать, если человек не платит за сайт?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    Не рекомендую ничего делать с сайтом. Как бы ни было жалко работу, своя репутация дороже - это на случай, если вы хотите навредить.
    Но:

    1. Вы можете попробовать найти заказчика, для которого написан сайт, написать ему письмо или связаться другим способом и разъяснить, что вся работа по сайту на самом деле была сделана не студией, а лично вами. Можете вкратце пояснить, что студия с вами не расплатилась, и если заказчику нужны будут доработки, то пусть он связывается с Вами напрямую, а не через студию, которая вас "кинула".

    2. Сайт смело можно добавлять в свое портфолио и искать другую работу.

    3. Деньги жалко, но это всего лишь деньги и всего лишь один из тысяч эпизодов этой жизни. Постарайтесь взять от ситуации больше позитива. Испортить репутацию нехорошей студии можно и позже, когда вы поймете, что никаких других вариантов нет, а вы уже нашли другую работу и там вас оценили.
    Ответ написан
    1 комментарий
  • Почему это моветон?

    alsopub
    @alsopub
    "Точка следования" - alenacpp.blogspot.ru/2005/11/sequence-points.html
    Там есть почти ваш случай - x[i] = ++i;
    Значение не то чтобы не определено, компилятор в праве решить что сделать сначала - вычислить адрес x[i] или сделать ++i.
    Я так понял.
    Ответ написан
    1 комментарий
  • Vuejs и Angular аналоги? В чём разница?

    @vkdv
    1) vuejs - простой и ненавязчивый фреймворк который призван максимально просто и тесно взаимодействовать с произвольной версткой, в этом плане он очень похож на angular 1 , только проще, чище и чуть логичнее. При этом оп предоставляет инструменты для компонентного подхода(для фанатов клиента) и даже серверный рендеринг. На мой взгляд vuejs - это идеальное решение для быстрой разработки с допустимым уровнем качества.

    2) Backbone - это далеко не библиотека и он в прошлом. Его главный минус - это невозможность управлять поведением dom, если этот dom не был сформирован через backbone-engine. Что делает его почти бесполезным, если только ты не хочешь написать проект , который будет намертво зависеть от выбранного инструмента и в котором будет невероятное множество клинтских шаблонов

    3) React - это скорее концепция + движек для ее реализации, чем фреймворк Его существенный плюс в том, что верстка идет с изолированной логикой в паре, но это плюс скорее концептуальный , точно также можно поступать и используя jquery в изолированом скоупе прямо в верстке в html- фалах - виджетах (Я пробовал уже после реакта и это очень просто и надежно, но я fullstack и мне от клиента большего не нужно)
    Минус реакта в том, что верстка должна рендериться только через шаблонизатор реакта, это значит что весь проект нужно рендерить через реакт иначе же в проекте будет хаос.

    4) Ember - тоже говорят вещь хорошая, но я бы никогда не выбрал Ember по той же причине что и backbone.
    5) Riot и еще 50 подобных фреймворков похожи либо на Angular, либо подражают React, либо идут по пути Backbone&Ember или же какие-то "гибридные" со своими фишками.
    6) Angular 2 - я пока не понял его фишку.

    Если рассматривать весь этот зоопарк с точки зрения бизнеса - то лучше выбрать то, что максимально проще и либеральней
    Ответ написан
    Комментировать
  • Можно ли портировать адаптивный сайт в приложение?

    @LiguidCool
    Под ПК Electron, под мобильные Apache Cordova / PhoneGap.
    Ответ написан
    Комментировать
  • С помощью чего делается анимация на лендингах?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    JS:
    viewportchecker.js или wow.js на выбор
    CSS:
    animate.css, есть и другие, но эта самая популярная

    Я чаще всего использую связку viewportchecker + animate.css.

    $('.bxslider').addClass('hidden').viewportChecker({ // добавляем класс hidden
    // ждем появления блока в поле зрения, чтобы применить к нему анимацию
        classToAdd: 'visible animated fadeIn', // меняем классы, выполняем анимацию
        offset: '50%', // доп параметры, когда начинать анимацию
        repeat: true, // повторять при возвращении снизу вверх
    });

    PS: Классы hidden и visible нужно добавить в css.
    Если используете Bootstrap, то лучше классы сделать другие, чтобы не было конфликта.

    Преимущество подключения именно viewportchecker для меня.
    То, что его можно использовать для любых скриптов вообще, не только для анимации.
    Запуск видео, инициализация слайдера, "убийство" слайдера, особенно animateNumber.js ( описание ) удобно привязать, чтобы анимация цифр срабатывала не при загрузке, а именно в момент скролла до блока.
    И библиотека весит совсем немного.
    Ответ написан
    Комментировать
  • Как ответить на вопрос на собеседовании?

    @Fractalzombie
    Software Engineer
    Поставил бы зеркало напротив них. :)
    Ответ написан
    Комментировать
  • Правильный ли подход к адаптивной вёрстке?

    serjikz
    @serjikz
    web-developer
    Ну делать адаптив вам так никто не мешает и тут ничего такого вы особа и не описали. Есть 2 способа верстать адаптивно - сначала мобильную версию и из неё переходить в десктоп, либо обратно. Только так.

    На счет того, как организовать процесс - изучите БЭМ для этого дела. С ним хорошо верстать. Если ещё пользоваться препроцессорами какими-то - шикарно, а ещё если и сборщиками - вообще идеально (ну less/sass/postcss можно по-разному компилить вплоть до плагинов в редакторе).

    Как делаю я:
    1. Клепаю html полностью, естественно именую классы по БЭМ (можно посекционно делать - сделал секцию шапки, запилил стили, сделал секцию подвала и опять же запилил стили, кому как удобно)
    2. Создаю на каждый (ну или почти на каждый) БЭМ-блок свой .less файл.
    3. В каждом файле верстаю сначала моб версию, потом в нём же чуть по-ниже пишу нужные media
    4. Конечно же сборщиком всё собираю в 1 css файл и всё (сборщик работает, конечно, постоянно, чтоб компилировать из less в css ну и минимизировать сразу и автопрефиксить).

    Этап 3 можно делать подругому, к примеру делать отдельно media.block.less под каждый блок и всё это загонять в самый низ сжатого css, либо весь media делать в отдельном файле просто, всё зависит от того, на сколько много вам нужно писать media (у меня бывают простые проекты, где media нужно буквально 2-3 штуки в 50-70 строк кода максимум, для этого не вижу смысла всё в отдельные файлы блоков писать, пихаю просто всё в один).

    P.S. Конечно же отдельные файлы less для миксинов и переменных ну и основных стилей страницы.

    P.P.S Если вы не знаете препроцессоров - можно всё тоже самое делать и в обычном css, всё равно будет удобно. Раньше я считал дикостью такой подход. Сейчас без него жить не могу.
    Ответ написан
    8 комментариев