Задать вопрос
  • Очень доступным языком о Long-Polling?

    planc
    @planc
    поковыряй пример https://socket.io/

    long polling используется, если клиент не может использовать websocket

    фишка в том, что вместо постоянного флуда новыми соединениями

    - есть что новое ?
    - нету !
    - есть что новое ?
    - нету !
    - есть что новое ?
    - { 'user': 'вася', 'message': 'привет'}
    - есть что новое ?
    - нету !

    происходит:
    - есть что новое
    ...
    ...
    ...
    ...
    - { 'user': 'вася', 'message': 'привет'}
    - есть что новое ?
    ...
    Ответ написан
    5 комментариев
  • Как сохранить правила iptables после перезагрузки Ubuntu?

    vsespb
    @vsespb
    Имхо гораздо лучше иметь bash/sh файл, создающий правила в автозагрузке, чем пользоваться iptables-save и iptables-restore.
    Ведь в bash файле не можно заменить одни и те же адреса/порты/интерфейсы/протоколы/диапазоны в разных строчках на переменные, можно будет при желании селать какой-нибудь цикл или включить роутинг в /proc/sys/net/ipv4/ip_forward (его логиченее объединить с правилами, ведь они без него могут не иметь смысла)
    Ответ написан
    2 комментария
  • Как повысить навык программирования?

    Prognosticator
    @Prognosticator
    TODO: Здесь будут ворованные умные мысли, типа мои
    По вопросу #1

    Много думать и тратить свое время на это (да-да, отрывать время от всевозможных утех и удовольствий).
    В целом - вопрос гуглится. И был задан в интернетах неоднократно.
    Но выделю самое важное на свой взгляд. То, что делаю повседневно.
    Ниже универсальные по отношению к языкам/технологиям советы.
    • Читать код, много, часто. То что интересно вам. Код опенсорс проектов. Код тех библиотек, фреймворков, что используете. Думать почему написано так. Форкните проект, внесите правки, прогоните тесты, запустите код, сломайте код, прогоните тесты, почините код, почините тесты (вставьте здесь свои варианты). Мысленно повесьте себе медаль за трудовой подвиг, после скушайте витаминку, поцелуйте свое отражение в зеркале. При этом не переставать думать. Будете прогрессировать, зуб даю.
    • Заведите пет-проект(ы), у любого разработчика 1500 идей, как сделать "мир добрее" всем назло.
    • При возниковении затыков, не спешите идти на StackOverflow, решите проблему сами, через документацию, через чтение исходников, через попа-боль. Решите проблему сами. Нет, вот так - Решите проблему сами! Далее думайте как можно улучшить читаемость своего кода. Идите на SO сравните. Почерпните опыт из чужого более лаконичного (элегантного и т.д) решения или похвалите себя за то, что ваш-то код точно лучше и вы утерли всем сопли..
    • Изучать низкий уровень. Как оно вообще там работает? Что под капотом? А где капот? А почему капот сзади и из него торчат костыли, ведь это велосипед? Как реализован метод который я вызываю по 10 раз на дню? Думать.
    • Подпишитесь на официальные/авторитетные блоги/репозитории разработчиков языка, фреймворка, будьте в числе первых кто узнает изменения, новости, планы.
    • Подумайте, чем лично вы, лично для себя, можете дополнить, этот список. Забудьте то, что написано выше каким то абстрактным дядей из интернета - следуйте своему списку. У каждого свой путь.
    naivnyy-olen_48515487_big_.jpegПо вопросу #2

    когда изучаю новый материал, читаю, прогаю, вроде понял, знаю как применить, но все равно такое чувство что, что то осталось не дочитанным, не до конца изучанным, не глубоко изученным, даже когда прочитал про тему в 2-3ех источниках, как с этим быть

    Это в порядке вещей, чтобы стать экспертом, нужно потратить тысячи часов.

    • Пробуйте "наслаивать" знания постепенно, учите новое, при этом учите только нужное, используйте уже изученное.
    • Ведите записи, фиксируйте свой прогресс (использовал сегодня либу X, отправил 5 коммитов в репозитарий Y. Разучил язык Z). Это мотивирует делать больше. Через 10 лет ваше ЧСВ будет 105%.


    PS
    Посчитайте количество слов "думать" в этом ответе и подумайте почему оно так часто упоминается.
    Ответ написан
    Комментировать
  • Программное решение для упорядочивания жизни?

    Robur
    @Robur
    Знаю больше чем это необходимо
    часть информации в итоге забывается

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

    а жизнь кажется хаотичной,

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

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

    Учитесь фильтровать по принципу "а как я собираюсь это применить?". не "вообще" а именно я, именно её и в какие конкретно даты?
    Останется только действительно нужное и вот это вы уже сможете упорядочить.
    Ответ написан
    6 комментариев
  • Что такое CORS?

    @DrVolk
    Все ответы из серии лучше бы молчал... Смысл повторять то, что написано в википедии. Вам в вопросе человек явно указал - НА ПАЛЬЦАХ, а они ему про стандарты... Дали бы просто ссылку на MDN - там самая лучшая документация обо всём: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
    На русском тоже есть статьи: https://grishaev.me/cors

    Вот моя текущая проблема, объсняю на её примере:

    На нашем сервере (Сервер А) размещается Ангуляр приложение (DAPP), представляющее собой интерфейс к Ethernet смарт-контракту, который грубо говоря является нашим бэкендом.

    На стороннем сервисе (Сервер Б) запущен http-интерфейс для доступа к нашему контракту (фактически это шлюз в сеть Ethereum). Это бесплатный сервис, к которому у нас нет доступа (Infura).

    Мне нужно из моего DAPP, запущенного в браузере пользователя и которое загрузилось с Сервера А, делать http-запросы на Сервер Б, и тут в браузере выскакивает CORS и кричит НИИИИЗЯЯЯЯЯЯЯЯ! Причём в Chrome всё ок, а в долбаном тормозном Firefox (господи, сократи число пользующиегося им идиотов, чтобы он скорее издох) вылетает ошибка. Ибо, как завещает CORS, негоже JS коду, загруженному с одного адреса, делать http запросы на другой. Причём CORS устроен так, что эта ошибка не дебажится с помощью JS - типа для того чтобы это ограничение не смогли никак обойти. Поэтому какие бы я не прописывал Серверу А заголовки 'Allow-Origin', это ничего не меняет. В Гугле уже осознали весь идиотизм ситуации и в новых версиях Хрома уже не блочат всё подряд, как раньше, пропуская “простые” запросы (GET/POST), остальный браузеры пока тупят.

    ПС. Проблему решили запуском прокси сервера, который добавляет в ответы от Сервера 2 заголовки Access-Controll-Allow-Origin с адресом Сервера 1. Тоесть Сервер 2 должен сказать браузеру, что он доверяет коду, загруженному с Сервера 1. Вот и весь CORS.
    Ответ написан
    1 комментарий