• Как написать предикат на основе странной переменной с JSON-объектом?

    Seasle
    @Seasle Куратор тега JavaScript
    if (window.userInfo && !window.userInfo.isInAccount) { // или window.userInfo.isInAccount === false
        // Как-то так
    }
    Ответ написан
    2 комментария
  • Game-dev путь. Что мне делать?

    @majstar_Zubr
    C++, C#, gamedev
    У вас должна быть цель стать профессионалом в области. Потому что только профессионал может выбирать, с кем работать, где работать, над чем работать - над крупными проектами для правительств, над банковским софтом, над веб-проектами или над играми.

    Вот это будет правильная установка. А что учить и в каком порядке вам никто не скажет, потому что требования меняются, возможности устроится на работу у всех разные, неизменно только одно - желательно знать все и вчера. Именно с этой установкой рисуются абстрактные Programming paths, но толку от них не будет никакого, если вы не сможете обобщать знания и не будете постоянно работать над строительством своего дерева знаний. Главное - пополнять свои знания концепциями, из которых потому выводятся базовые шаблоны, шаблоны проектирования, а из них, в свою очередь, архитектурные шаблоны, методология разработки, и непосредственно связь с рынком, экономикой, психологией и прочим, и так далее. И эти концепции не только в книгах по разработке ПО, их много в теор вере, дискретной математике, физике, которые дождаться в голову только в процессе получения высшего образования, системно.

    Любовь к учению - единственное, что может поддерживать на пути, потому что путь очень долгий. Многое будет непонятно и с первого раза, и со второго. Иногда и с третьего, потому что вы на самом деле не поняли базовые вещи. Или выбрали неправильную книгу. Или начали читать правильную книгу слишком рано. А узнаете вы расхождение между объективным знанием и собственным все равно не раньше, чем столкнетесь с проблемой на практике. А по-другому никак.

    Что вы можете сейчас сделать - взять прицел. Конкретно сформулируйте профессию и специализацию. Оптимизируйте процесс полученния знаний: как бы не ругали образование в ВУЗах СНГ, все же это нехилая экономия времени, если вы сразу будете получать профильное образование.

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

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

    Так что, запасайтесь попкорном и начните с языка Си. Освойте структурное программирование. Алгоритмы, структуры данных. Архитектуру компьютера, ОС. Не торопитесь как можно быстрее неправильно понять как можно больше вещей за кратчайший промежуток времени. Перечитывание и практикуете, пока не станет понятно так, что сможете научить кого-нибудь другого. Макконнелл, Роберт Мартин, Кент Бек, Эрик Эванс, Мартин Фаулер + 1 год дополнительного быдлокодинга на java и c# и c++ и у вас появится понимание ООП, ФП, типовые устройства моделей памяти и сборщиков мусора. Ещё за год научитесь писать настоящий ООП код, читать чужой код, даже если он написан в процедурно-макаронном стиле как книгу. Но надо ли вам эти три скучных года, потерянных полностью для личной жизни? Не проще ли получить solid knowledge и постепенно получать практику в среде опытных специалистов?

    Подытожу: становитесь профессионалом, на это у вас уйдёт ~10 лет после введения привычки учится в свободное время. Периодически смотрите на требования вакансий и составляйте себе древо знаний, которое хотите получить.
    Ответ написан
    Комментировать
  • Как зашифровать АПИ токен на стороне клиента?

    inoise
    @inoise Куратор тега PHP
    Solution Architect, AWS Certified, Serverless
    Не надо так делать. Стоит выбрать правильную авторизацию в API. Не знаю что у вас за система, но что мешает сделать обертку, в которую пускать пользователей по из персональным токенам или сессиям?
    Ответ написан
  • Как зашифровать АПИ токен на стороне клиента?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    дополнительно шифровать токен достаточно бессмысленная вещь - тк он уже представляет из себя зашифрованные данные.
    Если требуется бОльшая безопасность у токена записывают короткое время жизни и требуют регулярно его обновлять (например каждый час), используя еще один токен)
    Ответ написан
    3 комментария
  • Как зашифровать АПИ токен на стороне клиента?

    Ninazu
    @Ninazu
    Ничего шифровать не нужно. Алгоритм такой
    1. Берете https://github.com/Valve/fingerprintjs2
    2. Отправляете результат его работы c каждым запросом
    3. Авторизируетесь и получаете токен который на сервере привязан к fingerprint и IP
    4. При получении запроса с токеном и fingerprint, проверяете наличие токена в своем хранилище, и соответсвие токена IP и fingerprint которые пришли с клиента
    5. Если не прошла проверка, заставляйте авторизироваться снова.

    P.S. IP часто динамический. Так что учитывайте это. Например много людей используют мобильный интернет. Плюс нужно понимать что может быть несколько устройств. Пользователь может зайти с планшета, телефона и ПК
    Ответ написан
    2 комментария
  • Как зашифровать АПИ токен на стороне клиента?

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

    Поэтому если нужно проводить какие то операции, делайте их на сервере, а результат отправляйте клиенту.
    Вообще есть такая парадигма не доверяй клиенту, все данные у него и обмен с ним могут быть раскрыты.
    Ответ написан
    2 комментария
  • Post и Get запросы, какая между ними разница и что лучше и для каких целей?

    socengel
    @socengel
    7 лет native php в продакшене, онлайн 20000+,
    Общего между ними то что они работают одинаково. Разницы между ними технически никакой. А вот идеологические различия есть.

    Я расскажу о них в контексте PHP. Прошу заметить что протокол HTTP к PHP имеет косвенное отношение потому что он создавался для обмена html страницами а PHP просто расширяет возможности и того и другого.

    GET запрос используется чтобы получить данные а POST чтобы отправить. (Напоминаю что технически они работают одинаково).

    Поэтому в контексте PHP опираясь на эту идеологию сделали следующим образом:
    1. При каждом запуске PHP по умолчанию создаются суперглобальные массивы ($_GET, $_POST).
    2. Если в строке запроса есть вопросительный знак(?). То все что после него считается параметрами GET запроса они представлены в формате 'ключ'='значение' и в качестве разделителя используется знак амперсанда (&)
    Пример:
    GET /index.php?name=Андрей&surname=Галкин
    это строка запроса, тут 2 параметра. эти параметры попадут в массив $_GET.
    3. $_POST заполняется другим способом. содержимое этого массива заполняется из "заголовков запроса". То есть из места, скрытого от глаз в явном виде. Всю рутину по созданию таких заголовков берет на себя браузер. Хотя иногда и что-то редактируется в заголовках в ручную.

    Чаще всего пост запрос используется в формах (для отправки данных).

    Например у нас есть форма для входа 2 поля логин и пароль.

    Представим что мы используем GET метод. Тогда при отправке формы мы перейдем на следующий адрес /login.php?login=Андрей&password=123 согласитесь что так передавать такую информацию совсем не безопасно. Любой может открыть ваш браузер и начиная вводить адрес сайта он из истории может увидеть ваши пароли и логины.

    А вот если бы мы указали методом POST то мы бы получили следующий запрос:
    POST /login.php (login=Андрей&password=123) то что в скобочках было бы скрыто и никак не сохранено в браузере.

    Теперь другая ситуация например форма поиска. Мы вводим текст и получаем страницу с результатами. Вот тут уместнее GET форма. потому что нам было бы удобно сразу иметь ссылку на результат поиска, то есть добавить в строку запроса можно выразится "Публичные параметры", которыми можно поделиться. И как результат в строке браузера будет конкретная ссылка на текущую страницу. Мы можем ее скопировать, и разместить где-нибудь, или например скинуть другу. И получить при переходе одну и ту же страницу. А не просить других людей зайти на сайт и в поиск вбить определенную фразу чтобы получить необходимую страницу.

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

    И еще одна хорошая новость их можно комбинировать, например
    POST /index.php?page=login (login=Андрей&password=123) Думаю я уже достаточно объяснил что из этого получится и какие параметры в какой массив попадут.
    Ответ написан
    2 комментария
  • Как обратиться к API через сайт-посредник?

    inoise
    @inoise Куратор тега PHP
    Solution Architect, AWS Certified, Serverless
    Никто не даст вам из браузера обращаться к другому домену. Придётся делать прослойку в любом случае на сервере
    Ответ написан
    4 комментария
  • Как выбрать между front и back-end?

    daemonhk
    @daemonhk
    ПсиХоПат
    Фулл-стак, потому что я фулл-стаккер
    Ответ написан
    Комментировать
  • Как выбрать между front и back-end?

    Robur
    @Robur
    Знаю больше чем это необходимо
    познать дзен и сделать выбор смогу через год-полтора, а хочется сейчас.


    Если вы не можете выбрать а хочется - то нет разницы, спросить на тостере или бросить монетку. Я бы бросил монетку - так хотя бы можно сделать вид что это твой собственный выбор, а не какой-то чувак на тостере насоветовал.
    Ответ написан
    Комментировать
  • Как выбрать между front и back-end?

    @HellWalk
    Но как выбрать тот самый первый путь?

    Потратить те самые
    год-полтора

    Попробовав и то и то, и решить, что вам больше нравится.

    Я ушел в бек, потому что js меня бесит. А опыт с ангуляром лично меня убедил в том, что навороченный js не упрощает, а усложняет работу. Но, не поработав с ним, я бы этого не понял.

    а хочется сейчас

    ...а потом через 10 лет попробуете что-то другое, и поймете, что столько времени потратили на неинтересную для себя сферу.

    Более того, если вы сейчас в самом начале карьеры - попробуйте еще и мобильную, и декстопную разработку, и на Unity какую-нибудь игру собрать. Широкий кругозор еще никому не мешал.
    Ответ написан
    2 комментария
  • Windows 10 как рабочая среда для full-stack разработки?

    joeberetta
    @joeberetta
    Читай: https://epdf.pub/google-for-dummies.html
    Если вам хочется сидеть на винде изза привычного интерфейса, то могу предложить вместо убунту попробовать другие дистрибутивы (также на базе убунту), у которых более привычный "виндаподобный" интерфейс. Сам сижу с недавнего времени полноценно на elementaryOS, с такими же задачами (фуллстэк) и все норм. Также можете глянуть Mint, Deepin, Manjaro (те, с которыми сталкивался и показались "привычними" и удобными) ну и также много других дистро. Если конечно проблема в этом. Ну а если дело во взаимодействии (хочу ехе а не быть хацкером с терминалом, то... Увы, тут придется смириться. Ибо почти вся веб разработка через консоль управляется. Тот же самый гит с коммитами, все эти npm, pip, gem и прочее, требуют также взаимодействия через консоль)
    Ответ написан
    5 комментариев
  • Windows 10 как рабочая среда для full-stack разработки?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Вставлю свои 3 копейки. Подберите нормальную IDE

    WebStorm / PhpStorm
    Visual Studio
    Visual Studio Code
    Sublime

    Добавьте памяти, 32 или 64 процессор пусть будет xeon 2680

    SSD на загрузку
    NVME под виртуалки и бд

    рамдиск под %temp%

    Графический интерфейс в виртуалки не ставьте, он вам не нужен.

    И все у вас будет летать.
    Кстати добавьте 2 монитор, это реально удобно.

    PS маководы и линуксоиды это реально сектанты. Сделают блин градиент из 80 серого в 95% и удивляются, а что это ни кто его не видит.
    Ответ написан
  • Windows 10 как рабочая среда для full-stack разработки?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Windows 10 как рабочая среда для full-stack разработки?
    Конечно.
    Разрабатывать нужно в той среде, в которой вам удобно работать.
    А сам проект запускать в той среде, где он будет работать - поднимите сервер на линукс в виртуалке.

    Вин10 + Убунту в виртуалке? Дык интерфейс безбожно тормозит в виртуалке, начинает бесить через 10 минут буквально.
    Какой интерфейс тормозит? Буквы в терминале?
    Ответ написан
    7 комментариев
  • Windows 10 как рабочая среда для full-stack разработки?

    Adamos
    @Adamos
    Работа фуллстека - это IDE, консоль и браузер. ОС под ними должна отвечать главному требованию: не мешать.
    Винда при веб-разработке этому требованию соответствует неважно, необходимости в ней нет вовсе.
    Для работы фуллстеком все равно нужно изучить азы Линукса. Иначе будете беспомощны перед элементарными ошибками.
    Ставить Убунту - это, конечно, шаг неудачный. Каноникал продолжает экспериментировать с интерфейсами, а для работы интерфейс должен быть максимально незаметным, то есть привычным. К счастью, есть Xubuntu / Mint, где нормально поддерживаются традиционные интерфейсы без лишних экспериментов над пользователем.
    Вам стоит поставить такой дистрибутив (можно дуалбутом), поднять в нем виртуальный сервер в Вагранте (это проще, чем докер), поставить IDE (PhpStorm, например) - и перестать обращать внимание на систему, сосредоточившись на своих инструментах и разбираясь в системе по мере надобности (а это, повторяю, все равно нужно сделать, как бы вы ни цеплялись за Винду). Немного времени - и вы сами начнете недоумевать, куда вам так впилась Десяточка, и испытывать неудобство уже в ней.
    Ответ написан
  • Windows 10 как рабочая среда для full-stack разработки?

    @romancho354
    Работаю как на Виндоус 10 (дома) так и на Убунту (работа), Минт (дома). Особой разницы нет. Nodejs для галпов, vue, npm ставится без проблем везде. Для пхп есть Опенсервер для винды, и apache2/nginx (пока бесплатный), для линукса. На Винде тяжелее менять версии пхп. Композер ставится и там и там без проблем Докер достаточно гемморойно ставится на Винду. С питонами ее работаю.
    Ответ написан
    Комментировать
  • Windows 10 как рабочая среда для full-stack разработки?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Вин10 + Убунту в виртуалке? Дык интерфейс безбожно тормозит в виртуалке, начинает бесить через 10 минут буквально
    Юзаю вот это для разработки под веб.
    Проблем - никаких. Можно самому доставлять/менять всё, что хотите.
    Ответ написан
    Комментировать
  • Windows 10 как рабочая среда для full-stack разработки?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    юбунта уже как минимум пару выпусков - минное поле. кубунта 1904 еще была довольно стабильна, но 1910 уже тоже может что то крешится в первые минуты после инстала

    федора 31 - в виртуалке вроде стабильна, но мне их вайланд поперек горла (я с Нортона привык к Ctrl+Enter, потом в Far, потом в mc, а под вайландом Ctrl как модификатор не признается)

    при этом хочу все свежее. угробил неделю на перебор дистрибутивов и... вернулся на винду. проще обкастрировать фоновые процессы, а дальше, что то под WSL, что то в виртуалках. в зависимости от хотелок
    Вин10 + Убунту в виртуалке? Дык интерфейс безбожно тормозит в виртуалке, начинает бесить..
    вы часом не Hyper-V пробовали? под ним только винда шикарно живет. можно и линуксы, но только сервера. ну разве что еще KDE.. но гостевых тулов нету. клипбоард не пробрасывается. зачем такой мазохизм?
    только VMWare или VirtualBox. варька понадежнее и стабильнее, но не бесплатная (да и потяжелее чуток). у бокса в принципе тоже свои плюшки есть. осваивать нюансы надо и там и там. но в целом, даже по дефолту все должно работать..
    при условии что у вам памяти достаточно - гигов 8, лучше 16. если вдруг всего 4 - только WSL

    ps если с ресурсами все в порядке (проц память в достатке) - в вирт советовал бы выбирать из Debian или Centos (графические драйвера и кодаки не нужны, все развлечения можно оставить винде)
    о WSL советую прочитать относительно свежую публикацию - https://habr.com/ru/company/microsoft/blog/476026/
    Ответ написан
    61 комментарий
  • Windows 10 как рабочая среда для full-stack разработки?

    @ned4ded
    Верстка, Фронтенд
    "Или же лучше Вин10 + WSL и не парить мозг?" так и делаю, доволен

    Раньше работал на убунта в качестве гостя на виртуалке и вин10 в качестве хоста - памяти съедало как фальстаф на завтрак.

    Более того, у wsl отличная интеграция с vscode, который, на мой взгляд, лучший бесплатный редактор для фронтенд разработки (слез с атома год назад и вздохнул спокойно).
    Ответ написан
    3 комментария
  • Достаточно ли Macbook Air 13" 2019 для современной веб-разработки?

    lamer350
    @lamer350
    กำลังสูงสุด
    Моя нелюбовь к ейрам построена на личном опыте использования. Доложите и купите 13ку Pro 2019 в минимальной комлпектации c 1.4, чтобы потом не пожалеть!
    2х ядерный проц, медленее оперативка, а в добавок такой себе экран еще и ШИМ при яркости меньше 70%. Самая бесполезная покупка, вот если такой купите - тогда и будет скрипеть сердце и кошелек, ибо я считаю что это деньги на ветер! Но это мое личное субъективное мнение.
    Ответ написан
    6 комментариев