• С чего и где начать обучению React, Redux?

    Antonoff
    @Antonoff
    Разработчик
    ReactJS Program - Отличный сайт, сам там сейчас изучаю React + хорошее Slack сообщество, где можно задать вопросы! Есть и бесплатные курсы.
    Ответ написан
    Комментировать
  • Что мой провайдер знает обо мне?

    @nirvimel
    Когда я захожу на определенный сайт, провайдер видит URL?

    Да.

    А если я захожу на https?

    Известен IP сервера и имя домена. Больше ничего.

    Откуда провайдер узнает, что я скачиваю определенный фильм/программу через torrent?

    Торрент-клиент общается с трекером по HTTP. Все видно насквозь: конкретные торренты + вся статистика (когда начато скачивание, когда закончено, когда пошла раздача, сколько роздано). Возможно подключение к трекеру и по HTTPS, но rutracker.org такой возможности не дает (мне тоже интересно почему).

    Все пакеты которые я получаю и раздаю значит провайдер скачивает себе, чтобы узнать что это за фильм/программа?

    Провайдер не хранит у себя весь трафик. Это технически невозможно. Но трафик обрабатывается, классифицируется и ведутся логи о том какой тип трафика когда входил/уходил от абонента.

    Или он отслеживает факт скачивания .torrent файла, а затем делает вывод по идущим пакетам, что это скачивается?

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

    Когда я пользуюсь VPN, что видит провайдер?

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

    Что я зашел на определенный IP и с него идут зашифрованные потоки?

    Дальнейшее направление трафика от VPN-сервера отследить невозможно (по крайней мере, на оборудовании провайдера в автоматическом режиме). Но при целенаправленной слежке за абонентом в принципе возможно по временным меткам сопоставить трафик абонента с трафиком любого сервера.

    OpenVPN будет работать через VPN IP и в браузере и при обновлении Windows, драйверов, ...?

    В зависимости от настройки. Но в общем случае, да, так.

    Читал, что в Windows есть такая особенность, что если провайдер как-то урезает пакет, то VPN отключается и сайту показывается мой реальный IP?

    Это не связанно с провайдером. Это особенность Windows. Когда VPN отваливается, весь трафик вылетает наружу в открытом виде. Опять же зависит от настроек. Но это еще одна цена "удобства" при использовании Windows.

    При этом провайдер видит на каком я сайте, что скачиваю?

    VPN отвалился - хацкер спалился.

    Таких фишек много?

    Смотря о чем речь. В сфере сетевой безопасности и анонимности различных нюансов вообще много.

    Как от них защитится?

    Учить мат.часть. Разбираться в сетевых протоколах и в устройстве ОС.

    Если пользуюсь каким-то расширением типа ZenMate, dotvpn, провайдер аналогично как и с VPN видит что что-то отправляется и приходит на определенный VPN IP?

    Расширения очень разные. Они могут базироваться на совершенно разных технологиях. Ни один специалист вам не скажет за все расширения. Не исключено, что многие из них, по сути - honeypot, то есть созданы с целью слежения за любителями анонимности, привлекают своим удобством и дают ложное чувство безопасности.

    При использовании Tor, кто-то пользуется моим IP, пока я пользуюсь чужим?

    Нет. Если у вас не сконфигурирован Exit Node.

    Что при этом видит провайдер, что я получаю потоки данных с определенных IP и каждый раз разный IP?

    У них есть система точного обнаружения использования Tor. Это факт остается в логах с теми же последствиями, что и для VPN.

    Провайдер видит URL?

    Через Tor и VPN - нет.

    Каким образом можно полностью управлять сетью на ПК, видеть что, куда и когда отправляется или приходит на ПК (Windows, Linux)?

    Видеть все: https://www.google.com/search?q=Wireshark
    Блокировать все лишнее: https://www.google.com/search?q=Comodo+Firewall
    Ответ написан
    22 комментария
  • Как сделать календарь на Angular 4?

    @hellpirat
    Full stack developer (Python/Django, React.js)
    Для календаря использовать например вот это - https://fullcalendar.io/
    Алгоритм действий примерно такой:
    1) на express + Mongo разработать бэкенд, где Вы будете хранить данные о записях в календаре.
    2) Через ngrx получать данные с бэкенда и выводить на фронтонде.
    3) Например по клику на дату/ место на календаре открывать модалку с формой добавления записи - отправить и сохранить на бэкенде.

    По поиску инфы - можно погуглить что-то типа express rest api первые 2-3 ссылки думаю будет достаточно для старта. Ну и по angular 4 - гуглить что-то типа angular http / angular ngrx
    Ответ написан
    Комментировать
  • Где получить практику применения JS для создания веб-сайтов?

    Alexlexandr
    @Alexlexandr
    Если хотите, у меня есть небольшая задача.
    Нужно делать парсинг файлов , размер всегда стандартный, восемькилобайт.
    Там записан архив журнала работы устройства за месяц или около того.
    Нужно выбирать из него данные, строить из них графики.
    Отмечать точки дискретных событий (Вкл, Выкл, Авария питания, Пуск, Стоп, превышение давления и т.п.)
    Все это представить в графическом виде.
    И в табличном виде (с сортировкой по времени или по времени и типам событий).

    Файл должен загружать на страничке сервиса пользователь. Хранить файлы не нужно, но результаты обработки нужно выгружать пользователю.
    В виде картинок графиков.
    И цифровом виде, например в виде таблицы Excel.
    Логиниться тоже не нужно.
    Можем прикинуть сроки и деньги. И вы попробуете силы на реальной задаче.
    Ответ написан
    2 комментария
  • Как выбрать первые 3 элемента?

    @Froggyweb
    Очень прикольный миксин для таких случаев lukyvj.github.io/family.scss под scss есть под Stylus
    Ответ написан
    2 комментария
  • Как сделать VK виджет адаптивным?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Беру код примера и объясняю.
    <div id="vk_widget">
        <div id="vk_groups"></div>
    </div>
    <script type="text/javascript" src="//vk.com/js/api/openapi.js?116"></script>
    <script>
        function VK_Widget_Init(){
            document.getElementById('vk_groups').innerHTML = "";
            var vk_width = document.getElementById('vk_widget').clientWidth;
            VK.Widgets.Group("vk_groups", {mode: 0, width: vk_width, height: "241", color1: "2B2B2B", color2: "FFFFFF", color3: "2B2B2B"}, 26292363);
        };
        window.addEventListener('load', VK_Widget_Init, false);
        window.addEventListener('resize', VK_Widget_Init, false);
    </script>

    Ошибка тут: width: vk_width
    Сделайте width: auto
    А для блоков укажите размеры 100%
    #vk_widget, #vk_groups {
        width: 100%;
    }

    Иногда скрипт не обрабатывает auto, можно попробовать в кавычках 'auto'.
    Ответ написан
    3 комментария
  • Как добавить 3Д-тур из гугл карт на сайт?

    Moskus
    @Moskus
    Вы через неправильную ссылку заходите.
    Эти туры привязаны к бизнесу (стоматологии), как 3D-фото на карточке бизнеса в Google Maps, а не как изображения StreetView. Потому нужно:
    - открыть Google Maps на том месте, где находится бизнес
    - щелкнуть на маркере бизнеса на карте и попасть на его карточку
    - нажать на искомое фото на карточке и попасть на страницу, которая очень похожа на ту, на которую вы ссылаетесь в вопросе, с одной разницей - она связана с конкретным бизнесом и его положением на карте.
    - Найти в верхнем левом углу темный прямоугольник, где написано "Гиппократ" и справа - кнопки в виде маркера и вертикального троеточия, нажать на троеточие
    - Выбрать подменю Share or embed image и закладку Embed image (не знаю, как это будет написано, если у вас русскоязычный интерфейс)
    - Выбрать размер и скопировать получившийся код iframe, далее - вставить его себе на сайт.
    Ответ написан
    Комментировать
  • Как статика генерируется сервером и какова механика переключения страниц на Ajax?

    djQuery
    @djQuery
    "Кодируем помаленьку" ("Сказка о Тройке")))
    Не очень понятны вопросы. Сервер в любом случает отдает статику, включая js. Отданная сервером информация загружается в браузер, скрипты выполняются по заданному событию опять же в браузере.

    Иными словами:

    Сервер:

    <p>Lorem ipsum</p>
    <?php
    $a= 2;
    echo $a * 2;
    ?>


    В браузере:

    Lorem ipsum
    4

    Механика переключения страниц в общем виде выглядит так:

    <div id = "page">
    ......
    </div>
    <a id="new-page">Следующая страница</a>
    
    <script>
    $("a#new-page").on("click", function(){
      $(this).preventDefault();
      $.ajax(
        url: url_обработчика на сервере, // сервер возвращает data ===  т.е. содержимое новой страницы
        {
          action: "new_page"
        },
       success: function( data ){
          $("#page").html(data);
       }
      )
    })
    
    </script>


    На сервере:

    <?php
    if ( $_POST['action'] == "new_page") {
      // формируем содержимое страницы:
     $page = "<p>Some content</p>";
      echo $page;
    }
    ?>


    Вуаля! Содержимое страницы обновилось без епергрузки!
    Ответ написан
    2 комментария
  • Найти работу web-программистом в Америке/Майами/NY?

    Спроси Петра - недавно с ними была колонка на ЦП, где неплохо все объяснялось. Попробуйте прислать туда резюме.

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

    У меня есть пара знакомых, которые уехали в начале 2000-х по программе "ворк-енд-тревел" от универа и не вернулись - оставались там нелегалами какое-то время, легализовались через браки.

    Есть еще вариант попробовать уехать через учебу в Школе Портнова. У него на ютуб-канале много роликов на эту тему.
    Ответ написан
    9 комментариев
  • Какие руководства по созданию тем на WP вы знаете?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Ну для начала надо научиться пользоваться поиском в интернете.
    Ищем на youtube - wordpress создание темы с нуля (и подобное) - выводим видео за последний год.
    Находим сразу же ответ.
    Вот к примеру плейлист из 21 урока по созданию тем...
    Ответ написан
    Комментировать
  • Как передать данные в компонент VueJS 2?

    landen13
    @landen13
    frontend-developer
    Данные в компонент передаются только посредством props. Судя по коду, Вы неплохо так запутались :)

    Посмотрите внимательно примеры в документации, там все очень хорошо написано и показано.

    Если кратко:
    Данные передаются через props. Принимаемые props изначально должны быть прописаны в компоненте.
    Весь компонент должен быть описан в импортируемом .vue файле.
    Далее он регистрируется глобально через Vue.component('my-header', myheader); (либо локально - способы регистрации компонента есть в документации).
    Также должна быть обертка вокруг Ваших my-header и my-footer, например #my-app
    Создается рутовый инстанс Vue с el: '#my-app', в котором лежат компоненты.
    VueJS находит компоненты внутри #my-app и инициализирует их.
    И в самом темплейте, где Вы прописали эти самые компоненты, им нужно передать данные.
    Например, если у вас было в компоненте:
    props: ['data']
    то передавать их нужно как обычный биндинг атрибутов:
    <my-footer v-bind:data="posts"></my-footer>
    Ответ написан
    Комментировать
  • Какой необходимый уровень знаний для junior React.js Разработчика?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    UPDATE: реальные тестовые задания и разборы здесь, ответы на все вопросы из поста в моем блоге об обучении react.

    не включая основы js

    Извините, но стандартная задача, про "напишите функуцию add, которая при вызове add(1)(2) вернет 3" - многих положила на лопатки =) Поэтому будьте готовы..

    React
    0) Какую проблему решает react ?
    1) Мгновенно ли срабатывает setState? Если нет, то как выполнить код, который 100% выполнится после того, как новый state будет установлен?
    2) Зачем многие постоянно пишут в constructor: this.FUNCTION_NAME = this.FUNCTION_NAME.bind(this) и отсюда вопрос вытекает чему равно this в разных местах вашего компонента...
    3) в каких методах жизненого цикла стоит выполнять xhr запросы? В каких стоит "обновлять state на основе props"?
    4) Что будет если вызвать this.setState в render методе компонента?
    5) зачем нужен componenWIllUnmount, приведите пример..
    6) Контролируемые, не контролируемые компоненты
    7) Как организовать роутинг в реакт приложении? (ответ: взять react-router - подходит, но было бы круто, если бы вы рассказали, как он примерно работает)*
    8) Зачем нужны propTypes? Что происходит с ними в production сборке?
    9) Как можно удобно "отлаживать" чужой код приложения, написанного на react (намек в сторону React devtools)
    ...

    Redux
    0) Какую проблему решает redux?
    1) Зачем многие создают типы действий NAME_REQUEST / NAME_SUCCESS ? А заодно, что такое "действие", а что такое "создатель действия"...
    2) Что такое редьюсер? Можете написать простой редьюсер без react/redux?*
    3) Для чего нужен redux-thunk? Как он работает? Напишите (можно псевдокод) асинхронный создатель действия (либо, если надоело говорить "терминами" - асинхронный aciton)
    4) Как компоненты приложения получают "пропсы" из "стора"?*
    5) Можно ли (и считается ли это нормальным) использовать state, если используется Redux?
    6) Почему в reducer'ax мы возвращаем новые объекты? Приведите пример, когда вы возвращаете новый объект, а когда тот же самый.
    6.5) А так же, "как в js вообще это работает?". Например:
    let obj1 { name: 'Test', age: 100 }
    let obj2 = obj1
    obj2.name = 'Test_new'

    Что будет в obj1, почему? В каких случаях объекты могут быть равны?
    7) Что возвращает функция connect (из react-redux)?
    ...

    Общее:
    0) package.json
    1) Webpack, gulp, etc...
    2) node.js
    3) promise

    Что-нибудь практическое:
    1) Как бы вы валидировали форму, если ошибки валидации приходят после submit'a ее на сервер..
    2) Почему не работает следующий код, сделайте чтобы работало
    ...
    На истину не претендую, но такие вопросы имели место быть на собеседованиях. В беседе можно многое разузнать дополнительными вопросами и так далее. Так же, если часть вопросов вам неизвестна - не беда, многие и на половину ответить не могут.

    p.s. возможно дополню...
    p.p.s. звездочкой отметил, на мой взгляд не самые необходимые для junior-собеседования вопросы.
    Ответ написан
    31 комментарий
  • Как с помощью Flexbox реализовать такой макет?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Ответ написан
    Комментировать
  • Как изменить положение метки на Яндекс карте?

    @nugget-ekb
    Верстальщик
    необходимые координаты метки можно узнать с помощью этого сервиса:
    ищете по адресу и потом, при необходимости, немного передвигаете метку
    dimik.github.io/ymaps/examples/location-tool
    Рабочий пример тут: https://jsfiddle.net/nugget_sti/afx40bgx/
    Ответ написан
    4 комментария
  • Какое событие javascript позволяет выполнить код при переходе пользователя во вкладку с ранее загруженной страницей?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    $(window).on("focus", function () {
        // перешли на вкладку
        if (some_action_done) {
            // проверяем какие-то еще условия
        }
    });
    Ответ написан
    1 комментарий
  • Как формирует коллаж картинок vk.com при посте?

    wielski
    @wielski
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    collageplus.edlea.com
    В качестве примера. Есть куча библиотек.
    Ответ написан
    Комментировать
  • В чем моя причина провала тестового задания Яндекса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну давайте я покритикую:

    возьмем файлик

    1) вы не разобрались как объявлять методы у прототипов с новой нотацией `class`:

    class Travelsort {
        constructor() {}
        sortTickets(tickets) {}
    }


    2) вы не умеете пользоваться исключениями.
    if (!Array.isArray(cards)) {
        throw new ValueError('Wrong input');
    }


    3) использование let там где должен использоваться const

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

    5) вы зачем-то реализовали свою функцию сортировки, я не увидел в требованиях отсутствия возможности использовать старый добрый Array.prototype.sort

    6) Общие замечания по кодинг стайлу. snake_case там где должен быть camelCase, пишите с большой буквы то что должно быть с маленькой и т.д.

    7) нарушения принципа единой ответственности. У вас объеткт умеет и сортировать и писать куда-то. Это категорически плохо.

    8) Если исправить 7-ой пункт то наш класс превращается просто в функцию.

    Далее... берем следующий файлик

    1) если вы пишите комментарии к таким маленьким кускам кода - стало быть у вас хромает именование вещей. Все должн быть понятно просто из названий методов/функций/переменных. При работе в команде над серьезными проектами это немаловажно, ибо код чаще читают чем пишут и экономить нужно именно это время.

    2) вы зачем-то тут в прототип объекта строки впихиваете функции для парсинга CSS. Таким образом мы нарушаем принцип единой ответственности. Да и в целом расширять без надобности прототипы объектов как-то не ок.

    Чуть дальше проскролил - вы пытаетесь расширить прототип строк для того что бы добиться API jquery? ух, батенька.

    3) очень много дублирования.

    4) очень плохо с protected variations.

    Справедливости ради, ваш код входит в категорию ">50% JS кода", так что не расстраивайтесь. Просто для работы в яндексе нужен чуть более высокий уровень и понимание вещей.
    Ответ написан
    17 комментариев
  • Js-аниматор-звукорежисер - есть такая профессия?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Это все по идее входит в обязанности UI Engineer (тот же фронтендер по сути, который помимо всяких SPA умеет в красивости).
    На фрилансе подобных тасков много. Ко мне часто обращаются с задачами "превратить видео из After Effects в реальную js анимацию" и "реализовать какую-то крутую фигню, которую тебе дизайнер объяснит с помощью слов и картинок". В профиле найдете мой кодпен, там много всякой всячины, из-за которой ко мне постоянно обращаются люди.
    Ответ написан
    5 комментариев
  • Как не распыляясь дотащить до front-end мидл девелопера?

    @djay
    Must have:

    - HTML5/CSS3 - знать как минимум в совершенстве
    - JavaScript, включительно ECMAScript 6-7
    - В порядке вещей - Bootstrap + Jquery
    - Grunt/Gulp, Bower
    - Знание хотя бы одного фреймворка. Сейчас более менее ходовые это Angular.js и Backbone
    - Знание системы контроля версий Git. Умение работать с GitHub/BitBucket
    - Опыт работы от 2-х лет

    Как плюс:

    - Знание Canvas, SVG, умение писать игры
    - Знание шаблонов проектирования
    - Умение покрывать код тестами

    Это и есть обобщенный набор навыков по рынку на текущий момент.
    Ответ написан
    9 комментариев