• Битрикс почему get параметр logout=yes не разлогинивает?

    @prgrant
    Такая же ерунда и у меня, похоже прилетело после обновления ядра.

    Решил добавлением идентификатора сессии в get-параметр ссылки: bitrix_sessid_get()
    <?=$APPLICATION->GetCurPageParam("logout=yes&".bitrix_sessid_get(), array(
    			"login",
    			"logout",
    			"register",
    			"forgot_password",
    			"change_password"));?>"><?=GetMessage("AUTH_LOGOUT_BUTTON")?>
    Ответ написан
    1 комментарий
  • Как скачивать файлы через Wget без @ в названии?

    botaniQQQ
    @botaniQQQ Автор вопроса
    Q
    В общем решение такое. В текстовом редакторе массово заменяем все названия по регулярному выражению:

    @[0-9a-zA-Z]{1,5}\)
    на
    )

    @[0-9a-zA-Z]{1,5}"\)
    на
    ")

    Затем исполняем массовую переименовку файлов в папке сайта:

    #!/bin/bash
    
    for i in `find . -depth -type d`
    do
        cd "${i}"
        for j in *.*@*; do
            IFS='@' read -r -a NAME <<< "${j}"
            mv "${j}" "${NAME[0]}"
        done
        cd -
    done
    Ответ написан
    Комментировать
  • Как лучше обучаться 1С-Битрикс Управление сайтом для последующей разработке?

    alexyarik
    @alexyarik
    Битрикс разработчик
    Вот для вас эффективный чек лист для обучения
    Как изучить php и 1с Битрикс?
    Ответ написан
    Комментировать
  • Что исправить (в чем может быть ошибка) что бы записать данные в куки через API Битрикс?

    babarun
    @babarun Куратор тега 1С-Битрикс
    Безумный план моих идей в руках больных людей
    \Bitrix\Main\Context::getCurrent()->getResponse()->writeHeaders();
    Ответ написан
    8 комментариев
  • Как исправить ошибку Socket connection error (Яндекс Касса)?

    anton99zel
    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    SSL-сертификат есть

    Это не значит, что он правильно установлен.
    Проверьте тут, что у вас результат А+
    А на сервере работает stream_socket_client
    Вероятно, что вам нужно обратиться к администратору вашего сервера.
    Ответ написан
    1 комментарий
  • Отложенные товары Битрикс?

    @camouf
    Разработчик сайтов- фрилансер
    Привет.
    Ни как, это избранное работает через отложенные корзины. Заметка старая, сам уже так не делаю.
    Скоро будет новая заметка с "нормальными" избранными

    Или используй это, в принципе не плохой способ.
    https://github.com/Sadovikow/Bitrix_Favorites
    Но один минус: когда будет много пользователей и товаров в каталоге (если, все подряд кинутся наполнять свое избранное) - сайт может начать тормозить. Тут прямая зависимость от качества самого сайта, конфигурации хостинга/сервера и в целом базы каталога
    Ответ написан
    Комментировать
  • Обучение web-разработке, есть что то стоящее?

    @stsin
    https://rs.school/ - бесплатные полугодовые курсы! Старт 9 сентября... обучение проходит в формате онлайн! выполнили задание - получили определённое колличество балов, и так до конца! Если курсы проходят в вашем городе, то при успешном окончании вам даже могут предложить офер в лабу EPAM! всего там несколько уровней и в зависимости от успешного прохождения каждого из вы будите двигаться дальшь, но если вылетишь то сможешь дальше следить за курсом но уже без ментора!
    Ответ написан
    1 комментарий
  • Пожалуйста оцените мое убогое ООП?

    Stasgar
    @Stasgar
    Обученная макака
    Во-первых: начните изучать архитектурную часть программирования, изучите паттерны проектирования, изучите SOLID, DRY, KISS и остальные модные словечки, постарайтесь всё это осознать, или, на крайняк - зазубрить. Всё придет с опытом, изначально все не понимали зачем всё так сложно, но эта сложность обусловлена неисчислимыми литрами слёз и потраченных нервов, всё не просто так.

    Судя по всему это тестовое или учебное задание. От вас требовалось отоверинжинирить простую задачу. Давайте попробуем:

    Суть задачи - есть файл с определенной структурой хранения данных, структура строковая. Требуется этот файл преобразовать в другую структуру данных и вывести эту структуру в json формате. Задача ясна.

    Разобъем задачу на отдельные независимые этапы:
    1) Преобразование одной структуры данных (текстового файла) в другую (объект, понятный PHP, к примеру)
    2) Преобразование этой структуры данных в Json формат.
    Первый вопрос, который может возникнуть - почему сразу не преобразовать в json? Ответ - при расширении системы в будущем - нам понадобится вывести данные в виде массива, или в виде XML, или даже в виде готового файла Excel. Нам будет сложно дополнять логику изначального класса, ничего при этом не сломав и не затронув уже существующий функционал. Также ответом на этот вопрос может являться каждая буква из SOLID принципов, подробнее отвечу дальше, когда буду пояснять за реализацию, см. ниже

    Теперь рассмотрим эту задачу с точки зрения ООП, начнем думать не от конкретной реализации, а от интерфейса и абстракции (мы не парсим конкретный файл, мы парсим просто файл, мы не переводим его в конкретное представление json, мы переводим его просто в представление):
    Нам понадобится 2 класса - непосредственно класс, читающий файл и преобразующий его в простейший тип данных (например PHP array). Второй класс - преобразователь простейшего типа данных парсера в какой-то определенный тип:
    1. LogFileReaded implements/extends FileReaderContract(интерфейс, возможно абстрактный класс, если понадобится предустановленная логика)

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

    2. JsonPresenter implements/extends DataTypePresenterContract

      Абстракция содержит контракт на метод output(), а в конструкторе принимются исходные данные. В конкретной реализации JsonPresenter в output() будет банальный json_encode() (да, это нормально, нет, класс не лишний и нет, json_encode() нельзя пихать в сам парсер) А теперь к вопросу - почему не следует просто запихать это всё в парсер и вместо массива отдать json: в будущем, когда система будет расширяться - нам понадобится представить данные в виде XML - что тогда будем делать - переписывать весь код парсера ради добавления switch case "json" и т.д.? А если что-то сломается во всей системе? А если вариантов представления станет настолько много, что файл будет просто не читаем? А при данном подходе достаточно будет просто написать новый класс XMLPresenter, или даже ExcelPresenter, который на выводе не строку будет выдавать, а целый файл (опустим типизацию output пока)). Также этот класс можно реализовать в виде декоратора (паттерн), да и много еще как.



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

    К примеру: в итоге, если вас уже повысили, и вы вместо парсинга стали заниматься более высшими материями - новому программисту, чтобы дописать логику преобразования данных в Excel не нужно знать как конкретно вы преобразовывали когда-то эти данные в json, ему не нужно дебажить ваш код, ему достаточно посмотреть на интерфейс - отнаследоваться от него и написать свой собственный метод преобразования и дальше использовать его в нужном месте.

    P.S. В данной реализации опускаются и упрощаются некоторые моменты для понятности
    Ответ написан
    21 комментарий
  • Как стать "законченным" специалистом по бекенду?

    zualex
    @zualex
    Senior Software Engineer
    Карту давненько не обновлял но может, что полезное найдешь для себя Карта развития Back-end разработчика

    Для практики рекомендую взять что то из этого списка build-your-own-x, можно посмотреть как сделать простой веб сервер, поисковый движок, БД

    Плюс вот еще статья Не убивайте свою мотивацию: осваивайте Ruby on Rai... хоть для руби, но есть список интересных проектов
    Ответ написан
    1 комментарий
  • Практическое изучение PHP. C чего начать? Где брать материал?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    1. Если базу по php то можно здесь code-basics.ru/. Уверен почерпнете для себя много нового.
    2. Если что-то делать то лучше тестовые задания. Мы собираем коллекцию https://github.com/Hexlet/ru-test-assignments
    3. Если есть финансовая возможность то рекомендую наши проекты: https://ru.hexlet.io/projects

    > Стоит ли нырять в практику сразу с фреймворка?

    С микрофреймворка да. Посмотрите в сторону, например, slim framework.
    Ответ написан
    Комментировать
  • Что мой провайдер знает обо мне?

    @nirvimel
    Когда я захожу на определенный сайт, провайдер видит URL?

    Да.

    А если я захожу на https?

    Известен IP сервера и имя домена. Больше ничего.

    Откуда провайдер узнает, что я скачиваю определенный фильм/программу через torrent?

    Торрент-клиент общается с трекером по HTTP. Все видно насквозь: конкретные торренты + вся статистика (когда начато скачивание, когда закончено, когда пошла раздача, сколько роздано). Возможно подключение к трекеру и по HTTPS, но rutracker.org такой возможности не дает (мне тоже интересно почему).

    Все пакеты которые я получаю и раздаю значит провайдер скачивает себе, чтобы узнать что это за фильм/программа?

    Провайдер не хранит у себя весь трафик. Это технически невозможно. Но трафик обрабатывается, классифицируется и ведутся логи о том какой тип трафика когда входил/уходил от абонента.

    Или он отслеживает факт скачивания .torrent файла, а затем делает вывод по идущим пакетам, что это скачивается?

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

    Когда я пользуюсь VPN, что видит провайдер?

    Видит шифрованный траффик на конкретный IP. По IP можно узнать, что этот диапазон продается под VPSы. Сам факт шифрованного трафика вешает абонента в списки тех, "кому есть что скрывать", а значит подозреваемых при любом розыске.

    Что я зашел на определенный IP и с него идут зашифрованные потоки?

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

    OpenVPN будет работать через VPN IP и в браузере и при обновлении Windows, драйверов, ...?

    В зависимости от настройки. Но в общем случае, да, так.

    Читал, что в Windows есть такая особенность, что если провайдер как-то урезает пакет, то VPN отключается и сайту показывается мой реальный IP?

    Это не связанно с провайдером. Это особенность Windows. Когда VPN отваливается, весь трафик вылетает наружу в открытом виде. Опять же зависит от настроек. Но это еще одна цена "удобства" при использовании Windows.

    При этом провайдер видит на каком я сайте, что скачиваю?

    VPN отвалился - хацкер спалился.

    Таких фишек много?

    Смотря о чем речь. В сфере сетевой безопасности и анонимности различных нюансов вообще много.

    Как от них защитится?

    Учить мат.часть. Разбираться в сетевых протоколах и в устройстве ОС.

    Если пользуюсь каким-то расширением типа ZenMate, dotvpn, провайдер аналогично как и с VPN видит что что-то отправляется и приходит на определенный VPN IP?

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

    При использовании Tor, кто-то пользуется моим IP, пока я пользуюсь чужим?

    Нет. Если у вас не сконфигурирован Exit Node.

    Что при этом видит провайдер, что я получаю потоки данных с определенных IP и каждый раз разный IP?

    У них есть система точного обнаружения использования Tor. Это факт остается в логах с теми же последствиями, что и для VPN.

    Провайдер видит URL?

    Через Tor и VPN - нет.

    Каким образом можно полностью управлять сетью на ПК, видеть что, куда и когда отправляется или приходит на ПК (Windows, Linux)?

    Видеть все: https://www.google.com/search?q=Wireshark
    Блокировать все лишнее: https://www.google.com/search?q=Comodo+Firewall
    Ответ написан
    22 комментария
  • Как влиться в тренд нынешней веб-разработки?

    @SuperOleg39ru
    Front-end разработчик
    Добрый день!

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

    flexbox, grid layout
    - это css из современных стандартов. Что бы знать, когда применять - вы должны знать версии старых браузеров, которые необходимо поддерживать на вашем проекте, и соответствующую поддержку этих стилей. Например, формировать элементы на flexbox на порядок удобнее, чем на float, но в IE9 вы уже использовать flexbox не можете.
    Немного о новинках в css тут.
    Поддержка браузерами тут.

    gulp, webpack и пр.
    - это инструменты, которые созданы для облегчения рутинных задач.
    Для верстки очень удобно использовать gulp - вы описываете задачи, такие как создание локального сервера, мгновенная перезагрузка страницы при изменениях, минификация ваших файлов, и прочее.
    Посмотрите отличный скринкаст от Ильи Кантора!

    препроцессоры
    - представьте, что вам чего-либо не хватает в html и css.
    Например, вы хотите разбивать большие html файлы на множество мелких, или вам нужно вставить в html динамическое содержание - для этого созданы html шаблонизаторы. Вы используете в работе синтаксис конкретного шаблонизатора, затем тот же gulp автоматически собирает эти файлы в обычный html, который понимает браузер.
    Аналогичная ситуация с css, препроцессоры позволяют разбивать файлы на мелкие, и собирать в один, доступны переменные и функции, и многое другое.
    Популярный шаблонизатор Pug
    Один из css-препроцессоров Stylus

    пакетные менеджеры
    - это удобный способ скачать конкретные библиотеки, и переносить их из проекта в проект. Статья про npm тут

    Ну и конечно статьи и подкасты:
    https://habrahabr.ru/
    jsraccoon.ru

    https://soundcloud.com/web-standards
    https://radiojs.ru/

    Конкретные статьи и ресурсы для новичка:

    frontender.info/a-baseline-for-front-end-developers
    frontender.info/a-guide-to-flexbox
    css-live.ru/articles-css/pravilnye-kontrolnye-toch...
    https://medium.com/russian/%D0%BE%D1%82-%D0%BD%D1%...
    https://medium.com/russian/%D0%BE%D1%82-%D0%BD%D1%...
    https://habrahabr.ru/company/zfort/blog/321214/
    https://frontendmasters.gitbooks.io/front-end-hand...

    Дерзайте!
    Ответ написан
    6 комментариев
  • Как учиться новому после рабочего дня?

    @galliard
    Расскажу свою историю.
    Лет 5 назад устроился на обезьянью работу за еду, отдаленно связанную с программированием.
    Первые 3 месяца активно впахивал на благо компании. Заодно изучал компанию, и её процессы, людей. Когда закрепился и чувствовал себя более комфортно, начал заниматься самообучением. Когда по 2-4 часа в день, а когда и несколько дней подряд. При этом рабочие задачи отодвигал, а то и откровенно клал на них [большой и толстый]. А когда спрашивали, говорил что долго, сложно и лепил прочие отмазки. Дома обучался довольно редко и под настроение, ни к чему себя не принуждая. Через год от меня стали активно требовать результата работы, но я уже чувствовал в себе силы начать самостоятельно разрабатывать проекты и уволился. И довольно быстро нашел отличную работу, со свободным графиком, интересными задачами и втрое большей зарплатой)))
    Ответ написан
    Комментировать
  • Как верстать адаптивно с нуля?

    vilka_2009
    @vilka_2009
    Верстаю
    На базовом интенсиве ты наверняка познакомился с относительными единицами измерения. Попробуй переверстать свой макет используя %. Сразу станет яснее, как работает резина и адаптив. Тот же самый бутстрап для своей сетки использует float:left и процентные ширины колонок. Вот и ты попробуй. Вообще лучше всего для практики адаптива подойдет макет Sedona. Сначала верстаешь так, чтобы сайт был резиновым, потом адаптивным. Попробуй еще переверстать его без флоатов, а на inline-block. И да, тут советовали медиа-запросы - тоже базовая часть адаптива. И познакомься с понятием "область просмотра" - почитай в гугле про мета-тег viewport

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

    Просто смотреть видосы, коих слишком много, так же и со статьями, проходить курсы - все это полезно конечно, но так же и бесполезно, т.к. их уже слишком много и много воды в них. Самостоятельные исследования полезнее для твоего мозга и для понимания.
    Ответ написан
    Комментировать
  • Как научится верстать из PSD макетов в html+css?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Посмотрите вот эти две статьи с хабра:
    Как сверстать веб-страницу. Часть 1
    Как сверстать веб-страницу. Часть 2 — Bootstrap
    И прочтите все комментарии к этим статьям (впрочем, как обычно на хабре:)
    Очень хорошие статьи, пошагово расскажут, что делать с макетом.
    UPD. Ещё одна статья от того же автора:
    Как сверстать тему для WordPress
    Ответ написан
    Комментировать