• Почему говорят что jquery не нужен?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Скрипач не нужен, родной (с)
    Аргументы против jq:
    - современные браузеры достаточно хорошо поддерживают единый синтаксис современного екмаскрипт(native js)(на самом деле нет).
    - сторонняя библиотека, работает медленнее чем натив и в основном состоит из с-сахара (тоже не совсем правда)
    - тащить еще один ресурс весом от 64 кб до 200 кб, еще и со сторонних ресурсов замедляет загрузку( правда, но бред)
    Аргументы за:
    - Современные браузеры как и всегда один другого "ровнее", всегда есть косяки и "нюансы", на которые еще и попадаешь обычно в самый неподходящий момент, в жк обычно все работает одинаково везде, ну или лучше чем в нативе.
    - В жк реализована куча плюшек в 1 функцию которые в нативе занимают "многабукав", не каждый начинающий напишет их правильно, да и профи не все напишут оптимально, уверен что в большинстве случаев написанный нативом функционал будет хуже аналога из жк.
    - размер мин пакета жк 64 кб, и все они лежат на быстрых цдн серверах. Думаю это последнее что может повлиять на скорость загрузки страницы.
    - есть ОГРОМНОЕ количество скриптов написанных с учетом жк, не использовать их глупо, писать свой велосипед - вообще только в целях обучения(не берем крайние случаи когда плагин писал упоротый пингвин).
    - Синтаксис и краткость записи - вообще вне конкуренции.
    - Старые браузеры никто не отменял, часто заказчик требует чтобы работало в ие8, натив не канает или доставляет море анального удовольствия.
    Вывод: Если ты крут в жс, еще и работаешь в ангуларе/ещечетамдляфронта и тебе нужно сделать 2 действия в очень современных браузерах - jquery не нужен, и ты это сам знаешь. Если слова ангулар, вуе и проч для тебя не больше чем шум листвы за окном, а навесить плагинов и эффектов нужно - jquery наше все.

    UPD: для всех кто там отписался а ля "в связи (...), исчезновением проблемы совместимости со старыми IE (что и было основным назначением jQuery)." - свежачок
    Ответ написан
    4 комментария
  • Стоит ли гнаться за лаконичностью кода?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Одним инсертом скорее всего вставить не получится, как на стороне мускуля есть ограничения по буферу запроса так и со стороны пхп есть ограничения по таймауту, длинне передаваемого запроса и проч( много настроек короче.) Как написал Eugene Mosyukov есть 3 варианта, но если вам необходимо использовать только код - разбивайте на инсерты по 100 строк в цикле, это 100 запросов у вас выйдет, должно быстро вставиться, можно до 200-300 строк за раз попробовать, если есть возможность этот массив получать всегда то экспериментом только вывести количество можно.

    Макс Васильев:
    Я слышал, что множественные запросы в цикле не приветствуются.
    да, это плохая практика, но она относится к задачам типа "в цикле делаем вычисления, и тут же в цикле делаем запрос". Создаются куча запросов к базе на пустом месте, там где можно сформировать 1 запрос и после цикла отправить все сразу 1 запросом. У вас другая ситуация - данных много, больше чем за раз обрабатывает буфер бд, цикл здесь для преодоления оверхеда по размеру, тут он будет в тему, ибо все равно не отправляет по 1 строке, а формирует большие запросы с разовым исполнением
    Ответ написан
    3 комментария
  • Подключение стороннего php скрипта на сайт?Как?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если оба сайта принадлежат вам (у вас есть доступ к исходникам обоих сайтов) тогда задача решается, хотя и не без танцев с бубном и камасутры. Если один из хостов вам не принадлежит (особенно тот с которого вы пытаетесь получить скрипт) задача решения не имеет, во всяком случае в данной формулировке. Причина банальна и ясна любому, кто хоть немного понимает принцип работы серверных скриптов.
    Вы объясните что вам нужно сделать на самом деле, по тому что то что вы делаете похоже на попытку попасть из пушки 19 века по Луне. Визуально все просто, на деле все совсем не так.
    Ответ написан
  • Php и MVC, как правильно реализовать многораздельный сайт?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Тоесть создать 1 только модель для раздела и в ней создать много методов?

    Возможно вы не очень понимаете суть моделей, как и мвц в целом. Модель - это отдельная сущность, например пользователь, запись блога, товар етц. Контроллер манипулирует методами моделей для создания набора данных, которые потом передает в представление. По этому количество контроллеров никак не коррелирует с количеством моделей, в одном контроллере может вызываться / создаваться много моделей (например всегда создается текущий пользователь). Отдельным классом стоят коллекции - объект групп, которые часто используют для создания разных списков и наборов объектов одного типа (например список пользователей или товаров).
    Ответ написан
    Комментировать
  • Почему функция постоянно возвращает undefined?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    во первых, хочу поблагодарить создателей jquery, счастья, здоровья, всех благ и долгих лет жизни. Я глаза сломал и мозг вывихнул, пока натив этот читал. Это к спорам о жквери вс натив жс. Жирный плюс жк за читаемость кода. Я все понял, но это какой-то Содом и Гоморра.
    Во вторых - как вам уже Arik намекнул, в функции вы не выполняете этот иф, который так вас раздражает отсутствием реакции. Вы создаете слушателя, который при срабатывании клика отработает этот иф. По этому var result = setCheckBox(); выдает андефайнед, с резалтам внутри ничего не происходит.
    В третьих - выставить в фиддл код и не вписать хтмл и цсс - это вообще за гранью добра и зла.
    Ответ написан
    Комментировать
  • Как сделать свойства товаров в БД?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Пример: есть лампочка фирмы филипс. И есть атрибут - мощность. 40, 60, 75, 99 ватт. Так вот, это 4 разных товара. Название одно, но группа атрибутов разная. То что вы можете их показать на странице товара как один товар должно задаваться полем товара с каким-то объединяющим ключом. Все.
    Ответ написан
  • Надо ли в sql-запросе писать or die?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Мальчик, в какой библиотеке ты нашел этот древний зловещий манускрипт заклинаний черных колдунов?
    Ответ написан
    Комментировать
  • Как правильно передать скрипт заказчику?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Artem0071: задача какая? Сохранить секретность прямых ссылок на файлы? Тогда file_get_content, примерно так:
    header('Content-Disposition: attachment; filename="somefile.jpg"');
    header("Content-Type: application/octet-stream");
    header("Content-Length: " . filesize($outputName));
    echo (file_get_contents($outputName));
    если не принципиально - хеадер типа такого:
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header("Content-Disposition: attachment;filename=somefile.jpg ");
    header("Content-Transfer-Encoding: binary ");
    Ответ написан
    6 комментариев
  • Почему код не работает?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Чет в коде нигде не подключается jquery, в консоли должны сыпаться ошибки, которые можно посмотреть и обмозговать, но скорее всего тупо не подключен жквери.
    Ответ написан
  • Как в PHP PDO узнать какой запрос с параметрами выполнился?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Никак, пдо так не умеет, ибо подстановка осуществляется движком бд, сначала интерпретируется строка запроса, затем в нее попадают данные из плейсхолдеров. Самый простой способ в вашем случае заменить bindParam на массив, а в строке запроса вставить "?". Как то так:
    $sql = "UPDATE $order_navigator_table SET date_registration=? WHERE c_id=?";
    $stm = $pdo->prepare($sql);
    $data = array($_POST['date_register'],$_POST['order_uid']);
    $stm->execute($data);
    var_dump($sql);
    var_dump($data);

    дальше можно руками вставить и проверить.
    Ответ написан
  • Как разделить жанры для фильмов, сериалов, мультфильмов и аниме?

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

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Имхо цифры от 1 до 5, возможно с дорбями, типа как Матвей Правосудов предлагает, только 10 пожалуй многовато, 5 ближе к Российской системе оценок, + сервис обычно тоже так примерно оценивают в звездах. Цветам не рекомендовал бы, вызывает много лишних/ненужных ассоциаций, например красный - опасно, желтый - предупреждение и тд.
    Ответ написан
    Комментировать
  • Как правильно вставить большую строку в div чтобы работало в браузере edge and IE 11?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Это конечно не очень хороший совет, но попробуйте через jquery, у него вроде совместимость с разными браузерами это фича.
    В интернетах пишут что этот специфический глюк обходится заранее созданным элементом div, в него все фигачется через innerHTML, и этот див уже аппендится куда надо.
    var newdiv = document.createElement("div");
    newdiv.innerHTML = someString;
    var container = document.getElementById(id);
    container.appendChild(newdiv);
    Ответ написан
    1 комментарий
  • Как с помощью php читать из файла txt только вторую строку?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $show_info = file('events/kp1/dungeon1.txt');
      echo $show_info[1];
    Ответ написан
    2 комментария
  • В наследство получил 70 GB картинок в 1 папке, раскиданы они по "подпапкам" - это вообще нормально?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    запаковать и слить архивом, можно разбить на куски по 1-2 гига.
    а вообще - не сказать что это бест практис, но до конкретного файла система по пути все равно достучиться мгновенно. Листинг получить долго, но в веб проектах обычно и не требуется листинг директорий.
    Ответ написан
    6 комментариев
  • Какая должна быть правильная авторизация на php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Авторизация(любая) работает при ее использовании, легче всего организовать ее использование при единой точке входа и нормальной архитектуре(например мвц). Весь смысл - получить связь пользователя с правами и зафиксировать ее на время работы с сайтом. Далее в "закрытых" частях сайта эта связь должна быть подтверждена(прчитана сессия с ключем авторизации или токен из куки, не важно вообще). Обычно пришется простенький метод/функция типа isAuth() и получают ответ тру/фалс, далее по логике, выбрасывать на главную, давать страницу ощибки, кидать на авторизацию, короче от задачи зависит.
    Ответ написан
    Комментировать
  • Возможен ли повтор функции php без использования JS?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Это опять очередной велосипед с "гениальной" идеей делать какие-то мелкие действия по истечении времени. 50% на то что в базе должно меняется "по крону" какое-то поле типа устарело. Включите мозг, решения не всегда такие "простые", обычно все проще, просто надо подумать.
    Ответ написан
    Комментировать
  • Как работать с классами через Ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    У вас по кнопочке аяксом подгружается форма? Зачем? Вы что-то введенное пользователем получаете?
    Аякс нужен там, где заранее сформировать какие-то элементы нет возможности, или вариантов слишком много, в данном случае всего 2 формы, с заранее известными параметрами, нет смысла для этого аякс прикручивать. Делаете 2 формы, даете атрибут хиден, по выбору кнопочки показываете нужную форму. При заполнении формы уже можете аяксом отправить пользовательский ввод, но можно и просто субмитом обойтись, по вкусу.
    Ответ написан
    3 комментария