• Как посчитать количество переходов по ссылке?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Если есть возможность отслеживать utm метки на маркетплэйсе - раздавайте утм ссылки.
    Если такой возможности нет - пользуйтесь шортлинками, они позволяют отслеживать количество линков (например bit.ly).
    Ответ написан
    Комментировать
  • Как скрыть часть кода, до действия?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    по событию добавляйте элемент яваскриптом.
    Ответ написан
  • Как вывести в laravel count записей с одинаковым полем?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    каунт(*) as cnt + груп бай book_id + ордер бай cnt деск + лимит 5
    Ответ написан
    Комментировать
  • Почему в файл добавляется по две строки?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    <?php $filename = 'D:\\Testfolder\\Тест.txt';
    $cont = file_get_contents($filename);
    $enc =  mb_detect_encoding($cont, 'UTF-8', true);
    $text = iconv($enc,'UTF-8',$cont);
    var_dump("\nbefore save: "$text);
    $text .= '
    Ба';
    file_put_contents($filename, $text);
    var_dump("\nafter save: "$text);
    Ответ написан
    Комментировать
  • Как лучше обращаться к базе?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Если рассматривать аналогию с php, то там каждый запрос отправляется с новым подключением к базе.
    Это не так. Соединение открывается на все время выполнения скрипта, и закрывается автоматически по завершении работы всей цепочки вызовов. В процессе, одно соединение может выполнить стопицот запросов.

    На сколько целесообразно "пытаться" держать соединение, или все же просто по аналогии с php?
    Вот тут точного ответа не дам, однако в пхп стараются избегать персистент соединения, так как пул соединений не бесконечный, и чем быстрее закроется соединение, тем быстрее можно освободить очередь для открытия нового, таким образом с небольшой задержкой можно обслужить очередь из сильно превышающей пул очереди. А с одним соединением начинается жонглирование запросами внутри 1 соединения, что приводит к блокировке кучи пользователей пользующихся 1 соединением с бд, вместо локально тормозящего 1 юзера в случае открытия/закрытия...

    Более точно можно узнать у нодеров, мои выкладки по отношению к данной платформе больше теоретические.
    Ответ написан
    3 комментария
  • Почему не подключается CSS в HTML?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    0)
    не работает.
    Это не ошибка, это ваше предположение. Смотрим консоль, читаем ошибку, пишем сюда.
    1) Не используйте заглавные буквы, пробелы и нелатинские символы в именах папок (везде) и файлов, доступных по веб, это критично в части случаев.
    2) Разберитесь с путями, вы точно что-то не там кладете, или не там запрашиваете.
    3) Скорее всего при запуске сервера папки с файлами у вас будут иметь совершенно другую структуру (не помню как там на шарпе все это компилится), так что ссылки на стили будут другие...
    Ответ написан
    Комментировать
  • Как написать фото галерею?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Если есть готовые проекты с несложным кодом особенно фронта буду только рад таким ссылочкам)
    Вордпресс.
    Ответ написан
    Комментировать
  • Можно ли сделать чтобы в выпадающем списке после обновления страницы был тот же пункт что и до обновления?

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    Сохранять в куки/локалсторэдж айди/класс последнего открытого пункта меню, при загрузке страницы проверять есть ли в хранилище запись о том какой пункт открывался, открыть меню на этом пункте (например стриггерив клик по данному элементу).
    Ответ написан
    Комментировать
  • Как сделать SQL запрос из двух таблиц?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Пока на ум приходит получить все категории, потом в цикле пройтись по ним и...

    Естественно это не делается так. Такие задачи решаются на стороне бд через джоин таблиц. Не считая ошибки синтаксиса и отсутствия лимита, запрос в ответе Vindicar подойдет. Схема хранения не самая лучшая, так как по сути у вас получается один-ко-многим (одна категория ко многим постам), и если категорий на 1 пост будет больше 1, вся структура идет в мусор. Более качественным решением все же будет многие-ко-многим между постами и категориями.
    Ответ написан
    1 комментарий
  • Как сделать тег 'a' (link) равным к родительскому классу?

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

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    размещать сайт на хостинге в открытый доступ;
    А есть че размещать то? Хоть один сайт с полутора функциями? Что-то базовое, типа авторизация-регистрация-блог?

    создавать формы для ввода данных , которые будут записывать введенные данные в файл либо отправлять по указанному e-mail
    Ок, первый вопрос отпал...

    В каких технологиях мне нужно разобраться? Надо ли учить PHP и MySQL?
    Любой современный язык под веб подойдет. И базовый SQL синтаксис для начала. Если работы будете "чисто для себя" делать, этого достаточно. Если для заказчика - либо учить что-то из фреймворков, либо брать готовые цмс и настраивать, что тоже вполне работа.

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    С тем моментом решил, только теперь он почему то считает все инпуты и складывает. Блин, замучался уже.
    Не надо мучиться, надо думать. Странно ожидать от кода чего-либо кроме суммы, если в коде есть только сложение. При каждом клике, не зависимо от того какое значение при клике примет инпут, у тебя плюсуется сумма.

    Либо учитывай состояние инпута и отнимай / прибавляй в зависимости от него, либо просто пробегайся по всем инпутам и складывай только с состоянием чекед, удаляя предыдущую сумму.
    Ответ написан
    Комментировать
  • Как перевести из js в jquery?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Жквери собсно имеет кучу удобных алиасов. Если быстро настругать какие-то манипуляции с группой элементов на нем даже удобнее, то в целом конечно лучше на ванила жс писать...
    $(".openBtn").on("click", function(){
        $("#myOverlay").show();
    });
    
    $(".closebtn").on("click", function(){
        $("#myOverlay").hide();
    });
    Ответ написан
    Комментировать
  • Как правильнее вешать события?

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1)
    Но в этом коде окно печати открывается, и страница сразу перезагружается. Страница, соответственно, не печатается.
    Может для начала уберете location.reload(); и разберетесь с печатью?
    2) Если речь идет о кнопке печати в модальном окне хрома, то никак. Во первых данный хтмл вне контекста текущего документа (и соответственно жсом туда не достучаться), во вторых там может быть что угодно у пользователя выставлено по умолчанию, у меня например сохранение в пдф, что вызывает еще диалоговые окна и т.д..
    Ответ написан
    Комментировать
  • Почему верстальщики обычно вырезают круглую картинку квадратом?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) Круглые картинки без фона - это либо пнг, либо вебп (думаю неприменимость формата гиф очевидна и так). Не все картинки хорошо смотрятся в пнг и не все браузеры полностью поддерживают вебп.

    2) Цсс такая штука, специально придуманная для того, чтобы если завтра мода на круглое сменится модой на квадратное, то "легким движением руки брюки превращаются в элегантные шорты". И для этого не понадобится перепердоливать стотыщь картинок обратно в квадраты.

    3) В обратную сторону так же работает - для смены дизайна с квадрата на круг достаточно просто скруглить углы контейнера.

    4) Сделать тумб с "круглым видом" программно сложнее чем с квадратным.

    5) Артефакты при нарезке из квадратного в круглое смотрятся хуже, чем, по сути, векторная маска, наложенная на цельное квадратное изображение.

    Короче, не зря делают.

    PS: На дом - научиться самостоятельно искать аргументы в пользу / против какого-либо замеченного технологического приема.
    Ответ написан
    1 комментарий
  • Как отловить баг на продакшене?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    боюсь, такое логирование уложит спать боевой проект. Хотя ненадолго можно попробовать.
    Я про логирование запросов к Mongo..
    Во первых все логировать не нужно. Можно тупо в коде доктрины апдейты только ловить и логировать, можно иначе извернуться, но вам нужны, очевидно, только апдейты. Которых сомневаюсь что мильён в секунду. Ну и во вторых - просто малореально что-то другое придумать...
    Ответ написан
    Комментировать
  • Защита данных в API?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Здравствуйте, существует проблема защиты данных клиентского приложения передаваемых серверу и обратно.
    Какая конкретно проблема?

    как защитить данные?
    От кого?

    Можно ли использовать HTTPS
    Разрешаю, можно.

    и как это сделать
    На сервере ставите сертификат, в клиенте прописываете урл апи с https.

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

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    echo 'Недостаточно средств для покупки!';
    header("Location: " . $_SERVER['REQUEST_URI']);
    Вы определитесь, или ечо или редирект, одно ломает другое, если что...

    но перестали работать кнопки...
    Кнопки работают, но при нажатии на них просто перезагружается страничка и всё.
    Во первых - так работают или нет?
    Во вторых - обработчик другой файл/урл? В форме экшн не указан, соответственно форма отправляется на текущий урл. Ну и смотрите нетворк - происходит редирект после отправки формы, или форма просто грузится еще раз. Так же будет не лишним добавить вывод ошибок, чтобы понимать что вообще происходит.
    ini_set('error_reporting',E_ALL);
    ini_set('display_errors', 1);
    Ответ написан
    2 комментария
  • Могу я задать вопрос по коду, как мегаджун JS?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) Плохой код, который выполняет задачу, лучше чем отсутствие кода
    2) Перед работой составьте примерный план, например: "сначала получаем данные, потом с ними делаем это или это, потом выводим..." Это помогает не лепить откровенную фигню по ходу дела и не переписывать все по 10 раз.
    3) Смысл рассматривать простыню из кода новичка отсутствует, так как это похоже на оценку походки будущей фотомодели по первым шагам в ходунках. Никто не пишет хороший код сразу, учиться и писать много - лучший путь обучения.
    4) Смотрите на чужие готовые решения, думайте как использовать интересные приемы, именно свои выводы и ошибки делают вас программистом+, а не гов*окодером. Задатки и желание у вас есть, значит все получится.
    Ответ написан
    Комментировать