• Как исключить дребезг живого поиска?

    @lloydbanks
    Ответ написан
    Комментировать
  • Поисковой фильтр на основе GET-параметров в laravel?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Один из вариантов:
    route(
      'route.name',
      array_merge(
          request()->query(),
          [
              'sortBy' => 'relevance_score',
              'sortOrder' => ($currentSortBy === 'relevance_score' && $currentSortOrder === 'asc') ? 'desc' : 'asc',
          ]
       )
    )


    Вроде, есть что-то более красивое у объекта запроса, не помню почему мы написали именно так у себя.
    Ответ написан
    Комментировать
  • Лучший способ организации интеграции 1С с сайтом?

    Falseclock
    @Falseclock
    решаю нестандартные задачи
    Статья старая и не актуальная. Есть новые инструменты и при чем весьма удобные.

    1. Перейти на версию 8.3.6
    2. Открыть доступ по OData
    3. Профит.

    Никаких битриксов. Драйвер есть готовый тут https://packagist.org/packages/falseclock/dbd-php

    Позавчера опубликовал статью infostart.ru/public/605427
    Ответ написан
    3 комментария
  • Как спроектировать сайт по поиску работы?

    @MadridianFox
    Web-программист, многостаночник
    Налицо неправильное разделение программы на модули. Наивно полагать что в модуле работника должна быть модель работника, поиск работника и, например личный кабинет работника из-за того, что все они относятся к работнику.
    Деление системы должно происходить после анализа предметной области и составления списка вариантов использования. При составлении вариантов использования, учитываются роли пользователей.
    В вашем случае чётко выделяются две роли - работник и работодатель. У каждого из них есть несколько возможностей на сайте - создать профиль/резюме/вакансию, искать чужой профиль/вакансию/резюме.

    При этом работодатель может создавать вакансию и искать резюме, а работник наоборот.
    Что это значит? Что во-первых модули надо компоновать именно так. А во-вторых - процессы, исполняемые представителями обеих ролей пересекаются. Модуль работодателя не имеет смысла, без модуля работника, т.к. если работник не создаст резюме, то работодателю нечего искать.
    Ну и в-третьих, оба модуля очень сильно связаны друг с другом. Модели придётся выносить наружу, чтобы использовать и там и там. Так зачем же модули?
    Ответ написан
    Комментировать
  • Yii2 Debug Сколько запросов к базе?

    qonand
    @qonand
    Software Engineer
    при выполнении запроса в модели, происходит:
    1. Запрос для получения структуры таблицы
    2. Запрос для получения кол-ва записей таблицы
    3. Запрос для получения данных по указанной выборке

    что бы избежать этого (на продакшене) стоит использовать кеширование схемы БД, для этого в конфиге подключение к БД достаточно прописать, например:
    enableSchemaCache' => true,
    'schemaCacheDuration' => 180000,
    'schemaCache' => 'cache'
    Ответ написан
    1 комментарий
  • Как настроить mail на vps?

    @Wol_fi
    php, js, mysql, highload
    установить sendmail, указать в php.ini php.net/manual/ru/mail.configuration.php#ini.sendm... , прописать spf для домена (откуда идёт отправка), сгенерировать ключи и подключить DKIM(установив open-dkim) чтоб письма подписывались.
    Ответ написан
    6 комментариев
  • Yii2 Поиск по каталогу?

    @Wol_fi
    php, js, mysql, highload
    Вообще по хорошему, нужен поисковой движок, типа sphinx или elasticsearch.
    Ну а если нужен простой костыль, то:
    заведите myisam таблицу search_table с полями name, type, id. В name запихнуть название (каталогов, разделов, товаров), в type собственно тип сущности - (каталог, раздел, товар), в id - айди сущности в её родной таблице. Далее на name повесить полнотекстовый индекс, и уже искать по нему, а результат поиска уже обрабатывать (если каталог или секция, то выводить все товары с них, если товар - то показывать его). Ну и конечно поддерживать актуальность таблицы search_table когда создаётся\редактируется\удаляется любая сущность.
    Ответ написан
    1 комментарий
  • Как нужно делать рассылку со своего сайта (сервера)?

    @xtreme
    Снимаю порчу по SSH :)
    1. Изучить рекомендации по рассылкам у крупных почтовых сервисов (Google, Yandex, Mail.ru). При подготовке писем для рассылки строго следовать их рекомендациям.
    2. Зарегистрироваться в postmaster.yandex.ru, postmaster.mail.ru, чтобы следить за ходом рассылки писем.
    3. Отлавливать недоставленные письма, убирать их из листов рассылки, дабы не мусорить.
    4. Сделать механизм отписки от рассылки (это один из критериев пункта 1), причем 100% работающий в один клик.
    5. Мониторить нажатие кнопки "Спам" в вышеуказанных почтовых сервисах, также сразу исключать их из будущих рассылок.

    1к подписчиков - это мелочь. Можешь пробовать отсылать сразу все письма на свой почтовый релей (для 1к хватит и одного релея), даже почти дефолтно настроенный MTA будет рассылать с нужными интервалами.

    Обязательное условие - соблюдать все почтовые правила и не пренебрегать цифровыми подписями - SPF, DKIM, DMARC, правильные записи в DNS (A, MX, PTR).
    Ответ написан
    10 комментариев
  • Как убедить начальство отказаться от велосипедов?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Не волнуйтесь, вас уволят и правильно сделают. И вот почему.
    Начну со стороны хорошего бизнесмена:
    У него уже есть cms и crm, которую он пилил 5 лет, умеет продавать и знает. Да, так получилось, свой велосипед, ужасно написанный, но это его не волнует до тех пор, пока она кормит и его и всех его подопечных. Отказаться от неё означает не только огромные временные затраты на смену всего, начиная от обучения программистов как её пилить, заканчивая обучением всех, кто будет её касаться. Так же это означает поддержка уже двух систем, старых клиентов со старой и новых с новой. Но самое главное - это высокий риск того, что продавать её будет тяжелее.

    Со стороны хорошего разработчика:
    А хорошему разработчику вообще до фени, с чем ему работать. Спросите у опытных. Эмоционировать при виде говнокода и велосипедов - это максимализм юного программиста. Разработчики с опытом умеют погружаться в любой велосипед, в любой говнокод и работать с ним. А потому что они уже навидались и в своё время тоже кричали и пытались перевернуть мир, но, кому это надо? Вы - наёмный работник, вы не должны писать красивый код, вы должны решать бизнес задачи. Бывалые так и делают, просто иногда про себя вздыхая, т.к. чувство прекрасного всё же не убить :)
    Ответ написан
    18 комментариев
  • Какая есть литетаратура, примеры, шаблоны для составления сметы startup проекта?

    viktorvsk
    @viktorvsk
    Думаю, если вы технарь, то именно детальный просчет всех вариантов, куда нужно вложить деньги - хостинг, реклама, офис ... - вы должны уже уметь составлять

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

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

    А вот что нужно для стартапа, это маркетинг, наверное даже больше, чем техническая часть.

    Тут могу посоветовать из фундаментального - Основы маркетинга (Котлер), толстенная книжка на 600 страниц, если имели дело с бизнесом с какой-либо стороны - большинство покажется водой и нерабочим в наше время, но систематизировано довольно неплохо все же.

    А вот из современного и, как сегодня говорят, мотивирующего, вот что неплохо:
    Библия "Бутстрапера" (Сет Годин)
    Фиолетовая корова (Сет Годин)
    Метод Тыквы (Майкл Микаловиц)
    Стартап без бюджета (туалетно-бумажный бизнесмен) (Майкл Микаловиц)
    Маркетинговые войны (Джек Траут)
    Ответ написан
    Комментировать
  • Как отследить нажатие на "Спам" кнопку?

    @maxtm
    Make money, not job
    1) Идем сюда https://postmaster.mail.ru/
    2) Регаем там себя как отправителя (определение по домену)
    3) После этого появится всякая статистика по отправляемым письмам
    4) Там же есть возможность настроить FBL - это то что Вам нужно
    5) Profit

    Подробнее тут habrahabr.ru/company/mailru/blog/147713

    Как бонус, у mail.ru есть офигенная штука - можно письма снабдить специальным заголовком, и мэил начнет по ним (в отдельности) давать статистику (кол-во писем, жалобы, %% доставки и т.п.)
    Ответ написан
    2 комментария
  • Можно ли выкладывать в портфолио свои работы сделаные в студии?

    @carbon88
    .NET developer/ORM developer
    По законодательству, насколько я знаю, все исключительные права на то, что вы делаете (создаете, пишите код и прочее) в рамках исполняемой должности принадлежат организации на которую вы работаете, если в договоре не оговорено иное. За вами может быть авторство, но авторство это несколько иное нежели исключительные права. Вам нужно было договориться с начальством, о том можете ли вы внести в свое портфолио проекты, которые вы делали в рамках исполняемой должности. Но студия имеет полное право не давать согласие, если она является держателем исключительных прав. Конечно, если в договоре прописано иное и есть пункт о таких случаях, то следует действовать в рамках договора.
    Ответ написан
    Комментировать
  • Первая верстка. Сойдет для первого раза?

    Текущее положение дел:
    1. Нет адаптивности.
    2. Большинство размеров задано в пикселах - это ухудшает положение дел для первого пункта.
    3. Нет единого стиля написания кода.
    4. Ужасный вариант применения универсального селектора.
    5. Нет normalize.css.


    Советы:
    1. Определите свой стиль, которому вы будете следовать, ибо сейчас в коде помесь двойных и одинарных кавычек.
    2. Не используйте идентификаторы для стилизации элементов. Сейчас это считается дурным тоном.
    3. Не используйте селектор по тегу для вложенных в body header, footer, main и т.д.
    4. Советую ознакомиться с различными методиками организации стилей и вообще кода. Для начала пойдет Code Guide by @mdo.
    5. Используйте CSS-препроцессоры (можно ещё и HTML).


    А так, начало неплохое, даже в IE8 более-менее нормально все.
    Ответ написан
    6 комментариев
  • Как подобрать ключевые слова для сайта?

    kopcap_va
    @kopcap_va
    SEO Consultant
    Если вас интересуют ключевые слова конкурентов можно сделать так:
    С помощью сервисов Semrush (для Google) или Продвигатор (Google и некоторые регионы Yandex) исследовать интересующий вас сайт (например, конкурента) и узнать по каким ключевым словам сайт высоко ранжируется.

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

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    1. Vagrant, или docker с системой максимально похожей на production сервер. Разработку ведем там.
    2. Если никакая vcs не используется - пи"№;ц конечно, но быстро подключайте, иначе бида обеспечена. Рекомендую git + git-flow.
    3. Правки в БД ТОЛЬКО на основе миграций, при этом создавайте как up, так и down.
    4. Возьмите готовую систему для диплоя, либо напишите свой скрипт для этого. Цель в том, что бы минимизировать человеческий фактор при обновлении продакшна на столько, на сколько это возможно.
    5. Все, что находится в /vendor - обязательно должно быть заигнорировано в vcs, composer.json И composer.lock (спс OnYourLips) должен ссылаться на фиксированные версии пакетов.
    6. Код ОЧЕНЬ-ОЧЕНЬ-ОЧЕНЬ желательно покрыть тестами. Самый кульный вариант - запуск тестов после push изменений в главный репозиторий. Для этого можно использовать связку gitlab + gitlab-ci.
    7. На счет доменов - в чем проблема то? Вынесите домен в конфигурацию, и создайте конфиги для локального, тестового и боевого окружений.
    8. На счет записей в БД: да, они обязаны отличаться. По хорошему на проде руками в принципе можно только смотреть, а записывать нельзя. Для тестовой БД - пишите фикстуры.
    9. сразу подумайте на счет логов: если их over-дофига, имеет смысл использовать системы типа logstash, или sentry.
    Ответ написан
    2 комментария
  • Как оптимальнее всего заказать создание сайта на WordPress?

    @igoravr
    Лучше купить тему, которая сразу близко подходит по функционалу. Установить всё самому и заняться проектом.

    Если проект «пойдёт», то нанять профессионалов и сделать так как будет нужно. Уже с учётом полученного опыта работы над проектом.
    Ответ написан
    2 комментария
  • Как установить запланированные задачи?

    RicoX
    @RicoX
    Ушел на http://ru.stackoverflow.com/
    Можно через системный cron, можно через планировщик (events самого mysql), через крон банальность и инфы в гугле море, через планировщик - интересней:
    По умолчанию в большинстве версий MySQL планировщик отключен. Чтобы его включить добавьте event_scheduler = 1; в файл конфигурации MySQL. Для избежания перезапуска MySQL следует выполнить далее команду SET GLOBAL event_scheduler = ON;
    Затем создаем событие типа:
    DELIMITER $$
     
    CREATE EVENT IF NOT EXISTS `e_part_manage`
           ON SCHEDULE EVERY 30 DAY
           STARTS '2014-10-10 04:00:00'
           ON COMPLETION PRESERVE
           ENABLE
           COMMENT 'Управление удалением записей'
           DO BEGIN
    Тут можно как напрямую вставить команду удаления, так и использовать процедуру
           END$$
     
    DELIMITER ;

    Как-то так.
    Ответ написан
    1 комментарий
  • Почему дизайн тостера стал таким ужасным?

    XXX
    @XXX
    Решение где-то рядом
    @Butteff мне тоже новый дизайн не нравится, но о вкусах не спорят, решать владельцам и разработчикам тостера.

    Не хватает:
    1. Быстрой вставки ника в комментариях (раньше было)
    2. В редакторе кнопки для вставки таблиц, спойлеров и т.д. (раньше было)
    3. В вопросе сейчас имя выводится, чтобы по нику обратиться, нужно вручную его набивать (раньше было можно скопипастить его)

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

    opium
    @opium
    Просто люблю качественно работать
    если вы быдлокодер на пхп то вы будете точно таким же быдлокодером и на питоне.
    быдлокодинг он к языку не привязан, он у человека в голове.
    Ответ написан
    1 комментарий