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

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

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

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

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

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

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

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

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

Михаил

программист
  • 17
    вклад
  • 15
    вопросов
  • 33
    ответа
  • 39%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Создание коротких ссылок, как хранить?

    spaceatmoon @spaceatmoon
    Вопрос с чувствительностью регистра решается переводом utf8 в utf8_bin. Также задай для поля флаг unique. Я даже проверил и это действительно работает так как надо.
    https://stackoverflow.com/a/6448861/17078920
    Ответ написан более двух лет назад
    2 комментария
    2 комментария
  • Какой самый простой для пользователей вариант управления аватаркой?

    OAPrilepa
    Олег Прилепа @OAPrilepa
    Frontend developer
    Вот неплохой редактор: https://github.com/mosch/react-avatar-editor

    Т.е. делаем UI выбора файла, данные передаем в редактор, на выходе получим blob данные из canvas и их уже можно отправлять на back для записи.
    Ответ написан более двух лет назад
    3 комментария
    3 комментария
  • Select MIN MAX в activerecord yii2?

    webinar
    Максим Тимофеев @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    $min_price = SomeModel::find()->min('price');
    Если надо просто минимальное значение получать. Зачем оно в select по вопросу не понятно.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Почему не сохраняется JSON в БД?

    pro100chel
    SKEPTIC @pro100chel
    Python && PHP Developer
    Размер поля какой? В него вмещается твое значение?
    Попробуй тип поля TEXT, где хочешь products сохранить в БД.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Насколько правильно так перезаписывать свойство?

    0xD34F
    0xD34F @0xD34F Куратор тега Vue.js
    перезаписывать свойство, если имеется более приоритетный источник данных

    Можно сразу наиболее приоритетное значение записать - меняем порядок проверок, вспоминаем про существование оператора else:

    if (state) {
      this.x = 'c';
    } else if (route) {
      this.x = 'b';
    } else if (prop) {
      this.x = 'a';
    }

    Ещё есть вариант отказаться от использования условных операторов - складываем данные в массив и ищем в нём подходящее значение:

    this.x = [
      [ state, 'c' ],
      [ route, 'b' ],
      [  prop, 'a' ],
    ].find(n => n[0])?.[1] ?? this.x;

    Кроме того, непонятно - а что, если какое-то из проверяемых значений изменится уже после монтирования компонента? Наверное, следует сделать ваш x вычисляемым свойством.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Чем отличается oop php от oop javascript?

    Snova_s_vami
    Стас Хитрич @Snova_s_vami
    JavaScript ES5-8, TypeScript, Angular
    Если коротко, то JS это прототипный язык, само ядро отличается от других ООП языков.
    Те же классы это синтаксический сахар над функциями-конструкторами с их прототипами.
    Нет поддержки интерфейсов, типов, абстрактных классов, отсутствует инкапсуляция по умолчанию без танцов с бубном в виде модулей.
    Если интересует frontend с полноценным ООП, используйте TypeScript. В результате это будет тот же JS, но в процессе работы вы сможете пользоваться всеми прелестями ООП.
    Ответ написан более трёх лет назад
    5 комментариев
    5 комментариев
  • Как сделать авторизацию на React и бек на php?

    anton_reut
    Антон Р. @anton_reut
    Начинающий веб-разработчик
    где сохронять данные когда пользовател авторизовался?

    Гугли Сессии и куки на php.
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Как проектировать сайт на vue, чтобы его можно было потом сделать приложением?

    kleinmaximus
    Klein Maximus @kleinmaximus
    Senior Full-stack Javascript Developer
    Посмотрите https://quasar.dev/ - можно разрабатывать SPA, SSR, PWA, мобильные (через Cordova/Capacitor) и desktop (через Electron) приложения на Vue.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • При выборе PHP фреймворка стоит ли обращать внимания на тесты скорости?

    ThunderCat
    ThunderCat @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В текущий момент поддерживаю достаточно большой проект на фалконе, который был написан до меня. Так вот, всем кто там дрочил на сишные либы фалкона, мое вам имхо, основаное на годе поддержки этого проекта:

    1) Оно мегахреново переносится и очень криво становится на свежие системы. Корме того что половина гайдов по установке устарела, но все еще лежит на оф. сайте, гайды сообщества противоречат друг-другу, 90% из них не работает, а про некоторые дистрибутивы можете просто забыть, там они работать просто не будут.

    2) Оно все работает as is и хрен ты посмотришь как работает родная вьюшка/конторллер "внутри", а доки не сказать чтобы хорошо описаны, комьюнити слабенькое, многие вещи сделаны спорно, а поправить или что-то подкрутить дело неблагодарное.

    3) Теперь про самое интересное - скорость работы. Так вот, вся это мутотень про память и прочие плюшки на нормальном сервере не ощущается вообще, то есть переходя определенный предел мощности/вооруженности сервера скорость практически сравнялась с нативом (использовался ларавел и Уии на том же сервере, по замерам - плюс-минус то же по скорости, и чуть больше по памяти (центос, 64гб оперативы, 4 проца, нжинкс, пхп 7.2). Короче выгода была на ветке пхп 5.+, сейчас его актуальность практически равна нулю.

    4) В моем случае по приходу сервер регулярно падал при "серьезной" нагрузке (20-30рпс), в чем я изначально предположил вину старых модулей фалкона, но по факту оказалось что 99% нагрузки вносили ожидания запросов к бд, некоторые из которых были по 7-15 минут, а некоторые куски кода создавали по 80+ запросов с 1 страницы, просто дозапрашивая какие-то данные для вьюшки в цикле. Предыдущий "кудесник" кормил руководство отмазками типа - "мало памяти, железо слабое, все плохо, а то бы летало...". "Магия плохого железа" закончилась после оптимизации запросов и доведения самых тяжелых до 0,5 секунды, а так же выборки всех данных в 1-2 запроса с нормальными джоинами.

    5) Основной вопрос всегда сводится к жадности - взять что-то побыстрее из софта, сэкономив на хостинге/оборудовании. И оно всегда не работает так, по ряду факторов, которые достаточно очевидны.
    Ответ написан более трёх лет назад
    7 комментариев
    7 комментариев
  • Как корректно вывести input в цикле?

    Nolis
    Andrey Vasilev @Nolis
    it-гопник
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Почему так странно работает наблюдение?

    Fragster
    Антон Антон @Fragster
    помогло? отметь решением!
    https://ru.vuejs.org/v2/guide/reactivity.html#%D0%...
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как вызвать в Vue.js компонент внутри компонента?

    hrebet
    Илья Хребет @hrebet
    <template>
      <div>
        <Filter/>
      </div>
    </template>
    
    
    <script>
    import Filter from './Filter'
    
    export default {
      components: {
        Filter,
      },
    }
    </script>
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Выносить ли вызовы к api в отдельный файл?

    Fragster
    Антон Антон @Fragster
    помогло? отметь решением!
    По жизни это очень облегчает тестирование. Ну и добавление новых провайдеров данных (что бывает редко, но бывает).
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Зачем тут setTimeout?

    E1ON
    Loli E1ON @E1ON
    Programming, Gamedev, VR
    Эмулируют задержку
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Ajax отправляет пустой post запрос?

    Tim-A-2020
    Tim @Tim-A-2020
    У вас поле data написана не на английском
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Почему нет варнинга, когда меняешь состояние в обход мутаций?

    0xD34F
    0xD34F @0xD34F
    strict mode
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как создать новый элемент при событии на vue.js?

    Aetae
    Aetae @Aetae Куратор тега Vue.js
    Тлен
    В Vue все элементы должны быть заранее предусмотрены и подготовлены на своих местах.
    А дальше просто меняешь значение флага используемого в v-if/v-show или добавляешь в массив использованный в v-for. Никакой работы с элементами - вся работ только с данными.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
Самые активные сегодня
  • vabka
    Василий Банников
    • 7 ответов
    • 0 вопросов
  • pindschik
    pindschik
    • 5 ответов
    • 0 вопросов
  • Mike_Ro
    Михаил Р.
    • 4 ответа
    • 0 вопросов
  • shambler81
    Виктор Таран
    • 4 ответа
    • 0 вопросов
  • martin74ua
    Руслан Федосеев
    • 3 ответа
    • 0 вопросов
  • Everything_is_bad
    • 3 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

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

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