Задать вопрос
  • Как правильно организовать push уведомления на сайте?

    Я для пуш сообщений centrifugo использую, кроме нее дополнительно ставить ничего не надо на сервер (ну разве что supervisor). Организация такая: прочитать документацию, сгенерировать конфиг для центрифуги, запустить ее, скачать либу с гитхаба для php сервера и пример для клиента и запилить свое приложение. Если используете ларавел, то вообще все быстро сделаете на родных евентах и бродкастинге сообщений.
    Ответ написан
    1 комментарий
  • Как правильно организовать push уведомления на сайте?

    uvelichitel
    @uvelichitel Куратор тега Go
    habrahabr.ru/users/uvelichitel
    Я живой чат на websocket на Go писал под заказ(даже где то у меня на github валяется). Все работало, это было не сложно.
    Но, Go websocket реализуют протокол последнего RFC, а старые Opera и IE нет. В корпоративном секторе, в частности в казенных заведениях только старые браузеры и стоят. Заказчик сказал - дописывай прокладку на все проприетарные реализации протокола или fallback на long_polling. Я ответил - лень, напишу "Обновите браузер". Заказчик не принял.
    Если хотите угодить всем, пользуйте библиотеку с откатом на ajax_long_polling вроде socketIO(Для Go драйвера написаны), но код теряет элегантность и писать становится не фан.
    Для мобильных платформ прекрасно работают Push сервисы apple и google(драйвера тоже написаны)
    Ответ написан
    2 комментария
  • Почему angularjs уделяют так много внимания?

    riky
    @riky
    Laravel
    потому что все ходят с такими вопросами. рекурсия...
    Ответ написан
    Комментировать
  • Что надо знать хорошему php разработчику?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    но не могли бы вы дать список

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

    В целом же знание алгоритмов на начальном этапе вам не понадобится, вы просто должны понимать как строить алгоритмы. Я вот Кормена так и не дочитал... Тут суть в том что на PHP редко пишут что-то, где важна скорость вставки или поиска, обычно все сложное делается на уровне базы данных. Потому PHP разработчику остается только сформировать запрос в базу и получить ответ. Больше работы именно по архитектуре самого приложения.

    затем начну изучать базы данных и буду понимать что такое CGI,

    CGI не трогайте, это весьма старая штука. Просто разберитесь с SAPI (Server API) и примерным флоу что происходит между приходом HTTP запроса на сервер и вызовом PHP с уже заполненными суперглобальными массивами. Ну и да, с самим HTTP тоже разберитесь сначала, что бы понимать что такое куки и как они передаются с клиента на сервер и обратно, что такое сессии, как получить тело запроса и т.д.

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

    p.s. Еще рекомендую почитать чего по управлению проектами, по методологиям разработки. Ознакомьтесь с XP (причем лучше читать на английском), почитайте про технический долг и т.д.
    Ответ написан
    9 комментариев
  • Как людям удается столько зарабатывать на фрилансе?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Внесу свою небольшую лепту.

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

    Во-вторых, на фриланс биржах жуткий демпинг. Так что первые два месяца скорее всего придётся поработать на зп дворника. Вооще, сейчас фриланс сообщество относительно стабильно именно из-за высокого входного порога. Первые серьёзные деньги раньше второго месяца увидеть очень сложно. Здесь придётся работать на престиж, то есть зарабатывать контакты. Очень часто бывает, что довольный клиент вернётся, а бывает даже не уходит - оставляет проект на сопровождение. Причём делать скорее всего ничего не придётся, а лишняя копейка никогда не помешает. Набрав 10-15 проектов на сопровождение можно вообще не работать и получать пару зарплат дворника.

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

    Впрочем, постоянный поток заказов, сформированный круг знакомых как заказчиков, так и фрилансеров, узкая специализация... Это всё хорошо и классно. Но часто не хватает одного - дисциплины. Обустроить свой рабочий день таким образом, чтобы минимально отвлекасться и действительно выполнять свою работу быстро, действительно нагружать себя по максимому. Такое даётся далеко не каждому. Но таким ни демпинг не почём, ни кризис. Заказы будут всегда, они сами будут приходить, тогда как высокая дисциплина позволит выполнять их быстро.
    Ответ написан
    6 комментариев
  • Браузерная JS игра?

    @Sashjkeee
    f-e
    Ответ написан
    Комментировать
  • Браузерная JS игра?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Очень много движков: 1 список, 2 список. Наверняка для какого-нибудь из них есть туториал, как сделать понг.
    Ответ написан
    1 комментарий
  • Браузерная JS игра?

    @Drm
    Если что-то совсем простое, то достаточно JS (JQ), понимание ООП подхода и пары часов. Но это в том, случае. если интересно написать игру для прокачки себя в программировании.

    Если же интересна графика, какие-то красивости, то надо искать подходящие библы, ну либо рисовать все на канве, как уже предлагалось
    Ответ написан
    9 комментариев
  • База данных городов, стран и регионов без дубликатов на английском?

    sokolnikov
    @sokolnikov
    https://github.com/x88/i18nGeoNamesDB

    Содержит

    234 страны
    3 721 регион
    2 246 813 населенных пункта

    Названия переведены на

    Русский, Украинский, Белорусский, Английский, Испанский, Португальский, Немецкий, Французский, Итальянский, Польский, Японский, Литовский, Латышский, Чешский

    Кодировка - utf8
    Ответ написан
    1 комментарий
  • Как использовать токены для аутентификации в API?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Пишу RUSTful API на php, застрял на аутентификации с помощью сессий

    Вы уверены что Вы понимаете что такое REST? Вы пишите что угодно, но не REST! Одно из требований к REST это stateless. Другими словами в Ваших запросах УЖЕ есть все необходимое для выполнения операции и тоже самое будет в ответе "либо приходи позже" либо "держи результат запроса на операцию". В REST нет такого термина, как сессия. Если у Вас это получилось, то вы написали не REST
    Ответ написан
  • Давайте соберем джентльменский набор паттернов проектирования и алгоритмов для прохождения собеседований?

    @iliyaisd
    Могут спросить, какие знаете паттерны. Нюансы различных патернов - редко и самые основные, этим больше жависты и дотнетовцы страдают. Из программерских приблуд по проектированию - разве что более базовые вещи могут спросить типа SOLID, особенности наследования и т.п. Алгоритмы скорее всего не спросят вообще.

    З.Ы. Вопрос ярко показывает гнилость системы собеседований, т.к. для любого очевидна разница между теорией и практикой. Собеседование в компанию, где я сейчас работаю, длилось минут 10, из которых 7 мне рассказывали о компании и условиях, а остальные были в духе "эту фичу знаешь? ок"
    Ответ написан
    Комментировать
  • Давайте соберем джентльменский набор паттернов проектирования и алгоритмов для прохождения собеседований?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Вы бы хоть позицию указали junior/middle/senior/team lead...
    Это не экзамен, на собеседовании вас могут спросить что угодно, посему делать список и ожидать, вас спросят именно из него не совсем корректно.

    Цель собеседования не в том, что бы "завалить" соискателя (хотя конечно бывают случаи для снижения амбиций по деньгам), а в том, что бы понять, подходите ли вы на конкретную позицию в конкретный проект.

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

    Если на собесе у вас спрашивают сигнатуры функций - 99%, что вам попался хреновый интервьюер, и в эту компанию вероятно не стоит идти.
    Ответ написан
    1 комментарий
  • С чего начать разработку игр для WEB?

    @bogomazov_vadim
    Посмотри вот эту книгу. В последнее время часто линки на нее вижу
    Ответ написан
    1 комментарий
  • С чего начать разработку игр для WEB?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    "виды" = "категории" наверное?
    Есть много пользовательские и однопользовательские игры.
    Каждый тип делится на:
    платформеры, 3D, симуляторы, логические, казуальные и т.д.
    Пример разделов из меню слева: тут
    Ответ написан
    7 комментариев
  • Где нужна дискретная математика в веб программировании?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Очевидно что это работа с множествами (комбинаторика) - их пересечение, объединение, разность и тд - все это широко встречается в БД. Также математическая логика.
    Учите лучше SQL, а не phpMyAdmin - будет больше пользы и понимания.
    Ответ написан
  • Есть ль готовые решения или плагины для онлайн чата между пользователями на сайте?

    MAKAPOH
    @MAKAPOH
    многостаночник
    Если на php то можно взять socketo.me.
    Ответ написан
    Комментировать
  • Как собрать и минифицировать CSS и JS в Yii2?

    @ph4n70m
    Разобрался.
    Качаешь отсюда https://developers.google.com/closure/compiler/ jar и кидаешь в корень проекта

    npm i yuicompressor - и тащишь yuicompressor.jar тоже в корень

    Создаёшь файл через ./yii asset/template config/minify.php

    Убираешь комментарии с двух строк вверху (где константы) и внизу. А также "раскомменчиваешь"
    'bundles' => [
    'app\assets\AppAsset',
    'yii\web\YiiAsset',
    'yii\web\JqueryAsset',
    ],

    и всё. можешь запускать
    ./yii asset config/minify.php assets/app_min.php

    На выходе будет файл в assets/app_min.php который и подключаешь к проекту
    Ответ написан
    Комментировать