Задать вопрос
Ответы пользователя по тегу Веб-разработка
  • Разработчики, вы больше думаете, чем пишете, или наоборот?

    65536
    @65536
    иногда по полгода вынашиваешь разработку/рефакторинг/правку))
    Ответ написан
    Комментировать
  • Web разработка в Windows под Linux?

    65536
    @65536
    Не знаю можно ли советовать такое, у меня так исторически сложилось и 7 винда держит.

    Мой рецепт: ))

    1. Виртуалбокс с дебианом без гуи
    2. Папка с папками проектов в винде
    3. Гит тоже под виндой
    4. Односторонний синхронизатор, вот этот - dklab.ru/lib/dklab_realsync Папка с папками проектов мапится на папку в виртуалке, на которую смотрит вебсервер. Синхронизует мгновенно, пока переходишь из иде в браузер файл уже залит 100%. Для каждого проекта нужно прописывать список игнора для этого синхронизатора, в него попадает все самогенерящееся - кэши, логи, папка вендор, файлы композера (композер используется на стороне линукса), статика и тд. В обратную сторону приходится прокачивать вручную. Для этого приходится замапить проект в шторме на его папку в виртуалке. Двухсторонняя синхронизация невозможно никаким способом, шторм уходит в вечную переиндексацию. То же самое происходит если примонтировать папку виртуалки в винду, одно малейшее изменение вызывает переиндексацию, а по сети она замедляется раз в 50. Шаред фолдерс тоже не подходят, с ними удобно было, но тормозят адски. То что делается 100 мс, с ними может занять 2.5 сек. Какая-то проблема из-за разницы нтфс и экст4, что-то оно там налету постоянно конвертирует. Согласно интернету не излечимая. В ходе изучения проблемы все свелось к этому синхронизатору. Там на странице тоже описано почему так.

    Работающая схема, но добавляет неавтоматизируемые вещи к ритуалу создания нового проекта.

    А вообще думаю второй комп лучше всего решил бы эту проблему))
    Ответ написан
    Комментировать
  • Как отслеживать ресурсопотребление веб-страницы?

    65536
    @65536
    shift+esc в хроме
    Ответ написан
    Комментировать
  • Как правильно вывести в интерфейс частые команды?

    65536
    @65536
    Понтонусь. Тоже страдал от этой проблемы. Консольный интерфейс был всегда, но набирание одних и тех же команд в консоли превращалось в рутину на каждом шагу. Сидишь набираешь заклинание либо жмешь стрелку вверх в надежде что она там где то уже была. Иногда надо выполнить несколько команд в какой-то последовательности, что сильно усложняет ритуал и напрягает мозги. Делал отдельные интерфейсы для вызывание типичных команд из браузера, тоже надоело делать каждый раз их под все и случайно догадался сделать универсальный, командный центр называется)) выглядит так: 9983c5f25550e198bae93ed84dfb1cac.png

    Просто интерфейс для создавания кнопок, выполняющих команды. Слева дерево категорий для смыслового разбиения. Каждая кнопка что то вызывает с какими то параметрами. Потом еще приделал чтоб сами по крону жались и фильтр по окружениям чтоб жались только там где надо

    Не представляю жизни уже давно без этого. Набирание в консоли, написание каких то скриптов типичных занимает больше времени и внимание чем просто зайти нажать пару кнопок
    Ответ написан
    5 комментариев
  • Что на сайте нужно обязательно кэшировать?

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

    65536
    @65536
    хранить где-то в сессии состояние развернутости узлов, массив из идов. решить какое дефолтное состояние для всех, при рендрежке меню учитывать наличие ида в этом массиве, если есть то считать состояние противоположным дефолтному. если выходит что вложенное дерево скрыто, то не рендрить его вообще либо сделать скрытым. при нажатии на узлы слать на сервер инфу о том что такой-то узел меняет состояние, изменить его в сессии (убрать или добавить в тот массив), перезагрузить дерево. или не перезагружать? а джсом его складывать раскладывать, при условии что оно было целиком загружено, вместе со скрытыми узлами

    и только не id_parent, а parent_id
    Ответ написан
    Комментировать
  • Динамичный сайт без PHP?

    65536
    @65536
    ssi))) сегодня случайно вспомнил что есть такая технология. интересно, кто-нибудь пользовался вообще.

    но как сказал 27 к динамичности это не имеет отношения

    https://github.com/ziadoz/awesome-php#templating
    Ответ написан
    Комментировать
  • В чем моя ошибка с empty?

    65536
    @65536
    что проверяете то?)) наличие фотки на диске или строчку?

    <img src=images/photo/photo.jpg width=400 height=400>
    не емпти, да

    file_exists
    Ответ написан
    Комментировать
  • Где вы храните сессии пользователя, почему?

    65536
    @65536
    Внимание, с 20 декабря по 10 января в вашем доме будут отключены cookies.

    В какой ситуации браузер может оказаться с неработающими кукис кроме той когда за рулем сидит параноидальный идиот. Или я что-то пропустил?

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

    65536
    @65536
    мой самый удачный бесплатный способ такой: пытаемся представить по каким запросам в пс мы бы хотели чтобы находился наш проект/сервис/сайт, то есть таким запросам, набрав которые и попав на ваш сайт, пользователь был бы удовлетворен. набираем и находим в топе всякие блоги и статьёвые сайты, на которых можно комментить, и комментим, желательно как бы в рамках разговора среди комментаторов, еще лучше оформить коммент как ответ кому-то и желательно не быть первым комментом. я один свой сервис так "прорекламировал" и мне буквально с нескольких ссылок потока хватает, уже пару лет. главное чтобы эти страницы продолжали в топе висеть. за все время грохнули несколько комментов, которые или первыми стояли или откровенно торчали на фоне беседы комментаторов

    о мегамасштабах речи не идет
    Ответ написан
    Комментировать
  • Как задать условие вывода блока на странице в зависимости от того с какой страницы перешел на нее посетитель?

    65536
    @65536
    вести историю переходов в сессии, можно обрезать по двум последним. оператор if
    Ответ написан
    Комментировать
  • Выгодно ли фрилансить(верстая макеты)?

    65536
    @65536
    фриланс это как таксистом быть, или как молдованином от шабашки до шабашки. нужно постоянно что-то мутить, искать заказы, договариваться, а потом еще и работать, самому. а еще и развиваться нужно, что подразумевает делание всякой бесплатной работы, чтения и экспериментирования. нужно включать это в стоимость постепенно, как и вообще все остальное что необходимо и желательно для поддержания себя и своего настроения. но это никак не вписывается в расценки на биржах этих (наших по крайней мере, на ихних думаю не сильно проще + енг). толкаться среди полунепонятного сброда желющих подзаработать, а то и поднаебать, там примерно как на вокзале. это наверное наибеспонтовейший источник заказов. адский демпинг, низкое качество и исполнителей и клиентов. со временем можно набрать отсеять нормальных и работать с ними годами, ну только придется постараться, главное чтоб хватило терпения и самоорганизации)) мне со всех этих бирж хватило 3 заказов чтоб больше туда не возвращаться. там такие дебилы есть, вот один раз меня жестко развели на 300 рублей. мужик чето там на джаваскрипте просил сделать анимационное я ему сделал на джквери а он мне такой не нихуя не катит, "не хочу лишние скрипты кидать", скрипты кидать бля. а сам главно таки кинул скрипты и все у него на сайте висело, мужик 36 лет, 300 рублей. есть более опасные идиоты, чей идиотизм уже на пол пути проявляется и становится понятно что лучше не надо было связываться. вообще важное умение вовремя отказываться от сомнительных тем и персонажей. весь фриланс и есть такая тема - ты и организовавать все делжен и работать одновременно, иногда это слишком одновременно начинает происходить что не можешь делать ни то ни другое
    Ответ написан
    Комментировать
  • Как правильно осуществить mail() на бесплатном хостинге?

    65536
    @65536
    посмотрите в пхпинфо строчку, не прописано ли там какое-то мыло, то замените $from = $_POST['email']; на $from = мыло которое там прописано;

    это может быть такое хостинговое ограничение чтобы с рандомных адресов не слали. $_POST['email'] можно в reply-to прописать
    Ответ написан
  • Drop-down menu через php??

    65536
    @65536
    <?php
    
    $menu = array(
        array('label' => 'Главная', 'link' => '1'),
        array('label' => 'О нас', 'link' => '2'),
        array('label' => 'Наши блюда', 'link' => '3'),
        array('label' => 'Заказать', 'link' => '4')
    );
    
    $dropmenu = array(
        array('label1' => 'Пицца', 'link1' => '1'),
        array('label1' => 'Лазанья', 'link1' => '2'),
        array('label1' => 'Блинчики', 'link1' => '3')
    );
    
    foreach ($menu as $value)
    {
        echo "<li><a href=\"../index.php?id={$value['link']}\"><strong>{$value['label']}</strong></a></li>";
    
         if ($value['link'] == 3)
         {
             foreach ($dropmenu as $value1) {
             echo "<li><a href=\"../index.php?id={$value1['link1']}\"><strong>{$value1['label1']}</strong></a></li>";
         }
    }
    
    $page = 1;
    $page = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);
    Ответ написан
    1 комментарий
  • Как сделать ЧПУ на php?

    65536
    @65536
    оффтоп. Мужики, кого-нибудь еще switch раздражает как меня?
    Ответ написан
    8 комментариев
  • Что Вы думаете о ресурсе для разработчиков инди-игр?

    65536
    @65536
    А вы напишите ТЗ с полной раскадровкой всей логики вашего мегапортала со всеми кнопками и экранами. Представьте сколько это займет времени, умножьте на 5, а потом еще прикиньте хватит ли у вас денег/энтузиазма и у вашего непонятного компаньона.
    Ответ написан
    3 комментария
  • Как обработать код сервера в DOM?

    65536
    @65536
    Можно так. Шлете со страницы запрос в нужное место с нужными данными, а оно вам отвечает джейсоном, который будет обработан в калбаке (3-й агрумент).

    $.post(request_uri, request_data, function(response) {
    
        response = eval('(' + response + ')');
    
        if ( response.error_code )
        {
            $("#error").show().html(response.description);
            $("#input").addClass("highlight");
        }
    
    });


    Но так можно быстро запутаться в этих калбаках. Лучше сделать централизованный отправитель запроса/обрабатыватель ответа
    Ответ написан