Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
paramtamtam

Ёж Туманный

  • 8
    вклад
  • 22
    вопроса
  • 21
    ответ
  • 52%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как скомпилировать хоть 1 проект с гитхаба на с/с++?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev Куратор тега C
    Седой и строгий
    Судя по ридмихе, нужно просто уметь пользоваться gcc и make.
    Ответ написан 18 авг. 2022
    Комментировать
    Комментировать
  • Как сделать эффект мерцающей кнопки на сайте?

    pezdatskiy
    Принц Датский @pezdatskiy
    Предприниматель, по выходным- программист
    Почитайте о css-анимации
    https://html5book.ru/css3-animation/
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как проверить null?

    KorniloFF
    Павел Корнилов @KorniloFF
    Работаю по font-end / JS
    $data[$param_title] != null

    $data[$param_title] !== null;
    if(!$data[$param_name]&&$data[$param_title] != null){
    // code если нет параметра
    }

    Для РНР7+:
    $data[$param_name] = $data[$param_name] ?? default;
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Как проверить null?

    Arman @Arik
    is_null($param) или $param === null второй вариант вроде шустрее работает
    Ответ написан более трёх лет назад
    6 комментариев
    6 комментариев
  • Нормализовать регистр в строках, да на php?

    0lorin
    Александр Батухтин @0lorin
    программист
    Стандартными средствами — вряд ли. Надо либу искать, мне кажется, должны быть. Что-нибудь типа Stringy (не пользовался) и от неё уже доплясывать ближе к идеалу.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • JS / jQuery компонент для редактирования html-кода?

    GreatRash @GreatRash
    Codemirror конечно же!
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • JS / jQuery компонент для редактирования html-кода?

    Taraflex
    Александр Таратин @Taraflex
    Ищу работу. Контакты в профиле.
    1. https://ace.c9.io/#nav=about
    2. Есть html валидатор https://github.com/ajaxorg/ace-builds/blob/master/...
    3. Событие изменения документа https://ace.c9.io/#nav=api&api=document
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Ошибка в PHP syntax error, unexpected 'echo' (T_ECHO)?

    Alexufo
    Александр Борисович @Alexufo
    противоречивый, сложный, весь компьютерный.
    return echo так делать нельзя. По крайней мере впервые такую ерунду встречаю. Вы либо возвращаете либо в буфер вывода скидываете, определитесь.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как при трех переменных проверить существование одной из них?

    BuriK666
    Андрей Буров @BuriK666
    Компьютерный псих
    php.net/manual/ru/language.operators.logical.php
    Исключающее или:
    $a xor $b
    TRUE если $a, или $b TRUE, но не оба.

    if(isset($first) xor isset($second) xor isset($third))
    Ответ написан более трёх лет назад
    5 комментариев
    5 комментариев
  • PSR-0 или PSR-4, и как правильно построить структуру проекта?

    27cm
    Котик Антон @27cm
    TODO: Написать статус
    Первый вопрос который меня интересует это PSR-0 или PSR-4. На сколько я понял по состоянию на 21 октября 2014 года PSR-0 был помечен как устаревший.

    PSR-4 не замена PSR-0, а дополнением к нему.
    github.com/php-fig/fig-standards/blob/master/accep...


    про PSR-3 я вообще как-то не нашел русскоязычной информации, словно такого стандарта нет

    Видать, не перевели. Читайте в оригинале:
    github.com/php-fig/fig-standards/blob/master/accep...


    /path/to/project/ это путь к проекту и данный путь нигде не фигурирует, это та директория из которой запускается основной index.php

    Да, это пусть к PHP файлам проекта. Но index.php обычно выносят в отдельный каталог (например, /public), а все классы проекта хранятся, например, в /src (или /lib или ещё как угодно). В конфигурации веб-сервера запрещают отправлять запросы к любым файлам, не лежащим в /public, благодаря этому /public/index.php является единственной точкой входа для внешних запросов.


    ./vendor это папка назначение которой я не понимаю

    Это папка для сторонних библиотек, используемых в вашем проекте. Используется composer'ом. Внутрь лезть особо причин нет, composer сам решит как ему там всё разложить. Свои классы вы туда тоже не должны писать.


    в итоге честно говоря я запутался в том как правильно надо строить свои каталоги, какие папки обязательные какие нет, когда использовать src, когда lib, когда tests, почему в некоторых структурах приходится дважды указывать имя поставщика и имя пкета и т.д.

    src и lib - скажем так, синонимы. Кому как больше нравится. Главное, что внутри лежат сами PHP файлы проекта, следующие стандарту PSR-4. Лежат там только файлы, написанные авторами проекта. Поэтому нет смысла класть vendor внутрь src (или lib).
    test - каталог для тестов проекта.
    В папке vendor имя поставщика и имя проекта могут совпадать, вот они и дублируются.

    Так как вы изобретаете свой велосипед, то и структуру каталогов делайте свою, или посмотрите на популярные CMS/фреймворки, но везде будет по-разному. Joomla, WordPress, Yii, Zend Framework, Symfony.

    Я придерживаюсь такой структуры:
    /config                     Глобальные настройки проекта.
    /data                       Временные файлы. Например:
    /data/cache	            Файлы кеша.
    /data/logs	            Логи.
    /data/tmp	            Прочие временные файлы.
    /module                     Модули проекта. Например:
    /module/Backend	        
    /module/Backend/config      Настройки модуля.
    /module/Backend/src	    Файлы PHP модуля. Например:
    /module/Backend/src/Backend/Path/To/ExampleClass.php
    /module/Backend/test	    Unit-тесты модуля.
    /module/Backend/view	    Шаблоны модуля.
    /module/Frontend/...
    /public/index.php
    /public/css
    /public/font
    /public/img
    /public/js
    /vendor


    Возможно, я ошибаюсь, но самая главная ваша беда в том, что вы решили разрабатывать собственную CMS, не поработав с существующими, не выявив достоинства и недостатки их архитектур и структур каталогов.
    Ответ написан более трёх лет назад
    7 комментариев
    7 комментариев
  • Чем изменять файлы настройки конфигурации Laravel 5?

    Alex_Wells
    Alex Wells @Alex_Wells
    PHP/Kotlin
    Не нужно все выводить. Проще юзать Setting package'и, собсно туда и записывать используемые значения. А перезапись файлов конфигов - это дичь)))
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Почему знак рубля ₽ не отображается в FireFox?

    Александр Владимиров @mailforwork3
    Cogito, ergo sum
    В гугл шрифтах для roboto подключите знаки Latin Extended. Знак шрифта, как ни странно, находится именно в нем. После этого знак рубля будет отображаться везде.
    В коде его указывать через ₽
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как сделать деплой на прод для Wordpress?

    HeadOnFire
    Игорь Воротнёв @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Ну первоначальный сетап придется сделать вручную, не вижу смысла писать какую-то автоматизацию. Зашли в админку сети, создали новый сайт сети, назначили админов, активировали нужные плагины. Доустановили плагины, которых еще нет в сети (в том числе site-specific плагины), тему. Ну а дальше уже есть варианты..

    У нас так - кастомные темы и плагины висят в git-репозиториях, над ними обычно работает несколько человек. На сам сервер они заливаются не через админку WP или FTP, а через SSH делается git clone репозитория. Соответственно, в процессе дальнейшей работы тимлид мерджит код в одну ветку и релизит. Тут есть возможность и автодеплой сделать, или вручную.

    Да, и еще. Если есть возможность держать локальное зеркало вашего мультисайта, то можно использовать плагин WP Sync DB. Несмотря на название, он синхронизирует не только базу, но и файлы.

    Еще есть такая крутая штука как WP CLI.

    Есть плагин Revisr. Тоже крутая штука.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как протестировать сайт под высокие нагрузки?

    index0h
    index0h @index0h
    PHP, Golang. https://github.com/index0h
    10к пользователей - это абстракция. Нагрузка обычно меряется либо в rps (request per second), либо в bit/sec.

    rps можно померить через утилиту ab (apache benchmark)
    трафик - uperf
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как предотвратить двойной запуск скрипта?

    merryjane
    Игорь @merryjane
    Системный администратор
    Запускайте скрипт через flock:
    34 20 * * * flock -xn /home/db.lock /home/db.sh
    Из преимуществ перед просто созданием lock-файла и его проверкой при запуске скрипта: ситуация когда процесс был чем-то прибит или segfault-ся, то-есть lock-файл остался, а процесс не запущен. В этом случае он не запустится пока не удалите lock-файл руками.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как запретить доступ к сайту по критерию принадлежности к стране?

    homelessness
    Иван Киселев @homelessness
    Прошу прощения, я не уверен, что знаю, как это сделать с использованием голого apache и .htaccess, но почему бы вам не использовать nginx, собранным с одним из многочисленных модулей GeoIP ?
    Во-первых nginx лучше справляется со статикой, и вероятно, нагрузка упадет сразу после внедрения nginxa в качестве фронта, и не будет такой острой нужды резать пользователей по регионам, а во вторых в nginx это реализуется достаточно просто:
    К примеру, используя модуль geoip2, вы можете при помощи стандартной конструкции if в локейшнах nginx'a сравнивать значение переменной $region с нужными вам для запрета/разрешения.

    Прошу прощения, если сочтете мой ответ офтопом.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Какую операционную систему выбрать для офисного сервера?

    merryjane
    Игорь @merryjane
    Системный администратор
    Холиварный вопрос.
    Но для начала бы посоветовал debian. Он поприятнее для начала будет. И сам по себе дистрибутив очень стабильный без лишних включенных опций по умолчанию.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Есть ли псевдо-случайный шаблонизатор на JavaScript?

    barkalov
    barkalov @barkalov
    https://github.com/fent/randexp.js
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Где взять список стран на русском языке?

    Anonym
    Николай Васильчук @Anonym
    Программирую немного )
    В атласе.
    UPD: если серьезно, то скачайте тут в csv, откройте в екселе и скопируйте как вам надо "без запятых и прочих мешающих вещей"
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Отказ от apache в связке nginx + httpd + php?

    POS_troi
    ТыжСисАдмин @POS_troi
    СадоМазо Админ, флудер, троль.
    php-fpm
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
Самые активные сегодня
  • rPman
    • 8 ответов
    • 0 вопросов
  • CityCat4
    CityCat4
    • 7 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 7 ответов
    • 0 вопросов
  • mayton2019
    • 5 ответов
    • 0 вопросов
  • borisserver
    Субару Помнеш
    • 5 ответов
    • 0 вопросов
  • sergey-gornostaev
    Сергей Горностаев
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации