• Какую книгу про Linux почитать?

    @zavg
    Линус Торвальдс, Дэвид Даймонд. Just for fun — одна из лучших книг ПРО Linux.
    Ответ написан
    Комментировать
  • Какую книгу про Linux почитать?

    @fata1ex
    Скорее всего это не совсем то, чего вы ждёте от «книги про Linux», но тоже полезно.
    Андрей Робачевский — «Операционная система UNIX»
    ozon
    Ответ написан
    Комментировать
  • Какую книгу про Linux почитать?

    Если вас интересует «линукс с нуля», то посмотрите курс лекций Михаила Браво. Их очень легко найти в сети. Освещаются темы линукса вообще, что такое баш и как им пользоваться, основные команды, принципы построения скриптов (циклы, пайпы, перенаправления), регекспы, структура фс. В последних лекциях, на сколько я помню, разбираются какие-то программы. Помоему даже отдельная лекция по виму есть. Я свое знакомство с линуксом начал именно с этих лекций.

    Естественно все прослушанное надо сразу же пробовать в консоли, в этом вам помогут «домашние задания» в конце каждой лекции.

    Удачи в освоении linux.
    Ответ написан
    1 комментарий
  • Логика в ларавеле пишеться в контроллерах?

    ajaxtelamonid
    @ajaxtelamonid
    Laravel
    То, что весь код может писаться в только контроллерах, моделях и вьюхах и больше нигде, потому что мы пишем MVC (а что ещё бывает ?) - это заблуждение, от которого надо избавляться как можно быстрее. Потому что код по большому счёту нельзя писать ни в моделях, ни в контроллерах, ни во вьюхах - ему там не место. Код надо писать в php-классах, которые потом подключать в контроллеры, файлы обработки cli-команд, команды, выполняемые в очереди, в файлы-демоны и т.п.. Код должен выдерживать процедуру смена php-фреймворка просто путём копирования всех файлов и правки классов-репозиториев и других классов сопряжения с конкретным фреймворком. Если ваш код намертво спаян с текущим фреймворком - это признак того, что что-то пошло не так.

    Создавайте внутри папки app свои папки, раскладывайте там классы и подключайте их в конструкторе контроллеров. Почитайте, какие бывают типы классов с точки зрения архитектуры приложения, почитайте про принцип SOLID. Почитайте про Domain Driven Design, погуглите доклады, например https://www.youtube.com/watch?v=rjtbCyacJas .
    Учёба - это постоянный процесс, не останавливайтесь.
    Ответ написан
    Комментировать
  • Логика в ларавеле пишеться в контроллерах?

    MVC - это разделение всей логики приложения на 3 компонента. Логика есть веде, в каждом из этих компонентов.

    Скорее всего вопрос заключается в том, где обрабатывать те или иные данные перед тем как отдать их представлению, куда поместить логику. Принято считать, и везде пишут, что контроллер должен быть тонким. Значит, чтобы было правильно, всю логику пихаем в модель. Но тут нужно понимать, что Модель - это не только класс Active Record, или ORM - это еще классы различных сервисов, репозитории например, объекты форм, валидаторы - это ведь то же модели, и в них тоже есть логика.
    Ответ написан
    2 комментария
  • Что лучше: long-polling или опрос Ajax раз в секунду?

    tv_dakota
    @tv_dakota
    Backend developer
    Ни то ни другое. Лучше WebSocket
    Ответ написан
    Комментировать
  • Очень доступным языком о Long-Polling?

    planc
    @planc
    поковыряй пример https://socket.io/

    long polling используется, если клиент не может использовать websocket

    фишка в том, что вместо постоянного флуда новыми соединениями

    - есть что новое ?
    - нету !
    - есть что новое ?
    - нету !
    - есть что новое ?
    - { 'user': 'вася', 'message': 'привет'}
    - есть что новое ?
    - нету !

    происходит:
    - есть что новое
    ...
    ...
    ...
    ...
    - { 'user': 'вася', 'message': 'привет'}
    - есть что новое ?
    ...
    Ответ написан
    5 комментариев
  • Как вывести кнопки авторизации через соц сети на страницу регистрации 1с Битрикс?

    alex-1917
    @alex-1917
    Если ответ помог, отметь решением
    ну епти!
    <?
    		$arResult["AUTH_SERVICES"] = false;
    		if(CModule::IncludeModule("socialservices")) {
    			$oAuthManager = new CSocServAuthManager();
    			$arServices = $oAuthManager->GetActiveAuthServices($arResult);
    			if(!empty($arServices)) $arResult["AUTH_SERVICES"] = $arServices;
    		}
    
    if($arResult["AUTH_SERVICES"] && COption::GetOptionString("main", "allow_socserv_authorization", "Y") != "N"):?>
    			<p class="login_as"><?=GetMessage("LOGIN_AS_USER")?></p>
    			<?$APPLICATION->IncludeComponent("bitrix:socserv.auth.form", "icons", 
    				array(
    					"AUTH_SERVICES"=>$arResult["AUTH_SERVICES"],
    					"SUFFIX"=>"form", 
    				), 
    				$component, 
    				array("HIDE_ICONS"=>"Y")
    			);?>
    			<?$APPLICATION->IncludeComponent("bitrix:socserv.auth.form", "",
    				array(
    					"AUTH_SERVICES"=>$arResult["AUTH_SERVICES"],
    					"AUTH_URL"=>$arResult["AUTH_URL"],
    					"POST"=>$arResult["POST"],
    					"POPUP"=>"Y",
    					"SUFFIX"=>"form",
    				),
    				$component,
    				array("HIDE_ICONS"=>"Y")
    			);?>
    <?endif?>
    Ответ написан
    Комментировать
  • Стоит ли углубляться в изучение 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 .
    Ответ написан
    Комментировать
  • Как собрать портфолио для back-end разработчика?

    Deroy
    @Deroy
    Senior Developer, Software Architect
    Любой невизуальный опыт (т.е. как раз как у бекенд разработчиков, то что нельзя представить просто "показав") лучше всего представлять описанием своих обязанностей и фактически достигнутых целей которые привели к получению этого самого опыта.

    Я при отборе кандидатов на работу ориентируюсь прежде всего на резюме с подробными (но краткими, не более 2 абзацев) расписанными пояснениями к тому что человек в проекте делал, каких целей достиг. Это толчок к тому чтобы пригласить человека на собеседование, и поговорить предметно.

    Разумеется раздел "я знаю такой-то стек технологий, а еще я ковырял вот это, и вообще я крутой парень" тоже нужен, иначе как вас тогда вообще найти)

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

    Также стоит прикладывать ссылки на проекты (пусть даже снаружи не ваша работа, а фронтендеров), с вашими пояснениями (то о чем я писал выше) - становиться понятно в каких областях и с каким примерно кругом задач вам приходилось сталкиваться.
    Ответ написан
    3 комментария
  • Что значит "опыт верстки под битрикс, вордпресс и т. д."?

    Тут 2 варианта:

    1. Заказывают верстку, подразумевают создание шаблона/темы для CMS. По хитрости, по не знанию, по глупости - не важно. Важно не подписаться пилить это по цене только верстки.

    Верстка - это когда макет превращается в набор html/css/js файлов.

    Да, могут быть вариации. Может быть сразу под движок: Smarty, Twig, Jade, или все шаблоны в Handlebars, или сразу чтобы всё под Angular было. Но это всё частные случаи, требующие более высокой квалификации, или находящиеся уже где-то во front-end разработке.

    2. Просят учесть особенности CMS.

    Маленьких нюансов может быть много.

    Вот Битрикс, например, и его Эрмитаж (тыкнул в блок - тут же его отредактировал если по простому). Где-то лишняя обертка элемента, чтобы в режиме редактирования не разваливалось. Везде - z-index меньше 1000, чтобы Эрмитаж не перекрывало.

    Wordpress вообще генерирует огромное количество своих классов. Взять те же навигационные меню. Использовать их = наплевать на все эти ваши БЭМ и прочее.
    И т.д.

    Если я верстал и без проблем натягивал свои макеты на Wordpress - могу ли сказать что у меня есть опыт верстки под Wordpress?

    Могу.
    Так же как могу сказать что есть опыт верстки под Drupal (не знаю натягивали ли какие-то из моих работ на Drupal, но чё бы нет).

    Правда нет гарантии что человек, который будет натягивать мою верстку, не затупит например с
    .nav
        .nav__list
            .nav__item

    Когда ему движок выдаст меню в виде
    .menu
        ul
            li

    Но я не считаю это своей проблемой.
    Когда понадобилось, оказалось нет ничего сложного 1 раз потратить время и написать свой вывод меню в Wordpress, чтобы можно было любую верстку натянуть. Почему так не может сделать тот кто натягивает? Почему в ТЗ об этом не предупредили?

    Уменьшает ли "опыт верстки под CMS" время верстки?
    Если не были оговорены нюансы (те же меню WP) - то нет.
    Может увеличиться время натягивания верстки на движок, но это уже проблемы заказчика, который не озвучил требования заранее.

    Таким образом, хотя в идеале на движок должно быть возможным натянуть любую верстку, действительно некоторые имеют CMS особенности.
    Об этих особенностях следует договариваться заранее. Должно быть конкретное ТЗ на верстку.
    В остальном как правило речь об "опыте верстки под %CMS%" - просто болтовня.
    Ответ написан
    Комментировать
  • Почему char занимает 1 байт, а строка с одним символом - 2 байта?

    @redakoc
    Существует 2 типа строк:

    Типа С.
    Тип Паскаль.

    К языкам это не имеет отношения: язык Паскаль может использовать строки типа С, язык С может использовать строки типа Паскаль. Название просто исторически возникло, т.к. изначально в С и Паскале были только одного вида строки (разные, такие как описано ниже).

    Строка типа С - это массив байтов, заканчивающийся нулем. То есть строка не может содержать символ с кодом 0 (не числом 0, а символ с кодом 0, нулевой байт). Длина строки всегда = количество символов + 1 байт (с нулевым кодом) в конце строки.

    Строка типа Паскаль в начале хранит 1 байт, указывающий длину строки, затем идет массив символов. Строка может содержать внутри себя символы с кодом 0. Но не может быть длиннее 255 байт. В памяти такая строка занимает те же что и С = число символов в строке + 1 байт в начале, хранящий её длину.

    А еще есть строки UNICODE, UTF8, строки типа Паскаль, где длина указана 2-мя байтами (т.е. максимальная длина 65535 символов в строке).

    Длина таких строк в байтах может быть очень и очень разной. Совсем не соответствующей числу символов. Разница будет не на 1 байт (как в простых строках типа С и типа Паскаль). Более того, например, в UTF8 длина строки в байтах будет зависеть от того, что именно написано. )))

    В наше время я настоятельно рекомендую изучать не простые char, а обратить внимание именно на UNICODE.
    А там вовсе не один байт на один символ. )))))
    Ответ написан
    41 комментарий
  • Как настроить nginx.conf для отдельного сайта на open server?

    @likemusic
    Используйте шаблон конфигурации виртуального хоста в папке с нужным доменом для создания особой конфигурации домена. При создании/изменении файла требуется перезапуск сервера. Шаблон конфигурации для нужного модуля можно найти в папке ./userdata/config/.

    Например, если вы хотите создать собственную конфигурацию домена xxx.ru для модуля Apache-2.4.2, то скопируйте файл ./userdata/config/Apache-2.4.3_vhost.conf в папку с нужным доменом, отредактируйте этот файл под свои нужды и перезапустите сервер.

    Или другой пример, при использовании модуля Apache+Nginx можно скопировать в папку домена оба файла конфигурации для каждого сервера: Apache-2.2.23+Nginx-1.2.4_vhosta.conf и Apache-2.2.23+Nginx-1.2.4_vhostn.conf.

    Обратите внимание - при редактировании конфигурации хоста нельзя удалять или заменять системные переменные %...%, вы можете вносить только новые записи дополняющие конфигурацию.

    Источник: Документация Open Server > Вопросы и ответы > Как мне создать собственную конфигурацию хоста для домена?
    https://ospanel.io/docs/#voprosy-i-otvety
    Ответ написан
    Комментировать
  • Как настроить nginx.conf для отдельного сайта на open server?

    @bamond
    Например вот. подтюнить по вкусу.

    server {
        charset utf-8;
        client_max_body_size 128M;
    
        listen 80; ## listen for ipv4
        #listen [::]:80 default_server ipv6only=on; ## listen for ipv6
    
        server_name mysite.local;
        root        /path/to/basic/web;
        index       index.php;
    
        access_log  /path/to/basic/log/access.log;
        error_log   /path/to/basic/log/error.log;
    
        location / {
            # Redirect everything that isn't a real file to index.php
            try_files $uri $uri/ /index.php$is_args$args;
        }
    
        # uncomment to avoid processing of calls to non-existing static files by Yii
        #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        #    try_files $uri =404;
        #}
        #error_page 404 /404.html;
    
        # deny accessing php files for the /assets directory
        location ~ ^/assets/.*\.php$ {
            deny all;
        }
    
        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass 127.0.0.1:9000;
            #fastcgi_pass unix:/var/run/php5-fpm.sock;
            try_files $uri =404;
        }
    
        location ~* /\. {
            deny all;
        }
    }
    Ответ написан
    Комментировать
  • Как сделать живой поиск Bitrix?

    babarun
    @babarun Куратор тега 1С-Битрикс
    Безумный план моих идей в руках больных людей
    Разверните демо магазин битрикса. Там уже есть живой поиск (компонент bitrix:search.title) и возьмите его за основу, просто кастомизировав поисковый индекс, добавив в него нужные поля ИБ.
    Ответ написан
    3 комментария
  • Пропал цвет в Windows 10. Как вернуть?

    lidacriss
    @lidacriss
    wtf
    Window + Ctrl + C


    5a7d9747a94b6857382192.jpeg
    Ответ написан
    Комментировать
  • Пропал цвет в Windows 10. Как вернуть?

    Переустановите Windows, должно помочь. Можно попробовать восстановление сперва.
    Ответ написан
    2 комментария