Задать вопрос
  • Парсинг для чайников?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    В институте парсинга информации при российской академии естественных наук (РАЕН) на кафедре текстов входящих сообщений на тертьем кусе есть дисциплина log-файлы. Там с третьей по сельмую лекции рассказывается как сие сделать. В учебном плане 17 семинаров, 8 лабораторных и 3 РГЗ.

    Если серьёзно, то формулировка вашего вопроса показывает, что вы не понимаете чего хотите или не пишете этого в вопросе. В первом случае вам нужно учиться программировать. Просто программировать. На любых курсах, соответствующих вашему уровню. Потом вопрос такой у вас уже не возникнет и все станет само собой понятно.
    Если вариант 2, то... Курсов парсинга log-файлов не бывает. Это тривиально. Вам нужно учиться более простым вещам прежде чем решать такие задачи.
    Ответ написан
    1 комментарий
  • Как настроить телеграм чтобы не удалялась переписка?

    cr1gger
    @cr1gger
    Все дороги ведут в Рим — встретимся в Риме!
    Никак! Так задумано. Хочешь кому то что то потом доказывать. Используй вк или ватсап
    Ответ написан
    1 комментарий
  • Как обойти ограничения к API на количество запросов?

    inoise
    @inoise Куратор тега PHP
    Solution Architect, AWS Certified, Serverless
    В любом случае придётся использовать прокси
    Ответ написан
    Комментировать
  • Какие ресурсы посоветуете для изучения php?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    По всем советам читаю книгу "php7 полное руководство" автор- Игорь симдянов. Я не понимаю что там вообще написано!

    Это плохо, но надо стараться.

    Курсов, которые будут лучше этой книги, не существует.
    Все что ты найдешь - будет заведомо хуже. И вместо цели "хорошо знать php" ты достигнешь прямо противоположной - как говнокодить на РНР, не понимая ни одной написанной строчки.

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

    Lynn
    @Lynn
    nginx, js, css
    Создаёте новый пустой репозиторий на гихабе/гитлабе. На странице репозитория будет пошаговая инструкция как запушить туда ваш существующий локальный репозиторий.
    Ответ написан
    3 комментария
  • Как это называется, и как это создаётся?

    dicem
    @dicem
    Это называется Мокап (mockup), создается как любое другое изображение в фотошопе с использованием смарт-объектов для последующей легкой замены изображений в мокапе
    Ответ написан
    Комментировать
  • Как правильно вывести информацию определенной таблицы на всех страницах сайта Laravel?

    Приветствую.
    Сделай так - файле AppServiceProvider в методе boot() напиши:
    view()->composer('*', function($view){
                $view->with('info', TableName::find(1));
            });
    Ответ написан
    Комментировать
  • Какие проекты стоит выкладывать на GitHub?

    Sanes
    @Sanes
    Черновикам там точно делать нечего. Разве что для бекапа.
    А открывать те, у которых завершенный вид.
    Ответ написан
    Комментировать
  • Как автоматизировать WorkFlow?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Вам нужно выбрать для себя Workflow Manager и интегрировать в него микросервисы с готовым функционалом. Например, можно посмотреть на Zeebe
    Ответ написан
    Комментировать
  • Где можно отучиться на DevOps'а?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Сначала надо дорасти до бородатого сисадмина (цикл статей для начинающих, Яндекс выпилил вроде у себя записи лекций с КИТа, поэтому добро пожаловать на торренты), параллельно изучая цикл разработки ПО с инструментарием на всех шагах, тоже естественно на практике (тут помогут как open source проекты, так и зарабатываемые деньги, которые сгорят на лабы в облаках дабы покрутить игрушки), а в идеале ещё и поработать весломразработчиком от года и более.
    Ответ написан
    Комментировать
  • Существует ли балансировщик нагрузки для Queues?

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

    @d-sem
    Не обязательно, но в какой-то мере знать полезно. Даже если не fullstack.

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Никак. Нельзя хранить теги текстовым полем с записанными подряд тегами. Для этого делают связь многие-ко-многим, где теги в отдельной таблице, записи отдельно и есть таблица связей тегов к записям.
    Ответ написан
    24 комментария
  • Какая лучше практика для создания уникального числа и запись его в таблицу, с проверкой на уникальность в этой же Таблице?

    serginhold
    @serginhold
    Возможно тебе это вообще не нужно, если это какая-нибудь авторизация: юзер + пин. В таком случае нет смысла в полной уникальности и уникальный ключ идет на два поля.

    А так если нужна прям уникальная запись, то обычно используется UUID (гугл в помощь), который по сути зависит от текущей метки времени. Как правило, по этот метке генерируются все псевдослучайные числа в различный встроенных функциях.

    Если по быстрому на коленке, и только цифры, в php можно сделать что-то типа такого: hexdec(uniqid())
    Ответ написан
    7 комментариев
  • Какая лучше практика для создания уникального числа и запись его в таблицу, с проверкой на уникальность в этой же Таблице?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых - что у вас называется пином? текст, число, какая длина и в каком формате хранится и для чего используется? Насколько это "секьюрная персональная информация"?

    интеджер от 5 до 7 символов
    В идеале, если это пин, он должен содержать какое-то определенное количество символов. Это удобно по многим причинам.

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

    2 вариант - генерация "налету", например через микротайм, или ранд, не суть. В таком случае конечно же не нужно делать проверку через do while, достаточно сделать селект со сгенерированным значением, если запрос вернул строку - перегенерировать, если вернул пустой результат - можно добавлять. В любом случае поле нужно сделать уникальным, дабы избежать повторений.
    Ответ написан
    7 комментариев
  • Ограничение выполнения функции, как сделать?

    pxz
    @pxz
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    Используйте класс `Illuminate\Cache\RateLimiter`.

    $limiter = app()->make(Illuminate\Cache\RateLimiter::class); // Или завозите через DI
    
    $limiterKey = request()->ip() . '_readNotifications';  // Какой-то ключ, по которому будет вестись счётчик
    
    $decayIntervalInSeconds = 60; // Время, за которое считается счётчик, секунды
    $limiterThreshold = 2; // Кол-во событий
    
    // В данном случае 2 события в 60 сек.
    
    // Проверяем счётчик
    if ($this->limiter->tooManyAttempts($limiterKey, $limiterThreshold)) {
        throw new TooManyRequestsHttpException($decayIntervalInSeconds);
    }
    
    // Добавляем попытку
    $this->limiter->hit($limiterKey, $decayIntervalInSeconds);
    
    // ...  Делаем что-то


    Лучше в какой-то метод обернуть или в сервис вынести.
    Ответ написан
    2 комментария
  • Какую литературу можно найти по golang?

    @programrails
    Я бы рекомендовал изучение в такой последовательности:

    Beginner level (синтаксис языка):

    1. Начать с golang-book.ru . Это на русском и довольно неплохо для начинающего.

    2. https://golang.org/doc/effective_go.html - это уже на английском, но всё равно толково и хорошо заходит после 1-го пункта. Кратко, по делу, без воды, достаточно понятно.

    После прочтения этих 2 пунктов у Вас уже будут базовые понятия о языке.

    Intermediate level (concurrency - многопоточность):

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

    (продолжаем последовательность изучения Go по пунктам):

    3. Базовый веб сервер на Go Статья, без которой дальнейшее трудно заходит (книгоавторам всем дружно лень такое нормально объяснить).

    4. M. Curtis - Level Up Your Web Apps With Go
    Читал - и не понимал - что происходит? Чувак явно пишет рельсы на Go! Всё такое до боли знакомое... Что такое? А потом смотрю в профиле https://www.linkedin.com/in/mal-curtis/ - так он же пишет на работе на Ruby on Rails! Так что книжка отлично зайдёт рельсовикам, осваивающим Go. Книга неплохая, автор явно старался. Автор, ты хороший человек.

    5. K. Cox-Buday - Concurrency in Go. Tools and Techniques for Developers. Книга не очень удачная, но пока я не успел найти что-то получше. Автор - женщина, и глупая. Книга читается мучительно и крайне медленно. Охват материала неплох - но объяснения косноязычные, с водопадом лишних слов и эмоций, примеры кода неоправданно переусложнены, ряд тем вообще остались бы непонятыми, если бы не гугление. Читаю и матерюсь на каждом шагу.
    PS Последние 2 главы пошёл уже такой горячечный бред, что я просто не смог заставить себя читать этот ужас. Бросил. В общем, далее параграфа Queuing читать не стоит. Книга прекрасно иллюстрирует тезис, что, какими бы умными ни были женщины, они всё равно дуры, и нечего им в программировании делать (кроме разве что 1С).
    К сожалению, книгу прочесть всё-таки надо, ибо охват хорош - а заменить книгу особо нечем (в смысле другой книгой, продаваемой за деньги - разве что статьями).

    Есть ещё книга N. Kozyra - Mastering Concurrency in Go - но у неё ужасные отзывы - да и я пытался читать другую книгу по Go у этого же автора - и мне также крайне не понравилось.
    Смешно сказать - но по Go нет ни одной путёвой книги про Concurrency (единственное, ради чего Go был создан)!

    6. Лучшее объяснение Go Context, что я пока видел. Оно даже лучше официального (написанного индусом, и оттого плохого).

    7. M. Tsoukalos - Mastering Go - но только Chapter 10: Concurrency in Go – Advanced Topics - и исключая параграф Worker pools (он ошибочный - там ничто не сдерживает размножение горутин - какой же тогда это пул).
    Средне-удовлетворительная глава, звёзд с небес не хватает, интереснее всего был параграф Sharing memory using goroutines - частный пример Катькиного Confinement'а.

    Advanced level (микросервисы на Go):

    Я пытался читать N. Jackson - Building Microservices with Go - это оказалось невозможным, книгу написал какой-то сумасшедший безумец, находящийся в состоянии наркотического опьянения. Отзывы на Амазоне это подтверждают.

    Также я попытался читать M. Ryer - Go Programming Blueprints (2 ed) - только главу Chapter 10: Micro-services in Go with the Go kit Framework - не понравилось. Примеры кода сложноваты (автор пытается построить реальную систему - ну и дурак - вместо того, чтобы ограничиться демо-примером), объяснения сопутствующего материала никакие (по сути, их нет). Бесполезная глава. Несколько тем свалены вместе - но ни одна толком не объяснена. Очень слабенький автор.

    Вердикт: нормальной книжки по теме "Go микросервисы" пока не обнаружено. Придётся изучать эту тематику из статей и инструкций по использованию микросервисных Go-фрэймворков - вот списочек фрэймворков:


    Я начал с gRPC. Сначала прочёл официальную доку по protobuf (включая раздел о Go). Дока оказалась достаточно вменяемой. Но зато официальная дока по gRPC уже оказалась совершенно паршивой. Там 2 примера - попроще и посложней. Писали доку явно последователи тех, кто писал доку к первому ангуляру (т.е. те, кому я бы отрубил обе руки по самые плечи). Понять что-либо без исходников (к статье) - нереально. Но - исходники ещё надо найти, ибо в статье ссылки на них ... нет. Оказалось, исходники тут: https://github.com/grpc/grpc-go/tree/master/exampl... . Но даже с ними - всё довольно непросто понять - даже в простейшем примере. Потому что авторы умолчали о многих важных моментах. Т.к. им в падлу шевельнуть задницей лишний раз. В общем, есть нужда в нормальном авторе, кто опишет, что такое gRPC. Попробуйте почитать статью от Шизы - это слегка окультуренный сокращённый пересказ сложного случая.

    Рассмотрим Go Micro. Продукция очередного кретина (да ещё и спорного качества). Что, скажите, можно понять из таких "объяснений"? Кстати, ищите в Яндексе термин "Service Discovery" - здесь нужно понимать, что это. Посмотрите и Consul. Вот ещё разумная статья о Go-микросервисах. И ещё я понял - без предварительного изучения protobuf и gRPC понять Go Micro будет затруднительно (если вообще возможно). Желаю вам никогда не встретить на работе продукцию этого дегенерата. Go Micro показался мне китайским фонариком со встроенными компасом, радиоприёмником, часами, зарядкой, отвёрткой, точилкой для карандашей, ногтерезкой, и т.д.

    Идём дальше. Go kit производит намного более лучшее впечатление. Правда, документация не полная - автору не хватило терпения её закончить. Но всё же разобраться можно - есть исходники-примеры, снабжённые подробными комментариями. Автор мне понравился.

    Почитайте полезную статью-сравнение.

    Приложение:

    Гоняться за русскоязычными книгами по Golang не рекомендую. Я прочёл на русском:
    - А. Донован, Б. Керниган - Язык программирования Go
    Это совершенно отвратительная бездарная книга.
    и просмотрел оглавление русскоязычной книги:
    - М. Саммерфильд - Программирование на языке Go
    Хотя я её не читал, но беглый просмотр её оглавления создаёт самое негативное впечатление о книге. Такое ощущение, что это целенаправленная диверсия против изучающего golang, с целью развести его на время (прочтения) и деньги (при покупке). Марк Саммерфилд - это профессиональный графоман, посмотрите сами на его карьерный путь: https://www.linkedin.com/in/qtrac/

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

    М. Батчер, М. Фарина - Go на практике - на русском языке - эта книга вроде бы достаточно неплохая, но она для опытного разработчика - и она не излагает системно - а отрывисто.

    Пытаться читать спецификацию языка также не рекомендую - ничего не поймёте:
    https://golang.org/ref/spec

    Заключение

    Нормальной литературы по Go практически нет (кроме азов). Все микросервисные Go-фрэймворки плохо документированы, вынуждая разбираться в них по примерам с исходниками (!).

    Англоязычных книг по Golang в электронном виде бесплатно - много, более 30 (а то и под 50). Многие написаны индусами, или оторванными от жизни вузовскими преподами, или какими-то левыми любителями Go (у таких "книг" даже нет ISBN). Есть даже книги, написанные неграми! Все такие книги требуют осторожного выбора. Почему именно Go вызвал у окружающих непреодолимые позывы к графоманству? Такое впечатление, что многие авантюристы решили "срубить баблишка" на "хайповой" теме. Действительно, найти хотя бы нормальную книгу (не говоря уже о хорошей) - оказывается по факту крайне непросто - почему-то именно к Go примазались многочисленные негодяи и бездари - как ни в каком ином языке программирования.

    Всё, о чём я рассказал в этом посте, доступно бесплатно онлайн в электронном виде (Либген, к примеру).

    В общем-то, основное внимание при изучении Go следует уделить его возможностям по многопоточности (concurrency), которые включают низкоуровневые механизмы (как в C++) типа мьютекса и высокоуровневые механизмы типа каналов. Собственно, это как раз то самое, зачем Go вообще понадобился. Вторая по значимости тема в Go, как мне кажется, это микросервисы.
    Ответ написан
    Комментировать
  • Как правильно перезагрузить страницу, если пользователь удален?

    @sl0
    В симфони данные юзера записываются в сессию и при любом изменении данных валидируются. Соответственно при удалении пользователя самим собой теряется валидатор и вываливается эта ошибка. Самый простой способ будет принять в public function delete
    еще и SessionInterface $session, а потом очистить сессию:
    $this->get('security.token_storage')->setToken(null);
    $session->invalidate();
    Ответ написан
    1 комментарий
  • Портфолио backend?

    DevMan
    @DevMan
    да ничего не делать.
    портфолио - это то, что можно увидеть/потрогать руками. а бекэнд - то, что никто не видит, но все его пользуют.

    максимум - код на каком-то гитхабе. который мало кому упёрся.
    всё портфолио бэкендера - способность красиво рассказать что умеет и доказать это.
    Ответ написан
    1 комментарий