• Что такое такое rest api?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    API социальных сетей - это вполне типичные примеры реализации REST API.

    REST (RESTful) - это общие принципы организации взаимодействия приложения/сайта с сервером посредством протокола HTTP. Особенность REST в том, что сервер не запоминает состояние пользователя между запросами - в каждом запросе передаётся информация, идентифицирующая пользователя (например, token, полученный через OAuth-авторизацию) и все параметры, необходимые для выполнения операции.

    Всё взаимодействие с сервером сводится к 4 операциям (4 - это необходимый и достаточный минимум, в конкретной реализации типов операций может быть больше):
    1. получение данных с сервера (обычно в формате JSON, или XML)
    2. добавление новых данных на сервер
    3. модификация существующих данных на сервере
    4. удаление данных на сервере

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

    Для каждого типа операции используется свой метод HTTP-запроса:
    1. получение - GET
    2. добавление - POST
    3. модификация - PUT
    4. удаление - DELETE

    Т.е. :

    GET-запрос /rest/users - получение информации о всех пользователях
    GET-запрос /rest/users/125 - получение информации о пользователе с id=125
    POST-запрос /rest/users - добавление нового пользователя
    PUT-запрос /rest/users/125 - изменение информации о пользователе с id=125
    DELETE-запрос /rest/users/125 - удаление пользователя с id=125
    Ответ написан
    20 комментариев
  • Фронталная камера во время обновления прошивки вышла(Mi 9T) и никак не заходит в место.Что делать?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Отнести в сервис, я считаю, что если перепрошивка не помогла, то это скорее механическое повреждение. Для того чтобы сломаться, не обязательно падать. Возможно песочек(мусор, пыль, ворсинка из кармана) попал в механизм камеры.
    Ответ написан
    1 комментарий
  • Где по вашему лучше делать запросы на сервер в React?В бизнес-логике или в компоненте?

    GreyCrew
    @GreyCrew
    Full-stack developer
    Лучше всего запросы делаются в мидлварах.
    Можете сами написать функцию автоматического получения данных, а можете воспользоваться либами
    redux-api-middleware
    Либо
    redux-api-call

    Также вполне можно, особенно, если у вас бэк распределенн по разным местам, использовать redux-thunk, или redux-saga
    Вот статья, где есть примеры подключения

    В компонентах запросы лучше не делать, за редкими исключениями, когда компонент, непосредственно связан с внешними данными (к примеру какой нибудь счетчик валют, который запрашивает данные из центробанка)
    Ответ написан
    1 комментарий
  • Какие актуальные книги есть по веб-разработке(или старые но информативные).И что читать(по вебу) в 2020?

    @Dolosweb
    Веб технологии устаревают еще до печати книг, лучше всего изучать основы - функции, классы, циклы, переменные, базы данных. Основные языки программирования отличаются синтаксисом, но семантика у них очень похожая. Везде есть классы, циклы, функции.
    Советую не заморачиваться на процедурных стилях программирования, а изучать ООП.

    По верстке могу посоветовать этот сайт - htmlbook.ru с примерами и исходниками
    а по по бэкэнду - могу только php посоветовать, так как по нему инфу туча. самоучитель php не поможет, только практика по началу простые скрипты писать - постоянно пополняя запас знаний новыми функциями
    Ответ написан
    6 комментариев
  • Что использовать в React Mobx или Redux?

    GreyCrew
    @GreyCrew
    Full-stack developer
    Оба подхода вполне рабочие.
    Но если вы не знакомы ещё ни с одним, то я бы настойчиво советовал вам Redux
    Покуда он более популярный, его проще отлаживать и работу с ним в разных компаниях найти гораздо проще.

    Но если вам очень нравятся декораторы, то mobx welcome
    Ответ написан
    1 комментарий
  • Почему роутинг не работает в React?

    kn1ght_t
    @kn1ght_t
    наверное, вы используете обычные теги ссылок (а):
    <a href="/news">News</a>

    а нужно использовать компонент Link из роутера:
    <Link to="/news">News</Link>

    update: для интеграции бутстрапа и реакт роутера нужно использовать https://github.com/react-bootstrap/react-router-bo...
    Ответ написан
    3 комментария
  • Почему роутинг не работает в React?

    @TequilaCool
    Junior front-end developer
    Чтобы не было полной перезагрузки страницы, я бы на Вашем месте попробовал заменить текущий роутинг на NavLink - ссылка на git.

    <NavLink to="/about">About</NavLink>
    Ответ написан
    1 комментарий
  • Как быстрее освоить Python + Django, если не шарю в бэкенде?

    @Underground2713
    Сначала изучи питон хоть на новичковом уровне книга укус питона и ютуб каналы того же Гоши Дударя ещё хороший канал егорофф как то так. Потом освой хтмл и css в ютубе есть уроки за час этого для начала хватит. Потом приступай к Django. Книга Дроново канал Олега Мочанова, сайт мозила девелопер.
    Ответ написан
    Комментировать
  • Как быстрее освоить Python + Django, если не шарю в бэкенде?

    ArsenyMatytsyn
    @ArsenyMatytsyn
    Руководитель frontend направления, предприниматель
    У данного фреймворка есть краткий курс бойца. Его же можно и в русском исполнении найти, разве что там, насколько я помню, идет некоторое отставание от первоисточника.

    Ну и, собсно, тупо повторять, что написано, вчитываться и пытаться отходить от первоисточника, чтобы напороться на ошибки. Они помогают усвоить материал.
    Ответ написан
    Комментировать
  • Лучший ресурс(ресурсы) для изучения React.js для новичков?

    @prosto_paren
    react intern developer
    Если вам необходимо не только теория но и практика, то могу посоветовать code.mu
    Ответ написан
    Комментировать
  • Чем отличается верстальщик от front-end developer?

    copist
    @copist
    Empower people to give
    Верстальщик преобразует графический макет (Photoshop или иной) в набор HTML + CSS + картинки. Иногда к свёрстанному макету может подключить типовые библиотеки Javascript, например, slider для картинок, или всплывающие подсказки (tooltip), или диалоговые окна (dialog/popup).
    Знания и навыки:
    • работа с графическими программами, чтобы понять, как собран макет
    • знание HTML, HTML5, CSS, CSS3, понятие про веб-шрифты, спрайты и другие технологии
    • пригодятся знания по HTML-фреймворкам, например, Twitter Bootstrap или Semantic UI
    • навыки кроссбраузерной вёрстки, чтобы в разных браузерах выглядело и работало одинаково
    • навыки отзывчивой вёрстки, чтобы можно было использовать на устройствах с разными возможностями и разрешениями
    • знание типовых решений javascript, чтобы реализовать простейшие вещи, заложенные в макете


    Фронтенд-разработчик делает так, чтобы макеты, полученные от верстальщика, были наполнены реальными данными. Если приложение построено как client-side (то есть вся основная логика загружается в виде огромного javascript в браузер, а данные запрашиваются с сервера по AJAX; это называется "толстый клиент"), то фронтенд-разработчику потребуется следующее:
    • знание HTML, HTML5, CSS, CSS3, понятие про веб-шрифты, спрайты, Comet и другие технологии
    • глубокое знание Javascript, включая использование готовых фреймворков, библиотек и написание расширений для них, что подразумевает объектно-ориентированное и событийное программирование
    • знание AJAX, CORS и навык создания тестовых затычек на стороне сервера, чтобы можно было разрабатывать приложение пока бакенд не готов


    Если фронтенд строится на стороне сервера, то дополнительно потребуется знать используемый серверный язык программирования (например, Python, Ruby или PHP) и используемый фреймворк (Django, Ruby-on-Rails, Yii). На практике бывало такое, что фронтендер просил в нужной части проекта сделать var_dump от структуры данных, которую надо показать и перечислить серверные методы, которые надо вызвать по нажатию предполагаемых кнопок.

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

    И моё личное мнение - фронтенд разработчику не помешают базовые знания про UML. Иногда с ними так тяжело обсуждать обмен данными по AJAX. У них это какой-то непрерывный поток магической энергии, волшебным образом преобразующийся в буковки на экране пользователя, а вот для бакенда это набор отдельных операций, иногда ещё и асинхронный. Диаграммы последовательностей ни читать, ни писать многие не умеют. Таймлайны составлять не умеют.

    -----------

    Написал дополнение: copist.ru/blog/2015/08/29/layout-designer-vs-front...
    Ответ написан
    2 комментария
  • Как быстрее освоить Python + Django, если не шарю в бэкенде?

    @b_a_y
    Python, Selenium
    Придумай простой проект для себя и реализуй. Мне кажется, это самый быстрый способ изучить что то.
    К примеру, парсь какой нибудь сайт и выводи всю инфу уже на своем... На ютубе много видео "Django за час" и т.п.
    Видео там все однотипные, т.к. многие просто копируют пример из оф. документации. Вот тебе ссыль. Как по мне, отличное видео для старта...
    Ответ написан
    1 комментарий
  • Как быстрее освоить Python + Django, если не шарю в бэкенде?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Прочитайте что такое http (начните с википедии).
    Скачайте (ждать доставки вам некогда) книжку издательства O'Relly про джанго. Прочитайте её махом без остановок и выполнения заданий. Потом ещё раз, но уже выполняйте всё.
    По ходу записывайте все незнакомые слова и термины, гуглите.
    Ищите на гитхабе работающие примеры готовых проектов на джанкго. Читайте код, ищите и разбирайтесь по непонятным местам.
    Подробнее трудно, так как не понятно, может вы вообще не шарите, а может с C# переезжаете.
    Ответ написан
    2 комментария
  • Как изменить цвет текста каждую секунду?

    twobomb
    @twobomb
    let colors = ['red','pink','coral','orange','yellow','green'];
    let colInx = 0;
    (function changeColor(){
      document.querySelector("#p").style.backgroundColor = colors[colInx++%colors.length];
      setTimeout(changeColor, 1000);
    })();
    Ответ написан
    Комментировать
  • Как закреплять основы javascript на практике?

    theobroma
    @theobroma
    javascript developer (ReactJS)
    Люто рекомендую www.codewars.com.
    Просто чудо, что он есть. Его можно использовать для изучения многих языков. Думаю Вам, как и мне собственно, он будет полезен для освоения как JavaScript, так и CoffeeScript.
    Есть 8 уровней сложности. Ко многим заданиям прилагаются тесты. Так что заодно и с Test-driven development познакомитесь. Тесты есть готовые, но можно и свои пробовать писать.
    Задания можно обсудить в разделе "Discuss". Там все грамотно сделано и спойлеры скрыты.
    После выполнения доступно посмотреть на решения других пользователей и проголосовать за самое находчивое решение и за "best practice". Это дает не слабый левелап.
    Совет: делайте все на localhost, а после уже готовый код вставляйте для проверки в окно "Your Solution". Так проще поэтапно отслеживать код и можно потихоньку прийти к решению.
    P.S. Сам как раз решаю эти задачки и активно пользуюсь learn.javascript.ru для справки.
    Ответ написан
    1 комментарий
  • Почему не работает clearInterval?

    KickeRocK
    @KickeRocK
    FrontFinish
    Потому что в date у вас должен быть сам интервал, а не ссылка на функцию с консоль логом
    Ответ написан
    Комментировать
  • Как считать кол-во повторяющихся эл-ов в массиве?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    function count(arr){
      const map = new Map();
      arr.forEach(i => map.set(i, (map.get(i) || 0) + 1))
      return map;
    }
    Ответ написан
    4 комментария
  • Объясните пожалуйста, как работает, и что делает этот код?

    Seasle
    @Seasle Куратор тега JavaScript
    К примеру
    topSalary({
    	'John': 10000,
    	'Emily': 11000,
    	'Bob': 9200,
    	'Alice': 11010
    }); // Alice
    . Далее, max для цифры, maxName для ключа в объекте. Object.entries(salaries) этот код из объекта делает массив массивов, такой:
    [['John', 10000], ['Emily', 11000], ['Bob', 9200], ['Alice', 11010]]
    . Часть const [name, salary] of ... это деструктурирующее присваивание, т. е. в name попадает ключ, а в salary число (в данном случае). Ну а дальше обычный алгоритм поиска максимального числа и возврат ключа (maxName).
    Ответ написан
    3 комментария
  • Как работает этот код?

    SagePtr
    @SagePtr
    Еда - это святое
    Криво работает и неоптимально. Весь этот код можно было заменить на вызов одной функции filter
    Ответ написан
    2 комментария