• Как разбить строку через разделитель несколько раз?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Самый простой и лаконичный вариант
    $uuid_str = "392981414524f56f68d9f4a47e7072f2";
    
    echo join('-', sscanf($uuid_str, '%8s%4s%4s%4s%12s'));


    Ещё вариант через substr
    $uuid_str = "392981414524f56f68d9f4a47e7072f2";
    
    $uuid_dashed = 
        substr($uuid_str , 0, 8) . '-' . 
        substr($uuid_str , 8, 4) . '-' . 
        substr($uuid_str , 12, 4) . '-' . 
        substr($uuid_str , 16, 4)  . '-' . 
        substr($uuid_str, 20)
    ;
    
    var_dump($uuid_dashed);
    Ответ написан
    1 комментарий
  • Что такое Docker простыми словами?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Что такое Docker простыми словами

    простыми словами

    Если совсем прям простыми, то - это некая легковесная оболочка, которая способна изолировать приложение внутри себя от внешнего мира. Очень похож (по логике) на системы виртуализации VMware, VirtualBox, Parallels итп, но сам не является им.

    Возможности:

    - Контейнеризация: Docker позволяет паковать приложения вместе со всеми их зависимостями в контейнеры, обеспечивая тем самым их независимость от конкретной инфраструктуры.
    - Переносимость: Контейнеры Docker могут быть запущены на любом компьютере, который поддерживает Docker, независимо от операционной системы. Это делает распространение и развертывание приложений намного проще.
    - Изоляция ресурсов: Каждый контейнер Docker работает в изолированной среде и не влияет на другие контейнеры или хостовую систему.
    - Слоистая файловая система: Docker использует слоистую файловую систему для хранения данных, что позволяет существенно экономить дисковое пространство и упрощает обновление и распространение контейнеров.
    - Сетевые возможности: Docker позволяет настраивать сетевые параметры каждого контейнера, что позволяет создавать сложные многокомпонентные приложения.
    - Docker Hub: Docker Hub – это репозиторий, где можно хранить и делиться контейнерами. Это облегчает развертывание и распространение приложений.
    - Docker Compose: Это инструмент для определения и запуска многоконтейнерных - Docker-приложений. С помощью Compose вы можете использовать файл YAML для конфигурации служб вашего приложения, а затем с помощью одной команды создать и запустить все службы.
    - Docker Swarm: Docker Swarm предоставляет нативные возможности Docker для оркестрации и масштабирования кластера Docker.
    Ответ написан
    Комментировать
  • Онлайн-школа или личный ментор?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    На обучение денег не жалко, главное, чтобы был результат.


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

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

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

    xez
    @xez
    TL Junior Roo
    Тут дело такое:
    1. Хороший "личный ментор", скорее всего, вам не по карману. З.п. старшего java разработчика / тим лида сейчас от 300к. Т.е. ставка около 2тр/час. Какая у такого специалиста мотивация чтобы с вам возиться?
    2. Профессия разработчика подразумевает непрерывное постоянное самостоятельное обучение. Не умеете сами учиться? Не хватает мотивации? Эта профессия не для вас.
    Работа програмиста на 80% - это чтение кода, изучение технологий, ковыряние логов, отладка и т.д. Рутины будет много (как и в любой другой профессии) и эту рутину нужно любить чтобы не сгореть еще стажером.
    3. Курсы вам помогут системным подходом к обучению, но вся информация в них доступна бесплатно в интернете, а так же в книгах за сравнительно небольшой прайс.
    Ответ написан
    6 комментариев
  • Онлайн-школа или личный ментор?

    ali5
    @ali5
    Не нужны ни менторы ни курсы,
    лучшее обучение тут 2 варианта -
    Институт по спецальности Разработка/it или Самому ТОЛЬКО по книгам (Авторов тех же Интститутов или уважаемых программистов с тонной опыта), а то как мой знакомый начитался на каком-то сайта по JS, а там была умышленно сделана ошибка чтобы курс их купили xd и ему на собеседовании из за этого отказали, обрывки в интернете эти могут на нет вообще обучение свести.

    всё. Курсы, менторы - деньги на ветер.
    Ответ написан
    1 комментарий
  • Как правильно просить повышения зарплаты?

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

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Подскажите какую-нибудь книжку или бесплатный курс, где нет ничего сложного и лишнего, чтобы с полного нуля научиться диагностировать болезни и пойти работать врачом-диагностом начинающим.
    Ответ написан
    Комментировать
  • Как использовать AsyncThunk в middleware redux?

    @ArgeoMer Автор вопроса
    Next прокидывает action в следующий middleware или, если middleware больше нет, запускает action в редьюсер. По этому пути ясно, что acync Thunk не может быть обработан(он не встречает на этом пути необходимый DefaultMiddleware)
    Чтобы это исправить достаточно отправить асtion не в следующий middleware, а прокинуть его в начала пути через store.dispatch(asyncThunk)
    export const updateData: Middleware =
       (store) => {
          const dispatch = store.dispatch as AppDispatch
          return (next) =>
             (action: PayloadAction) => {
                if (action.type.startsWith('login/')) {
                   dispatch(fetchOffersAction())
                }
                return next(action)
             }
       }
    Ответ написан
    Комментировать
  • Разница между JavaScript и HTML5 игрой?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    На html игры не пишут. Их всегда пишут на javascript
    Просто так называют игры, которые для отображения используют холст (canvas)
    Такое название сложилось исторически, с тех времен, когда игры в основном писались на флеше. Вот чтобы их как-то обособить игры на js стали называть играми на html5 в противовес флешу.
    Ответ написан
    Комментировать
  • Почему возникает утечка памяти в php-fmp?

    @Vitsliputsli
    Утечка - это когда процесс не пользуется памятью, но и не высвобождает. По вашему описанию, php-fpm прекрасно использует память для других скриптов, а также высвобождает при необходимости. Т.е. это не утечка.

    Чтобы утечка проявила себя более явно установил memory_limit = 1G

    Выделение памяти операционкой это медленный процесс, поэтому при возможности выгоднее запросить побольше, вы выставили лимит в 1G, почему бы не зарезервировать сразу 18%.

    В общем, если без перезапуска php-fpm рано или поздно получите ошибку недостатка памяти, тогда можно будет говорить об утечке.
    Ответ написан
    6 комментариев
  • Как убрать уведомление темы в wordpress о переходе на платную версию?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    Попробуй вот так:
    add_action( 'wp_loaded', function(){
    	remove_action( 'admin_notices', 'enjoyblog_notice' );
    } );

    Можно добавить в functions.php для быстрого теста.
    Ответ написан
    2 комментария
  • Как на сайте лучше разместить раздел вопросов?

    vabka
    @vabka Куратор тега Веб-разработка
    Почему бы не сделать и то и то?
    И раздел с вопросами на все темы, а в разделе с болгарками просто применять фильтр и выводить только вопросы про болгарки
    Ответ написан
  • Как правильно обновлять данные react после обращения к api?

    neuotq
    @neuotq
    Прокрастинация
    Изменения в UI до прихода данных с сервера - тн оптимистический подход (Optimistic UI updates).
    Советую следовать простому правилу: делать оптимистичные обновления в интерфейсе всегда, кроме случаев когда это критично для пользовательских сценариев(очень редко когда и где нужно). В таком случае ваше приложение будет ощущаться намного более отзывчивым, приятным и быстрым. Ошибки и откаты можно сделать потом, после прихода с сервера ответа с ошибкой.
    Советую погуглить "Optimistic UI updates", статей на этот счёт в разном контексте огромное число.
    Ответ написан
    1 комментарий
  • Как реализовать функцию,принимающую неограниченное кол-во объектов и возвращает новый объект,содержащий все поля со всех объектов?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    раз хочется именно с reduce() – то можно редьюсить массив аргументов до одного результирующего объекта:
    const mergeObjects = (...args) => args.reduce((acc, c) => Object.assign(acc, c));

    Использование:
    mergeObjects({a: 'A'}, {b: 'B'}, {c: 'C', a: 'AAA'})
    // { a: "AAA", b: "B", c: "C" }


    Или так, чуть почище, чтобы не менять первый исходный объект:
    const mergeObjects = (...args) => args.reduce((acc, c) => ({...acc, ...c}), {});
    Ответ написан
    7 комментариев
  • Что означает "/s" в конце комментариев на Хабре?

    Boomburum
    @Boomburum Куратор тега Хабр
    Местный
    Это означает, что комментарий был написан в режиме сарказма ) sarcasm mode on ... sarcasm mode off.
    Ответ написан
    1 комментарий
  • Литература по этапу инициации IT стартапа?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Учебники по маркетингу и экономике.
    Ответ написан
    3 комментария
  • Использование staticmethod в Python это плохая практика?

    iggor-markin
    @iggor-markin
    Python Developer
    Вы не задаёте вопросов в этой заметке, поэтому просто прокомментирую. Зло — это когда программист делает какие-то вещи необдуманно. От балды. У вас же есть задача и вы решаете её доступным, понятным и удобным способом. Главная мысль уже описана вами же:
    существуют ситуации, когда в бизнес-логике возникает необходимость
    Ответ написан
    Комментировать
  • Как правильно поставить тип параметру?

    @r_zaycev
    Все правильно ругается, потому что поля `propertyName` действительно нет в TodoListArrayType и у вас в коде ошибка

    Обращаться нужно как `oldItem[proprtyName]`. Но не факт, что на это линтер не будет ругаться
    Ответ написан
    Комментировать
  • Постоянное отслеживание времени?

    chincharovpc
    @chincharovpc
    Думаю, нужно использовать setInterval
    const [dateTime, setDateTime] = useState(new Date());
        useEffect(() => {
            const id = setInterval(() => setDateTime(new Date()), 1000);
            return () => {
                clearInterval(id);
            }
        }, []);
    Ответ написан
    3 комментария
  • Как декодировать json от flask в js?

    Lynn
    @Lynn
    nginx, js, css
    Прочитайте какую-нибудь документацию по fetch. Например https://doka.guide/js/fetch/

    fetch(...).then(response => response.json()).then(ObrabotkaAddWorker);
    Ответ написан
    Комментировать