• Считать ли опыт разработки под битрикс полноценным опытом в php?

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

    Вариант 1:
    Ты попадаешь в студию где битрикс используется как CMS. Основная работа - над готовыми шаблонами и их адаптацией. Программирования минимум.
    Это слабый опыт для PHP разработчика.

    Вариант 2:
    Ты попадешь в крупную компанию которая пилит сложные высоконагруженные магазины или гос сервисы. Много кода и погружения в FW Bitrix. Это весьма релевантный опыт, и он может быть куда лучше чем опыт на FW но в маленькой говностудии, где ты будешь шлепать мелкие сайты и заниматься шаблонами, а не бизнес логикой.

    Правильный ответ: в зависимости от компании в которую ты попадешь и проектов над которыми ты будешь работать.
    Ответ написан
    Комментировать
  • Каковы современные лучшие практики для настройки локального окружения php разработки под Windows?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Аналогично. 5 лет еб*тни с windows. Почти на каждый чих по разработке - выдумывай костыль для винды.
    Что только не пробовал
    - вирталки - медленно, гемор
    - он же вагрант, медленно
    - WSL сыр и медленно
    - OpenServer - костыли, медленно гемор.
    Виртуальные терминалы conemu+clink+git bash.
    В итоге упоролся когда крупное приложение на моем виндожелезе вообще еле ползало.

    Перешел полностью на ubuntu (на работе kde, дома gnome). Счастью нет предела. Приложение работало более чем в 10 раз быстрее за счет ntfs vs ext4. Вся проблема была на 90% в сцука природно медленной файловой системе винды.

    Большая часть игр нынче и на linux есть, та же дотка, цивилизация в которые я катаю.
    Когда поиграть кайф в другое - рядом под рукой винда.

    Не очкуйте люди, переходите на linux. Первые опыта секса с ним не так страшны как рисуют. Зато когда вы внутри системы - вы лучшее ее понимаете. Особенно для беков, знать linux не работая на нем ежедневно - сложнее.
    Секс с ним очень быстро заканчивается и начинается идилия.
    Да, конечно визуальные оболочки стабильнее в винде нынче чем в linux, но это мелочь по сравнения со всеми плюсами которые обретаете.
    Ответ написан
    Комментировать
  • Стоит ли углубляться в изучение 1с Битрикс?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Каждый инструмент хорош для своей задачи.

    Сейчас рынок таков:
    1. Битрикс не нужен в продуктах и сервисах.
    Если вы продуктовая компания (inhome разработка) и делаете проект на вырост для себя который поддерживать и развивать будете долго, а также у вас в компании есть опытный разработчик который знает толк в паттернах - берите Symphony/Laravel. Это окупится гибкостью.
    Хотя если у вас интернет магазин - можно подумать о гибриде, на начальной стадии это окупится.

    2. Хороший старт для небольших студий
    Если вы небольшая студия то это отличный способ держаться на рынке, заказов много. Откаты от битрикса - копейки по сравнению с теми суммами которые вы будете получать за сами заказы. Рынок очень большой, глупо идти против шерсти. Вы сможете легче их находить и соответственно проще получать более крупные заказы.
    Клиентов которым на самом деле нужен framework, а не готовый функционал - очень мало. И вы им либо будете впаривать то что им не нужно, или будут некоторые проблемы с стабильным притоком заказов.

    3. Выход на крупных клиентов
    Если вы крупная компания, то битрикс даст выход на крупные многомиллионные тендеры, которые очень многие идут по документации как требование. Создание высоконагруженных сайтов для крупнейших компаний РФ - это гораздо интереснее чем клепать мелкие сервисы на laravel/symphony.

    Знание битрикса не отменяет потребности изучения хотя бы одного MVC фреймверка. Быть хорошим беком без этого сложно.

    С точки зрения разработчика понимание современного PHP и использование composer отвязывает вас от конкретной платформы, и позволяет использовать лучшее из любой фреймверков в любой платформе.
    Не нравится роутер в битриксе? Берите из laravel. Хотите более функциональных контроллеров чем те которые появились в 18 ядре? Возьмите из symphony/laravel. Не нравится ORM? Возьмите Doctrine.
    Все из вышеперечисленного не сложно прикручивается к битриксу, и позволяет вам использовать все сильные стороны системы и фреймверков. В битриксе сильная сторона в данном контексте: хорошая админка которая позволит затащить крупный проект в короткие сроки (требования рынка). Для ИМ - много готовых интеграций со всеми сервисами которые ставятся быстро и просто.

    Для PHP разработчика если работать планируете только в продуктовых компаниях можно обойтись только знанием фреймверков. Если хотите более уверенно и широко смотреть на рынок: то битрикс+FW.

    Очень согласен с коллегой, обозначившего что хорошо готовить проекты на битрикс умеют очень немногие, т.к. бест-практикс нигде не обозначен. Возьмите за основу вот эту заготовку, и хорошо ее изучите, она даст вам понимание что такое более менее современный проект на битриксе
    https://github.com/regiomedia/bitrix-project .
    Ответ написан
    Комментировать
  • KDE PLASMA не работают горячие клавиши meta+arrow (win/super + arrow)?

    north_leshiy
    @north_leshiy Автор вопроса
    Руководитель направления разработки
    Ответ:
    forum.ubuntu.ru/index.php?topic=292661.0
    Проблема в том, что указанные выше действия - не то что подразумевается по умолчанию в Gnome или Windows.
    Решением будем перебиндить на следующие дейтсвия:
    59cf67c7824e8219384386.png
    Ответ написан
    Комментировать
  • Качество кода в компонентах битрикса?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Вот пример простейшего компонента
    <?
    class SaleRecomendedProducts extend \Bitrix\iblock\Component\ElementList {
    
    }


    Плюс берете шаблон из любого подходящего наследника. Методы которые нужно - переопределяете. Если работаете через ORM со своими таблицами/сущностями то пишите свой с нуля.

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

    С комплексными компонентами чуть сложнее, в доках мутно описано, я разобрался копая комплексный код компонента catalog + доки.
    Вообще с доками грустновато. API D7 выпустили месяц назад, но оно на данный момент почти пустое.
    https://dev.1c-bitrix.ru/api_d7/
    Ответ написан
    Комментировать
  • Как реализовать Rest api для сайта на Битрикс?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    1. Нужно писать свой компонент с роутингом.
    2. В зависимости от тяжести логики, всю тяжелую лучше выносить в классы в модули и подключать через namespace.

    Перед написанием, пройдитесь по документации как писать компоненты/модули + обязательно обратите внимание на новое ядро D7, если знаете ООП вам будет гораздо легче и приятнее писать как компонент, так и классы модуля.

    По новому ядру документации не так много, но есть неплохие короткие бесплатные видокурсы (нужна регистрация)
    academy.1c-bitrix.ru/education/index.php?COURSE_ID...
    Ответ написан
    1 комментарий
  • Обязательно ли знать Bitrix чтобы быть web-разработчиком?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Есть две стороны медали.
    1. Разработка на самой востребованной на рынке пока что в СНГ системе (Bitrix). Востребованной в 1 очередь заказчиками, а не разработчиками.
    Вы всегда найдете себе работу.
    Но вам придется мириться с текущими недостатками, которые исправляются не так быстро, т.к. поддерживается обратная совместимость (они не могут себе позволить ее не поддерживать т.к. имеют слишком большую долю на рынке). Но все же исправляются, и на новое ядро уже переписана немалая часть функционала.
    2. Разработка на фреймверках. В России к примеру распространены YII, Symphony и активно набирающий обороты Laravel. Yii - больше для мелочи, Symphony/Laravel потенциально для более крупных проектов.
    Работа с ними приятнее с точки зрения программирования, но вам потенциально придется писать очень много того что в CMS уже написано. Хотя порой написать новое быстрее чем кастомизировать уже написанное под бизнес задачу.
    Рынок/вакансий на FW меньше, + есть не стабильность, сегодня популярен один FW, завтра другой. Доминирующей позиции ни у кого нет. Если выберете эту ветку - я бы посоветовал Laravel, мне кажется наиболее перспективный, в топовых студиях по крайней мере спрос растет.
    Плюсы данного пути - вы начинаете изучать программирование "снизу", с ООП, ядра, без вариантов. Это сложнее чем изучать CMS, должна быть неплохая теоритическая база чтобы не гавнокодить (имхо).

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

    Ваша лучшая документация код, который под капотом, за красивыми (или не очень) интерфейсами. Хорошо документированных CMS почти нет, bitrix в этом направлении один из лидеров.
    Если скил пока не позволяет читать исходный код и понимать, то начинайте мануалов).

    Вообще для обучения мониторьте HH.ru на тему: junior разработчик. Вам повезет если вы попадете в крупную студию с хорошими ведущими специалистами и хорошей программой обучения. При таком раскладе вас научат программировать вне зависимости от использования платформы и научат базовым практикам корпоративной совместной разработки + быстро отучат говнокодить.
    Если попадете в мелкую - тут придется самому грызть гранит, читать много литературы, вы достигнете всего того же, но за больший период. Для начала кстати посоветовал бы почитать:
    • "PHP. Объекты, шаблоны и методики программирования" Мэт Зандстра
    • "Совершенный код" Стив Макконнелл


    И посоветую не слушать популистов и ненавистников Битрикса. Многие из них просто работали или со старой версией, или работают сейчас, но не изучают новое ядро, не следуют новым практикам, или о новом ядре знают очень мало. А многие попросту плюются на все чем не пользуются сейчас, в духе "все дураки, я один умный", доля конструктивной критики весьма мала, хотя критиковать есть за что. Если бы битрикс был таким полным говном как многие описывают - он бы не занял доминирующую позицию на рынке.
    Ответ написан
    5 комментариев
  • Как делают бэкэнд в студиях "под ключ"?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    1. Не распыляйтесь. Берите ту технологию на которую больше всего спроса и развивайте ее.
    К примеру выбирая php+bitrix - в ближайшее время, проблем с клиентами будете испытывать мало.
    Лицензию в данном случае оплачивает клиент, а если вы заключите договор с битриксом - будете еще иметь откаты (доп бонус). Будете распыляться и хвататься за клиентов с разными технологиями - наживете себе много боли. Лучше иметь основное направление, в котором ваши специалисты хорошо шарят, чем когда они могут работать с любым направлением, но "по верхам". И когда это одно направление окрепнет и обрастет мышцами можете брать доп направление. Но никак не сразу, если у вас нет ведущих специалистов которые будут курировать направления.

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

    3. Ваши ПМ должны быть готовы продавать новое направление. Желательно искать ПМ с опытом разработки. На них тоже лучше не экономить.
    Ответ написан
    Комментировать
  • Часто ли падает Битрикс24?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Переносите bitrix24 в коробку на свой сервер - никаких падений)
    Ответ написан
    Комментировать
  • Как правильно настроить "Ускорение сайта CDN" в Битрикс?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    1. CDN не панацея и не таблетка скорости. Включать и тестить надо грамотно, в некоторых случаях он может даже замедлять работу.
    Чтобы проверить его работу посмотрите в исходный код страницы, все выводимые изображения у вас должны начинаться с CDN bitrix
    Пример
    c09327c71f184ed4881d2de2446f65d8.png
    2. CDN должен включаться практически сразу.
    3. Я думаю вам нужно решать проблему другим функционалом если вам не помогло:
    • Проверьте настройки кеширования компонентов на сайте, найдите "толстые" страницы из-за которых у вас может проседать общий показатель. Закешируйте все что необходимо, хитов в БД лишних быть не должно.
    • Посмотрите в сторону композитного сайта
    • Проверьте не тормозит ли у вас front-end (возможно back-end у вас уже летает, а загвоздка в толстом фронте). Сделать lazyload.
    • Напишите индексы в БД по самым нагруженым запросам.
    • и т.д.
    Ответ написан
    1 комментарий
  • Почему Битрикс так популярен?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Поставьте себя на место заказчика:
    1. CMS с богатым опытом (уже более 10 лет на рынке)
    2. Имеет самую большую в России долю по eccommerce
    3. Имеет бесплатную качественную поддержку
    4. Имеет широкую документацию
    5. Во всех регионах от малых до самых топовых студий можно найти специалистов без труда.
    6. Обратная совместимость. Полная и безоговорочная. Вы всегда получите доступ к новым фичам и вам не придется доплачивать дохрена программистам чтобы перейти на новую версию движка т.к. старый уже не поддерживают и он кишмя кишит дырами.
    7. Уже готова большая часть функционала которая вам нужна, и оттестирована годами. Только шаблон по сути натяни + немного кастомизируй логику под свои БП.
    8. Есть штатная интеграция с 1с, у нас весь бизнес в России почти на ней.

    Ключевое: "бизнес не любит риски", и потому в большинстве случаев bitrix самая удобная и выгодная система для заказчика как минимум в России.

    За 6 летний опыт работы в направлении веб-студий, столько компаний повидал которые писались на каких нибудь:
    а) Самописных движках
    б) Бесплатных движках к которым прибили гвоздями функционал который в них не заложен
    в) Или вовсе на питоне/руби
    ... которых не хотели брать ни одна из топ 10-20 региональных студий (РнД) на поддержку, и они потом переписывали заново проекты... на bitrix.

    Bitrix это стандарт отрасли по ecommerce в России. Сейчас глобальный тренд на рынке - работы по поддержке и развитию проектов становится все больше чем работы по созданию новых.

    И когда вы пишите на bitrix framework, у вас будет всегда много работы, т.к. bitrix не только популярен, но становится все популярнее, следите за вектором. Сейчас он входит в топ 8 CMS в мире, за последние годы прибавил 5 позиций и продолжает увеличивать свою долю.

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

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

    Ну и что немаловажно это те люди которые пишут этот код. Если вы в топовой веб-студии с хорошими архитекторами и ведущими программистами - код на bitrix Framework будет написан качественно, и грамотно на новом ядре в традициях ООП, использования паттернов, грамотно собраны в модули и компоненты. Если же вы фрилансер или в мелкой студии, скорей всего ваши проекты будут "дурно" пахнуть, вся логика будет в шаблонах, или вообще в 1 шаблоне который будет напрочь состоять из сплошного роутинга.
    Ответ написан
    7 комментариев
  • Что все-таки должен уметь делать frond-end-разработчик?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Хорошая критика в адрес full-stack понятия на этой неделе вышла.
    https://habrahabr.ru/company/Voximplant/blog/275229/
    Ответ написан
    Комментировать
  • В какой момент пора использовать ООП?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Лично у меня полное понимание зачем нужно ООП пришло лишь когда я прочитал книгу "Совершенный код".
    Прочитайте ее, это мастхев книга для любого программиста пишущего на ООП и (вдруг) без. Там даже есть такой раздел: "Разумные причина использования классов" где все детально разжевывается. С примерами.

    Если закрепите ее книгой Мэта Зандрста - то понимание будет еще глубже.
    Ответ написан
    Комментировать
  • Могу ли я авторизоваться на чужом сайте через twitter используя php (curl)?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    А зачем использовать Curl? Попробуй это сделать через PhantomJS.
    Ставишь на машину nodeJS, phantom и код в несколько строчек эмулируй работу браузера, нажатие на нужные кнопочки и пр.
    Если тебе надо все таки подружить с PHP - то запускаешь команду фантома через какой нибудь php_exec.

    Через Curl скорей или не получится, или будешь дольше возиться. Хотя если получится, то вероятно будет несколько быстрее, фантом не столь быстр на сколько могло бы того хотеться.
    Ответ написан
    Комментировать
  • Какие CMS вы берете на тех. поддержку/используете при разработке?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    О тех поддержке.
    Bitrix - уже стандарт для студий в России, и уже не только в России. Потому берут почти все студии)

    Некоторые студии берут еще какие нибудь 1-2 CMS на которых работали ранее, до перехода на bitrix. В основном это бесплатные CMS: modx, drupal, joomla, wordpress.

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

    Выберете bitrix и, возможно еще одну бесплатную CMS для малобюджетных проектов если в них будет необходимость. Говорите клиентам что вы работаете только с данными CMS, и, если они хотят перейти к вам на ТП - возможно даже появится дополнительный стимул обновить зачастую устаревший сайт).
    Ответ написан
    Комментировать
  • Нужна подставка под монитор, хочется, чтобы регулировалась по высоте. Какие посоветуете модели?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Однозначно бери гибкий кронштейн. Желательно чтобы была регулировки во все стороны. Т.е. чтобы можно было и поставить так чтобы он полулежал - мне такой нехватает - смотреть немного под углом сверху вниз. При нативной подставке такой угол можно сделать, а вот при моем кронштейне Kromax OFFICE-2 так сделать нельзя.
    Ответ написан
    Комментировать
  • Как заполнить документ .doc или .pdf данными на PHP?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Я перебрав кучу всяких генераторов PDF в свое время для задачи остановился на библиотеке TCDPF, на мой взгляд оптимальная)
    Предпосылок было много, но те которые сейчас вспоминаю - вроде бы там проще решаются проблемы со шрифтами и кодировками.
    Ответ написан
    Комментировать
  • Frontend или Backend?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    1. Back-end с опытом фронтенда - это хорошо
    2. Back-end оплачивается больше, сама сфера напорядок больше. У нас в компании разница в senior back/front правда небольшая - в 15-20%
    3. Все таки это разные вещи, и творчество проявляешь по разному =)
    Back-end это более хардкорная разработка) Для серьезных бородатых дядей) Например результат труда ты своего визуально не подкрепишь) Какая нибудь нетривиально анимированная SVGшка не будет радовать твой взор)
    Но зато ты имеешь шанс получить кайф от того что написал какую нибудь автоматизированную интеграцию двух больших баз данных, или запилил нереально крутую архитектуру проекта =)

    В общем на ЗП и условия не смотри - попытайся понять что тебе больше нравится =)
    И если нет вариантов работать в текущей компании по интересному тебе направлению, если живешь в достаточно большом городе и выбор есть - то лучше смени место работы)
    Ответ написан
    6 комментариев
  • Должны ли менеджеры проектов уметь тестировать сайты?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Менеджер должен тестировать продукт, musthave. Другое дело что тестирование понятие очень широкое, и в каждой копании степень и объем тестирования для менеджера разный. Я, к примеру, знаю студии где ПМ все бывшие программисты, и они делаю в т.ч. codeReview, в другой студии менеджеры тестируют только функциональность и корректность отображения, в третьей тестируют только на соответствие требованиям, в четвертой менеджеры вообще ничего не тестируют, отпуская все на отвали.
    У нас процесс такой:
    - Тестирует разработчик
    - Тестирует менеджер проекта
    - Проверяет другой разработчик (CodeReview) того же отдела (фронтендеры тестируют фронт, бекендеры бек).

    На своем опыте скажу что как раз лучшие ПМ получаются из тестировщиков и программистов.
    Ответ написан
    Комментировать
  • VirtualBox, как назначить внешний IP гостевой машине?

    north_leshiy
    @north_leshiy Автор вопроса
    Руководитель направления разработки
    Сообщество гиков не смогло помочь в решении с вопросом =(
    А я так старался, вопрос составляя)

    Пишу Решение + комментарии, может кому пригодится)
    Я решил арендой дополнительного третьего IP, узнать у провайдера его маску и адрес шлюза, прописал настройки в /etc/nework/intefaces/ guest машины, поставил мост и после перезагрузки все заработало)

    Дополнительно:
    1. Родительский IP (92) использовать при режиме работы сети bridge нельзя т.к. провайдер не пропустит обращение с этого IP, но с другого MAC адреса.
    2. Можно было попробовать использовать NAT, но мне не хватило знаний чтобы поставить.

    P.S. Поддержка мегаплана - шляпа, регламентированный ответ саппорта 3 дня. С учетом что CRM - жизненно важная система для компании которая ее использует (на ней завязан весь бизнес), то простой при сбое работы в неск. дней несет приличные убытки компании.
    Ответ написан
    Комментировать