• Лучший способ организации интеграции 1С с сайтом?

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

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

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

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

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

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

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

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

  • Yii2 Поиск по каталогу?

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

    @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).
    Ответ написан
  • Как убедить начальство отказаться от велосипедов?

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

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

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

    А вот конкретный статьи расходов (наружная реклама или контекст) - уже в любом случае делегировать. Соответственно, и 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 есть офигенная штука - можно письма снабдить специальным заголовком, и мэил начнет по ним (в отдельности) давать статистику (кол-во писем, жалобы, %% доставки и т.п.)
    Ответ написан
  • Можно ли выкладывать в портфолио свои работы сделаные в студии?

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

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


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


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

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

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

    index0h
    @index0h
    PHP, Golang. https://youtube.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.
    Ответ написан
  • Как оптимальнее всего заказать создание сайта на WordPress?

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

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

    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 ;

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

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

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

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

  • Влияет ли структура сайта на позицию в поисковиках?

    @stas3572
    Да что вы несете, век информационной паранойи, за нами следят, пищь-пищь один один.

    Ага, а когда у каждого второго одинаковые наборы классов и идентификаторов (footer, header, main - тысячи их!!!), особенно когда в проектах используют фреймворки типа Bootstrap - вы хотите сказать поисковые роботы и анализаторы сравнивают их и расценивают как одинаковых?!

    Главные вещи для поисковиков: текстовое содержимое, ключевики, заголовки и микроразметка, ну еще семантика
    Ответ написан
  • Yii2: как задать DocumentRoot?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    не можно сменить

    Бр...

    Если есть доступ по SSH - симлинк на папку web и все. Не нужно плодить никаких кастылей.
    rm public_html && ln -s application/web public_html


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