Задать вопрос
  • Стоит ли проверять имя и пароль пользователей при каждом запросе к api(guzzle)?

    DollyPapper
    @DollyPapper
    Токены хорошо использовать там, где сервис stateless, например в микросервисах, т.к. сессии по логину и паролю горизонтально хреново масштабируются. Вы мне кажется путаете токен и обычный пароль. Логин уже должен быть зашит в токен. В вашем случае если расширять ничего не планируете, используйте обычные сессии. В случае если хотите использовать токены вам их нужно 2
    1)Access токен - токен по которому юзер собственно аутентифицируется в приложении. Этот токен имеет время жизни, обычно довольно маленькое, минут 15.
    2)refresh токен - по этому токену раз в 15 минут фронт посылает запрос на определенный эндпоинт и апи выдает новый access токен.
    Нахрена нужен refresh токен? Очень просто. Если наш access угнали, а приложение у нас stateless, то есть мы никакого состояния и информации о заходах пользователя на сервере не храним, то мы никак не можем заблокировать данный токен, вот тут вступает в силу refresh токен. Спустя 15 минут наш access станет не валидный и клиент пошлет запрос с refresh токеном, в ответ api пришлет новый access и тот токен который у злоумышленника станет не валидный.
    В вашем случае да, подойдет обычная аутентификация на куках
    Ответ написан
  • Что считается технологией в программировании?

    DollyPapper
    @DollyPapper
    Технология понятие размытое. Это совокупность методов, инструментов и процессов для достижения определенного результата. Алгоритм сортировки пузырьком тоже можно считать технологией. Этот алгоритм может быть реализован в React или Angular, тогда это технология внутри бОльшей технологии.
    В общем процессы, инструменты, методики и подходы в совокупности направленные на решения какой-то задачи или группы задач можно назвать технологией.
    P.S.
    SPA это скорее подход, который реализуется с помощью какой нибудь технологии. В контексте моего ответа его скорее нужно называть "задача"
    Ответ написан
    Комментировать
  • Как установить эти пакеты и node.js используя apk вместо apt-get в Ubuntu?

    DollyPapper
    @DollyPapper
    apk add --no-cache python3-software-properties gnupg2 curl wget

    У вас в образе не убунту а alpine
    Ответ написан
    7 комментариев
  • Как развиваться дальше начинающему Андроид разработчику?

    DollyPapper
    @DollyPapper
    1) Ищем вакансии по андроиду в вашем городе
    2) Выписываем требования по технологиям
    3) Пишем проект который максимально будет затрагивать большинство из этих технологий. Нет, не чтобы на собесе показать (хотя это тоже), а чтобы хотя бы базово понимать как с этим работать.
    4)Пытаемся устроится трейни или джуном
    Изучать программирование читая книги и делая задачки из неё, я понял на собственном опыте - это крайне малоэффективно
    , это вообще не эффективно в современном мире. Делайте всё что описано выше, попутно каждый день пиля какой нибудь проект масштабом больше калькулятора и откликайтесь на вакансии. Главное не бояться ходить на собесы думая, что вы не готовы. Никто и никогда не готов.
    Ответ написан
    3 комментария
  • Смена версии питона на убунту все сломала, как исправить?

    DollyPapper
    @DollyPapper
    Вопрос в том, с чего вы взяли, что те приложения что сломались совместимы с версией 3.9? Я не знаю как обстоят дела в питоне с обратной совместимость, но библиотеки на которых были завязаны определенные функции в приложениях могут не иметь обратной совместимость между 3.9 и 3.8, отсюда все и сломалось. "Правильного" перехода может просто не существовать.
    Ответ написан
  • Видеоуроки на YouTube по компьютерным сетям с нуля?

    DollyPapper
    @DollyPapper
    Ответ написан
    Комментировать
  • Зачем создают третью таблицу для связывания двух?

    DollyPapper
    @DollyPapper
    В БД 3 типа связей OneToOne, OneToMany, ManyToMany.
    Первые два типа связей реализуются путем ссылок внешними ключами с подчиненной таблицы на главную (есть более умные термины, но я их забыл). Тип связи MtoM вы без третьей таблицы не реализуете. Просто сами попробуйте придумать как связать это без третьей таблицы и станет ясно.
    Ответ написан
    Комментировать
  • Как лучше всего хранить адреса в БД (MySQL)?

    DollyPapper
    @DollyPapper
    Ну во первых если у вас уже есть разные сущности которые могут на один и тот же адрес ссылаться, то конечно же стоит вынести адреса в свою таблицу, это требования НФ в построении БД. Так мы уменьшаем дублирование.
    А вот дальше по структуре самой таблицы уже нужно от задачи плясать. Если вы просто будете выбирать адрес целиком, то хреначьте просто в строку весь адрес. Если нужно будет найти все дома под номером "6", то логично в отдельную колонку вынести номер дома и т.д.
    Ну вообще я бы сразу распилил адрес, т.к. сегодня нам не нужно искать дома с номером 6, а завтра нужно.
    Вопрос на сколько частей адрес распиливать, тоже хороший вопрос. Как минимум номер дома отделять нужно.
    Ответ написан
    Комментировать
  • Реально ли работать в одном IT-проекте (продуктовом) больше 5-ти лет и не деградировать профессионально?

    DollyPapper
    @DollyPapper
    Если проекты над которыми вы работаете развиваются, то развиваетесь и вы, что как бы логично. Приведу пример.
    Я второй год работаю в компании в которой следующая ситуация: над нами сверху есть только менеджерский контроль по срокам. По выбору технологий мы (кто обычно работает над проектами, это команда +- 3-5 чел.) вольны выбирать всё что сами захотим. Строить систему мы можем как хотим, указаний сверху нет. Да как можно понять проекты не энтерпрайз уровня, по сути не очень большие, но разноплановые. И сервис который работает с IoT построенный на микросервисах, написанный на Go, и монолиты полу энтерпрайз (в том плане, что для реальных мамонтов в 1000000000 строк кода этим проектам далеко, но бизнес логика довольно сложна), написанные на пыхе. И еще куча разных сервисов на разных технологиях которые выбирает команда, там и питон и haskell даже вроде где-то был. И я например могу по учувствовать если захочу в любом проекте, что я частенько и делаю. Есть минусы, это жесткие сроки, которые порой доходят до смешного. Типа соберите mvp за неделю. Мы его собираем, а дальше сверху думают - "какие парни молодцы, за неделю такую систему собрали, давайте ка им выдвинем еще кучу требований, за две недели управятся". В таких сроках да, в архитектуре ПО особо не прокачаешься, потому что планировать тупо некогда. В этом плане я скорее деградну через год два. Но в остальном я очень даже развиваюсь, и не в свободное время, а прям на работе. У нас очень плохо построен пайплайн, во многих проектах отсутствует CI/CD, там где он был бы кстати, ну потому что опять же никто времени не находит. Но в этом опять же есть плюс, потому что я потихоньку начинаю вокруг своих проектов его налаживать, по мере возможностей и времени. Чем не развитие? Так что деградация начинается тогда, когда у тебя задачи одна на другую похожи, в таком случае лучше естественно валить в другую компанию. Еще как пример я сейчас перевожу одну небольшую систему как бы по работе, но как бы в качестве пет проекта с одного стека на другой (не потому что мне так захотелось, есть реальная необходимость которую я вижу), и когда переведу весь текущий функционал, продолжу работать уже с новым стеком технологий.
    Ответ написан
    Комментировать
  • Действия внутри конструкторов?

    DollyPapper
    @DollyPapper
    Хорошим тоном как по мне в конструкторе писать код связанный только с конструированием обьекта и проверкой предусловий. Т.е. в вашем случае всё хорошо. Однако я думаю не стоит в конструкторе писать основную логику класса для которого он создавался. То есть если это например класс Order, не следует в конструкторе тянуть список товаров из базы, заполнять корзину и т.д.
    Ответ написан
    Комментировать
  • Как сделать проброс портов правильно?

    DollyPapper
    @DollyPapper
    IP адрес - адрес той машины куда пробрасывать
    Внутренний порт - 2 поля: с __ по __ - то есть тут можно указать диапазон портов. В вашем случае все 4 поля заполняете : 9090:9090
    Удаленный IP не указываете. Это что-то вроде белого списка в этом роутере я думаю(но это не точно, каждый вендор поля лепит кто во что горазд), то есть если укажете, то только с этого адреса будет пробрасываться соединение.
    Ответ написан
    Комментировать
  • Если в вакансии указано "наличие профильного технического образования", то важно ли, какой вуз заканчивать - престижный или региональный?

    DollyPapper
    @DollyPapper
    Обычно если нужны именно универские знания, то в вакансии прям так и пишут - закончили спбгу или как его там, ИТМО и прочие. Часто видел такие вакансии. Так или иначе работа была связана с ML, алгоритмами, математикой.
    Если просто пишут, что нужно ВО, то это скорее всего - нужен диплом, чтобы заказчику продать человека с бумажкой где написано, что он не хер с горы, а дипломированный специалист.
    Ответ написан
    Комментировать
  • Как перенести объект из JS в другие языки?

    DollyPapper
    @DollyPapper
    И если CryptoJS.SHA512("hello") возвращает корректный хэш строки "hello", то уже i = CryptoJS.SHA512(i) хэширует не строку hello, а инстанс объекта CryptoJS.

    Ну и сформулирую вопрос более широко: как мне добиться того, чтобы результат кода исполняемого на C++ был идентичен результату кода исполненного на JS?

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

    DollyPapper
    @DollyPapper
    Вы же понимаете, что никто не даст при таких входных данных вам хотя бы примерный ответ?
    Что делать. Ну возьмите его ноутбук и с отладчиком побродите, авось чего найдете.
    и что ему делать?
    , вот этот момент вообще странный. Ему что делать? Ему обращаться к разработчику, то есть к вам.
    Ответ написан
    4 комментария
  • Куда поступить, если в области все плохо?

    DollyPapper
    @DollyPapper
    А с чем вы таким столкнулись, что нужно куда-то поступать?
    но не доверяю таким компаниям как синерджи

    С одной стороны правильно, за знаниями туда точно идти не стоит. Но вот если нужна корочка для формальности (а она как не печально много где нужна), то это не плохой вариант. Я с этим столкнулся, когда не смог выпросить ЗП, потому что , чтобы повысить грейд нужна была галочка о ВО. Вот собственно сейчас там корочку получаю. Напряга никакого, от работы не отвлекает никак, экзамены ("ха-ха") сдаются на изи. Когда времени вообще нет, покупаются. Строго говоря там даже не экзамены в нормальном понимании. Диплом гос. образца. Еще раз: если вам нужны знания в эту помойку идти не стоит. Если на собесе хотите козырнуть хорошим ВУЗом, тоже не ваш вариант. Но если в крупной структуре гос. или не гос. нужна будет корочка (а она будет нужна 100%, т.к. все крупные структуры очень формализованны), то синергия это прям то что нужно.
    В бюджет 60к в гос к тому же уложитесь. На данный момент 30к за семестр.
    Ответ написан
    Комментировать
  • Как в Maya объединить полигональные объекты в одну поверхность - слепок?

    DollyPapper
    @DollyPapper
    Mesh > Booleans

    GUID-22C6BE05-B35C-4964-A070-98C6C25236C4.png
    Ответ написан
    Комментировать
  • Есть ли рабочая инструкция, чтоб дать юзеру доступ по ssh только в одну папку "/var/www/html/direcorty"?

    DollyPapper
    @DollyPapper
    Использовать ssh chroot jail. Инструкция например эта
    Ответ написан
    Комментировать
  • Что конкретно нужно знать про Django для начинающего разработчика?

    DollyPapper
    @DollyPapper
    На самом деле - всё что угодно. "Ты никогда не будешь готов к работе", нужно постоянно учиться.
    Но это не ответ на вопрос, точка входа должна быть у всего. И везде она разная. То есть никогда, не знаешь где тебе что может пригодится. Если более менее усреднить, могу выкатить такой список навыков с которыми можно идти на работу.

    Общие:
    • Знать как работает DNS в общих чертах, знать что такое файл hosts и зачем он нужен.
    • HTTP протокол. Знать его формат, знать статус коды
    • Быть уверенным пользователем Linux терминала. Знать как устроена файловая система линукса, зачем нужны все эти директории. Уметь пользоваться основными командами (cd, grep, ssh, lsof)<- это прям самый минимум, лучше больше. Значить что такое перенаправление ввода вывода (<,>,|)
    • Не плохо бы минимально уметь настроить Nginx. Вероятно вам не придется это делать будучи джуном, но знать как проиходит полный процесс обработки запроса как мне кажется очень полезно.
    • Мочь настроить SSL на nginx. Опять же скорее всего как джун вы этого делать не будете, но кто знает, разок попробовать чтобы просто понять.
    • Docker. Очень часто используется, советую выучить.

    Backend
    • Собственно сам питон и джанго на высоком уровне, это ваш самый основной рабочий инструмент
    • Django ORM и чистый SQL. Опять же на высоком уровне, с БД придется работать постоянно.
    • Если есть время - почитать про проектирование БД. Нормализация БД и вот это вот всё.
    • Понимать что такое авторизация и аутентификация

    FrontEnd
    Возможно вам не придется писать фронт, у вас будет для этого отдельные люди, но вероятность того что придется, она не нулевая. Зная какой нибудь JQuery ну или чистый JS вы повысите свой шанс найти работу. Ну про CSS + HTML я молчу, это даже не обсуждается, знать нужно.

    Отдельно хотел бы упомянуть по само написание кода. Хорошо бы понимать SOLID, DRY, KISS. Ну и конечно ООП, это я даже в списки не включал, это само собой разумеющиеся вещи.

    Это на самом деле список в общих чертах, тут можно много чего добавить, но это быть вечным студентом. С этим набором навыков, при должном их понимании и умении применять вы будете не плохим кандидатом на джун позицию.

    Как это учить?

    Придумываете идею, делаете проект, ловите баги, исправляете. Пишете пару проектов с применением того что выше описано, идете искать работу. Не стоит заниматься бесполезным чтением всего и вся, как только вы за код сядете, сразу обосретесь если будете читать голую теорию. Практика, практика и еще раз практика.
    Ответ написан
    Комментировать