• Wordpress Multisite: как организовать одновременную публикацию статей/товаров Woocomerce?

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    Возможно, будет полезен плагин ThreeWP Broadcast.
    Ответ написан
    1 комментарий
  • Как получить положение каретки в textarea?

    DirecTwiX
    @DirecTwiX
    "display: flex;" уже предлагали?
    let sel = window.getSelection();
    let range = sel.getRangeAt(0);
    let boundary = range.getBoundingClientRect();


    https://developer.mozilla.org/ru/docs/Web/API/wind...
    Ответ написан
    Комментировать
  • Стоит ли загружать изображения/файлы прямо на собственном сайте?

    @esvlad
    Веб-разработчик
    В одном проекте нужно было хранить много фоток (группа фотографов) и там естественно фотографий пока не много, гигабайт на 5, но планируется залить тьму тьмущую, на сервер раскошеливаться не очень охота, поэтому пришел к решению хранить фотографии в ВКонтакте в закрытой группе, а что, контакт маловерятно, что будет их удалять, да и позже группу можно открыть и считай фото и группе и на сайте в аналогичных альбомах. Ну и через API вытаскиваю фотки, а видео храниться на Ютубе и его соответственно тоже дублирую на сайт.
    Ответ написан
    Комментировать
  • Как перенести список во вторую колонку в CSS?

    DirecTwiX
    @DirecTwiX
    "display: flex;" уже предлагали?
    display: flex;
    flex-direction: column;

    А если и в две колонки не помещаются?)

    Upd:
    А. Надо на две колонки одинаковой высоты.. Не заметил. Тогда сомневаюсь, что подобное возможно
    Ответ написан
    1 комментарий
  • Как правильно выравнить псевдоэлемент на flexbox?

    DirecTwiX
    @DirecTwiX
    "display: flex;" уже предлагали?
    Глупость какая-то..
    codepen.io/anon/pen/ALAwYV
    Зачем всё (a) оборачивать? Хотя бы текст в span обернуть..

    Вот так было бы правильнее:

    Codepen
    Ответ написан
    Комментировать
  • Работа input type=number, что не так?

    DirecTwiX
    @DirecTwiX
    "display: flex;" уже предлагали?
    function changeInputsVal(input, newValue) {
    	input.val(newValue);
    	input.attr('value', newValue); //Добавить вот это
    	var inputNumber = input.siblings(this);
    	inputNumber.val(newValue);
    }
    Ответ написан
    3 комментария
  • MVC как правильно, объясните некоторые моменты?

    DirecTwiX
    @DirecTwiX
    "display: flex;" уже предлагали?
    Модель работает с БД, а контроль уже занимается обработкой.
    Т.е. в модели - Select,Insert,Delete и т.д., а в контроллере валидация, обработка и прочее.
    Ответ написан
    6 комментариев
  • Корабль на волнах: анимация. Как вычислять угол наклона корабля?

    DirecTwiX
    @DirecTwiX
    "display: flex;" уже предлагали?
    Ответ написан
    Комментировать
  • Какие есть хорошие блоги о разработке сайтов?

    @archelon
    по фронтенду:
    https://frontendfront.com/ - агрегатор статей из разных источников.
    css-live.ru - в основном, переводы.
    https://www.smashingmagazine.com/ - фронтенд, вордпресс, красивые обои :-)
    Ответ написан
    Комментировать
  • Какое количество категорий может создать нагрузку?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Категории иерархические, там одна кухня. Есть теги, которые не имеют иерархии, с ними будет шустрее. То же касается произвольных таксономий. По тегам есть длительный опыт работы с сайтами где их от 3 до 12 тысяч, проблем нет. С иерархическими таксономиями есть опыт по несколько сотен штук с вложенностью до 4-5 уровня, проблем тоже не замечал.

    Если запросы начинают выполняться дольше разумного, нужно использовать object cache, если кроме запросов у вас еще своя логика на уровне PHP которая тоже ресурсы требует - используйте fragment cache. И все будет хорошо.
    Ответ написан
    Комментировать
  • Как развиваться начинающему web-разработчику?

    @toZavtra
    Принимаю заказы, пишите vasya@incream.org
    Послушай человека, у которого 4 года опыта управления веб-студией.

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

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

    Далее, опять про фреймворки, сами по себе они тоже глючат, там есть куча нюансов, ускоряют разработку они далеко не всегда, как писали на хабре "это фабрика над фабрикой".

    Поэтому, в чем лучше кодить: в wordpress или в каком-нибудь symfony - это вопрос спорный, холиварный. Ни то ни другое не идеальное. Соответственно, какой стек технологий тебе учить, выбирать нужно отталкиваясь от того, чем хочешь заниматься. А учить стек лучше не на курсах, а идти джуниором.

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

    Потом, не забывай еще главное, мы живем в стране, где даже автомобиль нормальный сделать не могут, качество разработки здесь абсолютно такое же, то есть никакое, люди они одинаковые, что в АВТОВАЗЕ, что в Яндексе, поэтому на весь этот флёр вокруг каких-то там разработчиков клади болт.

    Я тебе расскажу, как это работает с точки зрения бизнеса в России, а не со стороны парняги в свитере и очёчках:
    1) Есть богатый дядя, который наворовал в своё время денег, у него есть сын, сын начитался хабра и бизнес молодости, взял у бати своего миллионов 50-100 и пошел пилить абсолютно никому не нужный стартап, нанял 30 человек, поставил компы, вот сюда нужно знать не столько сами технологии, сколько МОДНЫЕ технологии, смотришь модные тренды и их учишь или просишься джуниором, вауаля, и вот ты в струе.
    Делали делали, сыночке надоело пилить стартап, у него пати на мальдивах, свадьба, дети и тд - все разбежались.
    2) Есть государство или крупная контора, которая так или иначе, принадлежит кому-то из власть имущих, им нужно какой-то проект, они этот проект отдают фирме (то есть сыну, брату, свату), у которой сайт визитка. Эта фирма отдаёт это другой фирме, та отдает это еще двум-пяти фирмам. Где-то там в конце сидишь ты за компом и делаешь то, что тебе написали в ТЗ. Чтобы тебе что-то изменить в этом ТЗ, это должно пройти через 8 ртов и кучу согласований, и ты вообще лучше сиди и поменьше высовывайся. В таких конторах будешь пилить и пилить какую-нибудь хрень, в которой уже запутались все вокруг, но ты как-то делай, ведь скоро сдача. А потом они за два дня до сдачи, всей аравой посредников и программистов собираются в одном месте и наконец-то звонят главному заказчику и спрашивают, а как надо делать, то есть то, что ты спрашивал месяц назад. Иногда этот брейншторм помогает, иногда нет. Как туда устроиться? Опять таки, иди джуном.
    Примечательно, что качество продукта таких контор обычно хуже самой захудалой Джумлы, зато там все хаят CMS, но чтобы им в продукте прикрутить голосовалку, им нужно напрячь 8 ртов, распилить бюджет в тысяч 180-400, через кучу согласований сделать всё через жопу, но через ООП и какую-нибудь Symfony. Круто.
    3) Компании типа Яндекса, каких-нибудь банков. В таких компаниях обычно умные люди только на самом верху - это основатели компании, усмотреть за всеми аспектами фирмы им технически невозможно, поэтому часть продукта у них хорошая, основная, например, как поиск у гугла, а 90% других сервисов полное говно (посмотрите, что сделали эти "умы" из яндекса, вроде, с кинопоиском). Зато ЧСВ у каждого там Васи на уровне основателя компании. Вот эти Васи и делают там 90% продуктов, которые, как-бы второстепенны. Чтобы туда попасть надо не технологии учить, а изучать тренды какого-нибудь хабра, что там сейчас ценятся, какие авторы зарубежные: "Мега алгоритмическое программирование Алана Коуэла" и тд, таких книжек прочитать штук 10, выучить всё азы чистого программирования без фреймворков, одеться как мудак, чтобы выглядеть еще мудачее того гика, который тебя будет собеседовать, а то они ранимые и завистливые и опять таки, устроиться джуном.
    4) Компании локальные по созданию сайтов и прочего программирования. В таких фирмах свободы намного больше, чем в первых трёх, но нет столько денег, зато сразу видно продукт, который делаешь. Тут тебе пригодится и вордпресс и битрикс. Туда тоже лучше идти джуном. В таких компаниях шанс того, что ты потом запустишь боком собственный проект намного выше, т.к. у тебя будет опыт создания веб-сервисов, сайтов за Реальные сроки и ты будешь видеть ход их развития. Но с точки зрения денег, редкий случай, когда они тебе могут предложить даже столько, сколько в стартапе.
    Поэтому, если для души программировать, получать удовольствие, то варианты 1 и 4. Если хочется работы, от которой многие воют, то 2, 3.

    5) Есть еще компании, которые работают на запад, денег сейчас там в теории, может быть столько же, сколько и в стартапе у богатого буратино, там тебе сильно повезет, если будете делать пункт 4, если 2-3, то можешь брать веревку и мыло.
    Стартапы таким компаниям дают мало когда, ведь хипстеру миллионеру нужна атмосфера, нужны работнички перед глазами, а не на аутсорце. А вот латать баги в 6 летнем коде по цене продавщицы в ларьке Нью-Йорка - это запросто, это аутсорц. Текучка в таких местах дикая, поэтому они, отчаявшись, ищут негров за рубежом, никто вменяемый этим заниматься не хочет у них на родине. Поэтому если на аутсорце будет создание сайтов или каких-нибудь новых систем, это большая удача.
    Туда тоже нужно идти джуниором. Еще они почти всегда требуют английский, а если у тебя есть английский, зачем тебе они?

    6) Учишь английский, вордпресс, джумлу, магенто, цсс и идешь искать клиентов на английском языке. Из тебя вылупляется фрилансер, в перспектике открываешь собственную контору номер 5.

    Есть еще лайфхак, берешь абонемент в дорогой фитнес центр и знакомишься там с парнями, когда-нибудь тебе повезет и выйдешь на кого-нибудь богатого из чиновничков или олигаршьих родственников. Всем говори, что ты программист и у тебя есть "команда". Этого хватит, у богатых всегда "куча идей" куда бы просрать бабки (стартап) или наоборот где-то "намутить денег" (пункт 2). Они тебе сами предложат "тему", если ты обмолвишься, что ты программист. Всё, что у тебя будет к тому моменту, это сайт визитка, понимаешь к чему я клоню? Пункт 2, но ты будешь сверху, вторым ртом. Если повезет, будет и пункт 1, но ты будешь ко-фаундерем, ты посмотришь модные технологии и будешь под смузи составлять вакансии с reactJS, Angular, high load и еще кучу умных слов. А на биржах заказы пусть обычные люди ищут, которые за деревьями леса не видят. Или идут через жопу в пункт 2, когда надо заходить с другой стороны. Think different.
    Тот, кто на основании выше написанного лайфхака понял, что он ходил по кругу, а ключик в другом месте открывается, может мне скинуть денег за совет на кошелек R738086405346
    Точнее, это даже не совет, это инструкция, которая действительно рабочая.
    Ответ написан
    2 комментария
  • Как реализовать функцию inArray?

    DirecTwiX
    @DirecTwiX
    "display: flex;" уже предлагали?
    function inArray(value, array) {
      if (!array)
        array = this;
      for (var i = 0; i < array.length; i++) {
        if (value === array[i]) {
          return true;
        } 
      }
      return false;
    }
    Array.prototype.inArray = inArray;
    console.log([1, 10, 145, 8].inArray(10));
    console.log(inArray(100, [1, 10, 145, 8]));
    Ответ написан
    2 комментария
  • Как развиваться начинающему web-разработчику?

    Нет времени объяснять – учи английский язык
    Ответ написан
    Комментировать
  • Как правильно технически организовать веб-разработку?

    IRC
    @IRC
    Django developer & Atlassian DevOps engineer
    - Dev & Production сервера понятно. Нужно ли делать локал-сервер у разработчика? Стоит ли физически разделять дев и продакшен или достаточно разных виртуал-хостов и баз данных?

    Зависит от масштаба проекта. На начальном этапе у разработчика всегда должна быть возможность проверить написанное локально -- это быстро и удобно. Как, например, в моем случае встроенный сервер Django. В будущем, когда проект становится большим -- можно прибегнуть к автоматизации этого процесса через среды сборки на тестовые стенды.

    Физически (как я понял по разным железкам) разделять dev и prod имеет смысл только тогда, когда это требуется для правильного функционирования системы (т.е. prod занимает ресурсы физического сервера на 70-80%).
    Когда дойдете до таких масштабов -- решение само придет. Сейчас идите по пути максимального сокращения расходов (VPS или один выделенный сервер в ДЦ).

    Кстати, советую сразу откинуть идеи (если такие появляются в команде) "да у меня дома комп мощный, на первое время потянет", т.к. переносить все равно придется в скором времени из-за ряда неудобств.

    А в качестве выделенного сервера хорошо подойдет https://www.soyoustart.com/ie/essential-servers/ с установленным VMware ESXi. Дальше уже крутите виртуалки какие хотите.

    - Где и какие делать репозитории кода? Никаких серверов у нас в офисе не будет и собственно самого офиса тоже ;)

    Путь 1: Github/Bitbucket в облаке
    Путь 2: GitLab/Bitbucket Server у себя на сервере.

    - Нужна ли специализированная task management (типа, Jira)? Сейчас используем для управления задачами WorkSection. Стоит ли для разработки использовать что-то отдельное специализированное? Я так понимаю, что та же Jira может отслеживать коммиты в git как процесс выполнения задач - это было бы круто!

    Нужна! И это должно быть с нулевого дня начала вашей работы. Иначе, когда зашьетесь в тоннах переписок в месенджерах и Google Docs'ах, будете вспоминать тот день, когда было лень потратить время на организацию работы.

    - нужен ли отдельный баг-трекер? Выделенных тестировщиков пока не предвидится.

    Для кого? Для пользователей вашим софтом? См. ответ выше.

    - Стоит ли использовать Scrum? Или просто тупо идти по задачам?

    Тупо идти по задачам никогда не получится. Нет такой самоорганизации у людей. Получите гораздо больше головной боли в решении косяков других людей в своей роли ПМ. Изучите методологии. Мы используем Scrum + TDD.

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

    Нужна! Вот прям как трекер задач. И привычка туда записывать все по проекту тоже нужна. Разрабатываете API -- супер! Сначала опишите его в Вики, потом начинайте кодить. И все в таком духе. Все полезные ссылки по проекту, доступы к стендам и пр. -- все надо хранить не в переписке или облаках, а и именно в единой отправной точке.

    Еще удобно использовать тот же Confluence для проведения встреч. Там есть готовые шаблоны для этого. Позволяет легко фиксировать все вопросы и принятые решения.

    - Что еще забыл?

    Способы ведения проекта в Git забыли, такие как GitFlow.
    Контейнеризация от Docker для упрощения/ускорения работы разработчиков/тестеров/админов.

    PS. Еще один вопрос не могу понять: должны ли запросы на доработки софта идущие от других отделов проходить через меня как управляющего разработкой (я оцениваю целесообразность и ставлю задачу разрабам)

    Должны.

    или лучше чтобы они напрямую контачили с разработчиками?

    Напрямую с разрабом -- только для обсуждения уже поставленной в план задачи, а для постановки задачи -- с ПМ и всей командой (если Scrum)

    Не будет ли это с моей стороны лишней тратой времени?

    Это -- ваша непосредственная работа.
    Ответ написан
    2 комментария
  • Стоит ли загружать изображения/файлы прямо на собственном сайте?

    @SKRSKR
    сюда загружай - habrastorage.org
    а вообще лучше взять вдс на овх за 300 руб и не парится за такой бред
    Ответ написан
    Комментировать
  • Почему возникает ошибка Unexpecting T_ELSE?

    DirecTwiX
    @DirecTwiX
    "display: flex;" уже предлагали?
    if ($mainsum >=75) {
      $mainsum -=75; 
      $normpay = $mainsum*$normv;
      $socpay= 75*$socv; 
    } else {
      $normpay = 0;
      $socpay = $mainsum *75;
    }
    Ответ написан
    Комментировать