• Contact form 7 | Как сделать в шаблоне письма генерацию случайного числа (номер заказа) и дату отправки?

    @stoik_kpd Автор вопроса
    [_date] - тег даты отправки. Если кто-то ещё будет искать
    Ответ написан
    Комментировать
  • Как отключить scrollZoom в яндекс-картах, подключенных через их API?

    @probear
    script type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1.... ... scroll=false">В конце карты просто нужно исправить scroll=true на scroll=false
    Ответ написан
    Комментировать
  • Почему Google Maps API V.3 просит API key?

    @godzilla22
    У меня такая же история - на локалке все нормально, ставлю на вп - это сообщение вылазиет, решил ктонибудь?
    Ответ написан
    Комментировать
  • Как реализовать появления модального окна bootstrap при загрузке страницы?

    @mydarck
    $(document).ready(function(){
    	setTimeout(function(){$('#myModal').modal('show');}, 3000);
    });

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

    llgruff
    @llgruff
    Scala
    $main_category = 9; // родительская
    $args = array(
    	'type'         => 'post',
    	'child_of'     => $main_category,
    );
    $child_categories = get_categories( $args );  // получаем дочерние
    $category_list = array($main_category);
    if ( !empty ( $child_categories ) ){
        foreach ( $child_categories as $child_category ){
            $category_list[] = $child_category->term_id;
        }
    }
    if ( is_category($category_list) ) {
    	echo "нет рейтинга";
    } else {
    	echo "есть рейтинг";
    }
    Ответ написан
    Комментировать
  • Как сделать высоту блока адаптивной?

    ivan1kazantsev
    @ivan1kazantsev
    Текст выходит за пределы основного блока из-за явно заданной ему высоты height. Задавать высоту вообще не есть хорошо. Если нужно задать какую-то стартовую высоту, нужно использовать min-height.

    То же самое сказал Николай.
    Ответ написан
    Комментировать
  • Как сделать высоту блока адаптивной?

    nickolyashka
    @nickolyashka
    min-height - задаешь своим внутренним блокам, отступы добавляешь и все дела, при необходимости задаешь oveflow: hidden
    Ответ написан
    2 комментария
  • Опенсорсный микросервисный проект?

    @Beltoev
    Живу в своё удовольствие
    1. GitHub.com
    2. Type "micro service" and click "Search"
    3. Profit
    Ответ написан
    Комментировать
  • Как сделать плавную прокрутку страницы до якоря?

    BedwaRe
    @BedwaRe
    Пиши код
    $("body").on('click', '[href*="#"]', function(e){
    	var fixed_offset = 100;
    	$('html,body').stop().animate({ scrollTop: $(this.hash).offset().top - fixed_offset }, 1000);
    	e.preventDefault();
    });

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

    @entermix
    Ответ написан
    Комментировать
  • Нужна помощь гиков). Как отправить письмо через 15 лет?

    Есть достаточно большое количество сервисов, позволяющих отправить письма в будущее, в том числе бумажные, например https://future-mail.org/
    Ответ написан
    Комментировать
  • Какой сервис использовать для смс-уведомлений?

    @entermix
    Какой сервис sms рассылок посоветуете?

    Выбираем сервис рассылки смс, например SMSC:
    1. Изучаем API, смотрим библиотеки и примеры кода, готовые модули для CMS
    2. Регистрируемся
    3. Прикручиваем к сайту
    Ответ написан
    3 комментария
  • Какой редактор для разработки вы используете?

    nazarpc
    @nazarpc
    Open Source enthusiast
    В редакторе сложно продуктивно работать после IDE.
    Из IDE одна из лучших - PhpStorm/WebStorm (в зависимости от того что нужно) от JetBrains.
    Почему? Да потому что лучше просто не существует.
    Ответ написан
    1 комментарий
  • Как поменять поля формы комментариев вордпресс?

    $fields =  array(
      'comment' => '<textarea name="comment"></textarea>',
      'author' => '<input type="text" name="author" placeholder="Введите Ваше имя">',
      'email'  => '<input type="email" name="email" placeholder="Введите Ваш Email (необязательно)">',
      'url'    => '<input type="text" name="url" placeholder="Введите Ваш телефон (необязательно)">'
    ); 
    comment_form(array(
        'comment_field' => '',
        'fields' => apply_filters( 'comment_form_default_fields', $fields )
            ));
    Ответ написан
    2 комментария
  • Плагин личного кабинета на WP?

    @ezofm
    Если Вы решили приобрести плагин WP-RECALL, то рекомендую прочитать переписку автора плагина со мной. Возможно, я не разбираюсь в технических нюансах и сужу по обывательски и выразил свои претензии техподдержки и вот что на меня свалилось wppost.ru/obsuzhdaem-otzyv-o-plagine
    Там же, Андрей мне откровенно угрожает yadi.sk/i/fKkDoaKRjxfdR

    Выбор за вами приобретать вам или нет, но я рассказал свою историю. А проблемы у меня начались, и обновить аддоны не получается и с автором аддона на сайте Андрея не пообщаться, потому что я заблокирован yadi.sk/i/-YFgQX2tjxfci

    Я уже выше описывал, что мое неудовольствие техподдержкой в лице Андрея, вылилось в такой скандал. Андрей, как продавец 21 века не то что не сделал ничего для погашения скандала, но активно его развивал всячески обзывая, забанив на своем сайте меня и стал писать про меня гадости. Ему показалось этого мало.
    Обратите внимание, что у меня вип статут - это штука платная: https://yadi.sk/i/iL4OIjftk3S2C
    А теперь посмотрите, что он сделал при обновление плагина (новая версия): https://yadi.sk/i/y7lAeGKCk3S5R
    Как Вы думаете это само произошло? Или это был сбой у всех)
    И вот вопрос, уважаемый Андрей, если Вы не хотите, чтобы я обновлял ваш плагин, за обновление я заплатил, вы бабки верните, как вам предложили и вы не отреагировали????
    А те кто его поддерживают ....
    Хочу напомнить слова немецкого пастора Мартина Нимёллера
    Когда они пришли за коммунистами, я молчал — я не был коммунистом.
    Когда они пришли за социал-демократами, я молчал — я не был социал-демократом.
    Когда они пришли за профсоюзными активистами, я молчал — я не был членом профсоюза.
    Когда они пришли за мной — уже некому было заступиться за меня.

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

    @heartdevil
    плыву как воздушный шарик
    Я советую вам как можно скорее переходить на ООП и все делать на ООП.

    Если раньше было так, что все писали функциями, а исключениями было ООП, то теперь все надо делать на ООП и только в исключительных ситуациях функции.

    А почему я вам советую, потому что в ООП не так просто разобраться. Там уйма тонкостей. Поэтому чем раньше вы начнете, тем больше опыта наберетесь, когда будете работать на серьезными проектами. Если вы не гений, то у вас не один год уйдет, на освоение в достаточной степени (зависит, конечно, от интенсивности работы).

    Не нужно искать неприменимость ООП, чтобы удовлетворить себя тем, что вы ООП не используете. В наших реалиях это бред. Только ООП.
    Ответ написан
    1 комментарий
  • Стоит ли использовать ооп?

    Тостер, ну почему ты не сохраняешь где-нибудь в local storage сообщения, которые не дописаны? Ааааа! В общем, написал, закрыл вкладку, пишу снова.

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

    Понятие алгоритма (машина Тьюринга) императивно. Первые архитектуры компьютера, описывающие как хранить код и данные (архитектура фон Неймана и т.п.), тоже императивные. Императивно/дискретно работает "физический мир полупроводниковой логики". Императивная парадигма является "родной" для компьютера. А ООП - это продолжение, эволюция императивной парадигмы.

    Императивная программа состоит из инструкций, которые что-то меняют в памяти. Если смотреть с минимальным зумом, то много инструкций - это функция. А много функций - это модуль. С точки зрения инженерии ПО важно программе быть максимально модульной, максимально DRY, легко изменяемой, эффективно решающей задачи поставленные и еще много чего. Так вот, кажется, у нас все есть, растащил по директориям кучу файлов, функции/модули/область видимости, но этого не хватит, ведь есть же еще типы, а их надо передавать туда-сюда, обрабатывать. Есть алгоритмы, которым глубоко фиолетово, что обрабатывать, будь то массив, словарь, список, дерево или даже генератор (люблю питон @ пиарю где могу). Кстати говоря, тут можно задуматься о сути итераторов, но это оффтопик.

    Во времена популярности ассемблера типов "еще не было". И это вызывало проблемы: множество рутины, множество кода, возможность прострелить себе регистр и так далее. Во времена C были примитивные типы и даже структуры, которые могли хранить данные и указатели на данные. Но все еще как-то неудобно, множество низкоуровневых действий. Нет даже строк, представлять их в виде массива - не слишком удобно, гораздо лучше иметь что-то вроде черного ящика. Где-то в те же времена уже было ясно, что нужно иметь еще более абстрактные типы, которые могут хранить контекст, иметь свои функции (методы), инициализироваться, деинициализироваться. В общем, нужно создавать типы "высокой абстракции", а еще уметь их модифицировать, расширять, комбинировать. И лучше еще с памятью явно не работать. А еще чуть позже популяризовались языки с динамической типизацией, где стало можно не заботиться о типах совсем. Мне даже кажется, что тут уместно сказать, что типов будто "уже не стало". Все есть контейнеры со своей областью видимости. Правда, все это медленно, особенно, если учесть, что динамическая типизация очень любит интерпретацию или динамическую компиляцию. Чем выше уровень, тем все тормознее.

    На самом деле все эти идеи были очень давно (ООП, динамическая типизация), еще даже раньше, чем появился C, однако людям было нужно время, чтобы осознать, обкатать.

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

    Это все особо важно и нужно в прикладных задачах, где обрабатываются разные данные, выводятся в разных видах или где есть интерфейс пользователя с множеством однотипных элементов. Практически всегда там возникает ситуация, когда нужно определить множество похожих объектов, сделать удобное API, использовать и расширять стороннюю библиотеку. Кроме того, существует множество паттернов, которые можно переносить откуда угодно куда угодно, не думая при этом. В вебе, с учетом того, что 95% приложений крутятся вокруг MVC и его вариаций, ООП очень даже кстати: модельки - это однотипные объекты из однотипных полей, имеющие в себе какую-то логику (свои функции/методы), контроллеры - однотипные объекты (получение данных/параметров запроса, выдача необходимого ответа в нужном виде). Если взять любой фреймворк, то там реализовано множество модулей, которые что-то реализуют: ORM, роутинг, кэш, сессии, request-объекты, response-объекты, какие-нибудь карты сайта, админки, модельки для юзеров, что-нибудь для работы со статикой, формы, локализация... Если нужно что-то расширить, то достаточно посмотреть на API, отнаследоваться, реализовать/заменить метод.

    Наверное, нужны какие-то примеры. Вот представьте, что пишете простой сайт, который должен отдавать готовый HTML. Но кроме этого сайт модный, поэтому он полностью ajax (html5 history api), никаких перезагрузок, только первая загрузка страницы, которая выгружает и фронт и стили и отрендеренную страничку, а потом дергаются нужные данные для других страниц (в json, туда кладется отрендеренная часть и еще какие-нибудь важные данные) с бэкенда. Оговорюсь, что это не SPA, а именно full ajax сайт, который все-таки еще рендерится на сервере в каком-нибудь серверном фреймворке. И ваш бэкенд должен отдавать, соответственно, 2 варианта страниц: обычную (как при прямом заходе по ссылке, это и для пользователя и для бота) и json-вариант для других страниц (это уже только для пользователя, соответственно). Вы создаете крутой контроллер, который в зависимости от параметров в GET, либо в зависимости от заголовка рендерит то json, то html. А дальше наследуетесь от этого контроллера и совсем не заботитесь о том, что у вас отдает конкретный контроллер: переопределяете метод с контекстом и отдаете в нем нужные данные, а уж что с ними станет в шаблоне или как их обработает фронтенд, получив из json, - без разницы. Нужно сделать только ajax-контроллер? У вас для него есть класс, осталось опять же только отнаследоваться. Нужно отдавать SEO-заголовки? Можно сделать миксин для контроллера и миксин для модельки и снова переопределить только один метод а-ля get_meta_title и все. Ну, понятное дело, я тут упустил мелкие подробности и все это актуально больше для языка вроде python и подобных (уж на чем пишу), но вот пример ООП-задач.

    Или у вас есть либа... Допустим, она зависит еще от трех других либ, плюс предоставляет какое-то API. Выглядит в виде класса, в нем несколько методов, пара публичных, + конструктор, + свойства. Пишете тесты, подменили зависимости объектами-пустышками и все получилось красиво. А как это сделать, использовать ли там какие-то специальные контейнеры или прямо на лету пропатчили класс (̶̶к̶а̶к̶,̶ ̶н̶а̶п̶р̶и̶м̶е̶р̶,̶ ̶м̶о̶ж̶е̶т̶ ̶п̶и̶т̶о̶н̶,̶ ̶п̶о̶т̶о̶м̶у̶ ̶ч̶т̶о̶ ̶о̶н̶ ̶в̶а̶м̶ ̶т̶а̶м̶ ̶н̶е̶ ̶"̶п̶а̶б̶л̶и̶к̶ ̶с̶т̶а̶т̶и̶к̶ ̶в̶о̶й̶д̶ ̶в̶с̶е̶ ̶м̶н̶о̶г̶о̶с̶л̶о̶в̶н̶о̶е̶ ̶и̶ ̶т̶о̶л̶с̶т̶о̶е̶ ̶г̶д̶е̶ ̶м̶и̶н̶и̶м̶а̶л̶и̶з̶м̶"̶), не суть.

    Да вот даже возвращаясь к тем итераторам, что я выше затронул. Допустим, есть у вас итератор и нужно сделать его thread safe. То есть при вызове метода, который возвращает следующий элемент, вы должны захватить мьютекс, а потом его отдать. Это легко можно сделать с помощью наследования: просто наследовавшись и обернув нужные методы. Либо с помощью интерфейсов, чтобы было универсально и для каких угодно объектов: реализуется интерфейс итератора в виде класса, который принимает другой итератор и его оборачивает.

    Вообще, примеров очень много, они повсюду, особенно, в вебе. Если в таких прикладных задачах не использовать ООП, то я даже не представляю, как тестировать этот код. Как его поддерживать, меняя логику? А как менять компоненты? Как быть DRY? Тут я, кстати, вспомнил про то, что вот, например, есть в C структуры. Это что-то вроде урезанного класса и на самом деле можно реализовать многие штуки с ними, писать отличный код, но он просто будет сложнее в поддержке и по скорости разработки будет очень далеко позади. Ядро линухи выглядит очень красиво и совсем там не лапша. Однажды фиксил драйвер, чтобы заработал 5ггц вай-фай, так вот он был красив и строг внутри. Кстати, в Go классы реализованы в виде структур, но я не смогу подробнее рассказать об этом, т.к. не смотрел этот язык. ООП - это не какая-то супер фича, а это всего лишь подход. Языки же добавляют синтаксический сахар, реализуют классическое ООП (java/c#/c++/etc) или же неклассическое (python, js, etc).

    Кроме ООП-парадигмы и процедурной парадигмы есть еще, например, функциональная. Но это отдельная совсем тема. В мультипарадигменных языках можно писать по-разному. Если что-то удобно представляется в виде цепочки функций, выглядит так, как будто нет побочного эффекта или его легко изолировать, то нет стоит городить классы или процедурный ад. Тем более в языках, которые близки к ФП, обычно полно встроенных функций, можно объявлять анонимные функции, почему бы этим не пользоваться. Ну или, например, у вас получился какой-то модуль, в котором не нужна ни инициализация, ни контекст ему не нужен, все выглядит как просто 4 связанные функции, то зачем здесь нужно ООП? Хотя если что-то из этого можно кастомизировать, а вы чувствуете, что это понадобится, т.к. есть объекты, которые будут расширять функциональность, то стоит задуматься. Главное не оверинжинирить.
    Ответ написан
    4 комментария
  • Как тень блока сделать выше бэкграунда?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    z-index отрабатывает только на объектах с position:relative, absolute и fixed
    Ответ написан
    Комментировать
  • Как тень блока сделать выше бэкграунда?

    RadiationX
    @RadiationX
    Front-End разработчик
    в box1 надо добавить position:relative;
    Ответ написан
    1 комментарий
  • Имею ли я право добавлять в свое портфолио работы сделанные мной в студии?

    Spetros
    @Spetros
    IT-шник
    Статья 1295 ГК РФ. Служебное произведение
    1. Авторские права на произведение науки, литературы или искусства, созданное в пределах установленных для работника (автора) трудовых обязанностей (служебное произведение), принадлежат автору.
    2. Исключительное право на служебное произведение принадлежит работодателю, если трудовым или гражданско-правовым договором между работодателем и автором не предусмотрено иное.

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