Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
Senbonzakuraa

Senbonzakuraa

Начинаю начинать
  • 5
    вклад
  • 35
    вопросов
  • 12
    ответов
  • 33%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как работает CORS и клиентские запросы в целом?

    InfernoElegy @InfernoElegy
    Возможно. Корс именно для этого и создавался.
    На стороне вашего сервера вы должны возвращать заголовки
    Access-Control-Allow-Origin: https://myclient.com
    Access-Control-Allow-Methods: POST, GET, OPTIONS, ...
    Access-Control-Allow-Headers: Content-Type, ...

    Теперь браузер anyclient.com будет блокировать запрос, когда увидит что сервер не дал разрешения на запрос с текущего домена
    Ответ написан 21 апр. 2022
    Комментировать
    Комментировать
  • Как сверстать этот блок на гридах?

    Seasle
    Александр @Seasle
    \( ゚ヮ゚)/
    Ответ написан 06 апр. 2022
    2 комментария
    2 комментария
  • Как сделать такой border?

    vladchv
    Владислав Черненко @vladchv
    WordPress Developer
    Gradient Borders in CSS
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Почему событие срабатывает несколько раз?

    lastuniverse
    Роман @lastuniverse
    Всегда вокруг да около IT тем
    у вас 2 косяка в коде.

    Первый вы поняли сами, каждый раз при коннекте вы запускаете новый слушатель события "end", и даже если событие возникнит 1 раз, а слушатели стоят как once то все равно сработает каждый из уже запущенных, но еще ни разу не сработавших слушателей.

    Второй косяк - это то что вы не завершаете запущенный setInterval, который каждую секунду продолжает уменьшать таймер, даже после того как таймер станет меньше нуля. В результате, когда таймер достигает нуля у вас начинает срабатывать условие if(this.timer <= 0) на каждый тик
    Ответ написан более двух лет назад
    4 комментария
    4 комментария
  • Как сделать свечение у border?

    Артем Федоров @A-FYODOROV
    Используйте inset box-shadow.
    Например: box-shadow: inset 0 -5px 5px -5px #333;
    Где #333 - цвет, можно использовать полупрозрачный через RGBA или hex полурозрачный.
    Остальное настройте на свой вкус, напричер через инспектор chrome или yandex/firefox
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Почему в macOS Big Sur не работает диктовка и проговаривание?

    GavriKos
    GavriKos @GavriKos
    Потому что бета, которая может глючить
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как подгружать контент в блок принадлежащий элементу цикла?

    0xD34F
    0xD34F @0xD34F Куратор тега Vue.js
    Сохраняйте заказы в объект пользователя:

    <button @click="getOrders(user)">Orders</button>
    <div v-for="order in user.orders">

    async getOrders(user) {
      this.$set(user, 'orders', await fetch ...);
    }
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как передать данные сессии во view?

    Александр Черемхин @Che603000
    c 2011 javascript
    В каждый шаблон передается отдельно, если это необходимо
    router('/user', (req, res, next) =>{
     const {userId} = req.session; // здесь могу ошибаться посмотрите док password...
     User.findById(userId)  // model User в mongoose
       .then(user=>{
         const viewModel ={
           user,  //user для этой сессии
           ...      // что то еще нужное
         };
         res.render('view-user', viewModel)
      })
      .catch(err=>next(err);
    }
    Ответ написан более двух лет назад
    2 комментария
    2 комментария
  • Как спарсить этот JSON?

    Maksclub
    Максим Федоров @Maksclub Куратор тега PHP
    maksfedorov.ru
    <?php
    
    $jsonProducts = '[
      {
        "market_name": "T-shirts",
        "size": "M"
      },
      {
        "market_name": "T-shirts",
        "size": "L"
      }, 
      {
        "market_name": "Jacket",
        "size": "M"
      }, 
      {
        "market_name": "Jeans",
        "size": "XL"
      }
    ]';
    
    $jsonPrice = '{
        "data": [
            {
              "updated_at": 1576048969000,
              "prices": {
                "last": 5300
              },
              "name": "Jacket"
            },
            {
              "updated_at": 1576048969000,
              "prices": {
                "last": 2000.12
              },
              "name": "T-shirts"
            }
        ]
    }';
    
    $products = json_decode($jsonProducts, true);
    $price = array_column(json_decode($jsonPrice, true)['data'], 'prices', 'name');
    
    $result = array_map(function($item) use ($price) {
        $product              = new \stdClass();
        $product->market_name = $item['market_name'];
        $product->size        = $item['size'];
        $product->price       = $price[$item['market_name']]['last'] ?? null;
        
        return $product;
    }, $products);
    
    $result = json_encode($result, JSON_PRETTY_PRINT);
    
    var_dump($result);
    // [
    //     {
    //         "market_name": "T-shirts",
    //         "size": "M",
    //         "price": 2000.12
    //     },
    //     {
    //         "market_name": "T-shirts",
    //         "size": "L",
    //         "price": 2000.12
    //     },
    //     {
    //         "market_name": "Jacket",
    //         "size": "M",
    //         "price": 5300
    //     },
    //     {
    //         "market_name": "Jeans",
    //         "size": "XL",
    //         "price": null
    //     }
    // ]


    sandbox.onlinephpfunctions.com/code/935656788a07af...
    Ответ написан более трёх лет назад
    13 комментариев
    13 комментариев
  • Как оповещать остальных пользователей о событии?

    Razgelday
    Razgelday @Razgelday
    В Laravel есть встроенный функционал для использования WebSocket подписок на событий - называется "Broadcasting" (https://laravel.com/docs/master/broadcasting)

    Общий смысл такой:

    1. На бэкенде создаете событие, которое "вещает" через Pusher / Socket.io
    // app/Events/NewBet.php
    
    // ...
    
        public function broadcastOn()
        {
            return new PrivateChannel('casinoRoom.'.$this->room->id);
        }
    
    // ...

    2. На фронтенде используете встроенный пакет Laravel Echo, чтобы "слушать" это событие:
    Echo.channel('casinoRoom.1')
        .listen('NewBet', (event) => {
            // Новая ставка сделана, можно получить ее данные из переменной event
        });
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Почему первые записи выводятся несколько раз?

    bask
    bask @bask
    Надо использовать Distinct
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Что обязательно нужно знать в PHP и что посоветуете выучить?

    MisterN
    MisterN @MisterN
    Вообще правильно выше сказали, что необходимо плясать от требований потенциальных работодателей. Это все очень зависит от региона - требования, конкуренция, предпочитаемые технологии. А на удаленку без опыта не знаю, можно ли устроиться, я не пробовал. Я бы сказал, что вреда не будет, если вы прямо сейчас напроситесь на собеседование где-нибудь.
    Можете погуглить че-нить типа "как пройти собеседование на программиста php" или типа того, посмотреть обычные задачи для собеседования. Конечно без нет гарантий, что они вам попадутся, но сможете сами увидеть свои слабые места и вообще будете думать в нужную сторону (трудоустройства).
    Вот типовое задание. Конечно, сделать его можно по-разному. Но как сделаете - уж точно можете искать место джуна. Хотя, и то правда, что оно не на джуна и возможно, что оно займет у вас много времени. Но если осилил - не сомневайтесь, уже можно искать работу и в парралель продолжать учиться. Я вот очень благополучно работал без знания автотестов. Не к тому, что они не нужны, а к тому, что вам не обязательно пытаться объять необъятное. А на рынок все-же надо смотреть. А то мож и правда нужно битрикс учить, фиг знает. Красота красотой, но зарабатывать надо.
    "Создание мини CRM системы:
    Должно быть реализовано на любимом фреймворке
    Backend часть
    1. Авторизация в CRM системе
    1.1 Поля для входа на форме (Email, пароль)
    2. Модуль для отображения пользователей системы
    2.0 Отображение списка пользователей
    2.1 Возможность выставление прав пользователям, список (Администратор, менеджер)
    2.2 Поля пользователя (email, пароль, статус)2.3 Удаление и редактирование пользователей
    2.4 Смена статуса пользователям, Активный или неактивный
    2.5 Редактировать список может только пользователи с правами администратор
    3. Раздел отображение заявок
    3.1 Вывод списка заявок
    3.2 Поля у заявки (Имя клиента, Наименование заявки, наименование товар, телефон, время создания заявки, статус, комментарий, цена)
    3.3 Смена статуса заявки (Принята, отказана, брак)
    4. Раздел истории изменения заявок
    4.1 Каким пользователям были изменены поля у заявки (Имя клиента, Наименование заявки, наименование товара, телефон, время подачи заявки, статус, комментарий, цена)
    5. Добавить возможность выгрузки в CSV списка заявок, поля в CSV (Наименование заявки, товар, цена, телефон)

    Frontend часть

    1. Создать простую форму для отправки заявки
    1.1 Поля формы (Имя клиента, телефон, комментарий, товар)
    1.2 Список товаров (яблоки, апельсины, мандарины)
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Что обязательно нужно знать в PHP и что посоветуете выучить?

    OtshelnikFm
    Владимир Дружаев @OtshelnikFm
    Мои работы: otshelnik-fm.ru
    js - да, это фронт как вам кажется, но без него никуда
    Безопасность - все что вы пишете, принимаете, выводите - требует понимания предстоящих проблем. Поэтому очистка и валидация - как минимум.
    Работа с куками
    Работа с мемкешем и в принципе с объектным кешированием
    ООП - странно, но это же само собой пунктом номер 0
    Доки - думаю в команде будут требовать документировать код (PHPDoc)

    Чтоб устроиться еще быстрей - api wordpress. Но тогда из моих пунктов останутся только первые три
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Что обязательно нужно знать в PHP и что посоветуете выучить?

    voronkovich
    voronkovich @voronkovich
    Я бы порекомендовал посмотреть плейлист PRS-7 фреймворк на канале Дмитрия Елисеева.
    Там обсуждается создание современного фреймворка на PHP и рассматриваются такие темы как: PSR, Dependency Injection, шаблонизаторы и т.д. Крайне рекомендую!

    Также советую почитать книгу Джоша Локхарта (создатель фреймворка Slim) Современный PHP.
    Slim-фреймворк тоже можете посмотреть, он достаточно добротно написан :).

    TDD. Есть хорошая книга Кента Бека Экстремальное программирование. Разработка через т.... Примеры там даны на Java, но будут понятны любому кто знает хотя бы один Си-подобный язык (PHP к таковым относится!).

    UPD: Вы просили указать: можно ли с вашими знаниями устроится джуном. Я думаю, что да, можно.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как изменять данные авторизованного пользователя в сессиях без релогина?

    mike_bma
    Михаил Бобков @mike_bma
    При изменении привилегий меняйте их значение в сессии.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • File_get_contents и Ajax?

    b0nn1e
    Андрей Андреев @b0nn1e
    Alcohol & Ruby on Rails
    Да, можно.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как отобразить текст из формы в?

    twobomb
    twobomb @twobomb
    Как то так
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как реализовать выезжающий текст?

    JackShcherbakov
    JackShcherbakov @JackShcherbakov
    Как-то так, но для лучшего резульатат через animate() делать. https://codepen.io/CitizenOne/pen/brOQJM
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Как реализовать выезжающий текст?

    one_day
    one_day @one_day
    Добавьте:
    .transform~h1{
    margin-left: -900px;
    transition: 5s;
    }
    .transform:hover~h1{
    margin-left: 20px;
    }
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как применять знания javascript?

    smiros @feuer81
    есть такой хороший человек, Дмитрий Трепачев. Он периодически проводит групповое обучение. Кроме того, у него есть сайт со справочниками и задачниками. Проходил у него джс. Лучше разобрался. Сейчас вот на реакт записался (в августе занятия)
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • Следующие →
Самые активные сегодня
  • HardBot
    HardBot
    • 11 ответов
    • 0 вопросов
  • Dr. Bacon
    • 7 ответов
    • 0 вопросов
  • sergiks
    Сергей Соколов
    • 7 ответов
    • 0 вопросов
  • VoidVolker
    VoidVolker
    • 7 ответов
    • 0 вопросов
  • mayton2019
    • 6 ответов
    • 0 вопросов
  • freeExec
    freeExec
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации