• PHP фреймворк для начинающего разработчика?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Фреймворков в целом, которые достигли должного уровня популярности и народного признания - не так уж много (если говорить о PHP-фреймворках).

    Для начинающего, с целью понять сущность MVC, "пощупать" некоторые аспекты фреймворка, такие например, как загрузка библиотек и пр. подобности, я бы порекомендовал Вам CodeIgniter. Отличная документация, довольно много людей, кто сможет Вам ответить на возникающие вопросы, есть документация на русском. А так же, минимальное количество "лишнего" из коробки, например, шаблонизаторов (которые Вы можете самостоятельно подключить, если очень хочется).

    После этого фреймворка, промежуточным, можно было бы считать Kohana, но, он что-то то "умирает", то снова "воскресает"... С документацией на него, по моему, всё так же плохо (читай "не очень хорошо") как и всегда... но, по нему есть несколько неплохих видео-уроков.

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

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

    Ну а когда станете совсем матёрым программистом, и "лишний" код будет писать уже не в моготу, когда изучите все основные аспекты разработки, в том числе "сервис контейнеры", "внедрение зависимостей", будете понимать основные сетевые протоколы на низком уровне... а качество и разделяемость кода - будет одним из приоритетных условий - рекомендую обязательно ознакомиться с Symfony. Уроков по нему, довольно небольшое количество, вменяемого материала на русском языке - практически нет вообще... Но, достаточно легко изучается когда есть хороший багаж знаний и опыт работы с другими фреймворками.

    P.S. Я понимаю, что Вы спрашивали "какой фреймворк учить первым?", а не какие они бывают вообще. Но, дабы предостеречь Вам от вопросов типа "какой фреймворк учить вторым?" или "почему Symfony в роли первого фреймворка так тяжело изучать?" и массы прочих подобных - озвучил одни из самых популярных фреймворков в мире веб-разработок в ракурсе PHP.
    Ответ написан
    1 комментарий
  • Как метод может быть доступен внутри объекта через this, но не быть доступным извне по имени?

    @Aves
    MyComponent это функция-конструктор, setState в прототипе. Нужно создать инстанс компонента.
    var instance = ReactDOM.render(<MyComponent />. document.body);
    instance.setState({myState: 1});

    (new MyComponent()).setState() тоже по идее будет работать.
    Ответ написан
  • Какие типы приложений под андроид зарабатывают?

    GavriKos
    @GavriKos
    Открываете гугл маркет и смотрите топы, они там есть по разным категориям.
    Ответ написан
    Комментировать
  • Что делать, если воруют контент?

    @remzalp
    Программер чего попало на чем попало
    А может попробовать заставить работать закон о защите авторских прав на пользу населения, а не для всяких там?

    Создали документ, распечатали его, отправили сами себе заказным письмом, НЕ ВСКРЫВАЕМ.
    После того, как есть документально зафиксированная дата создания письма (в момент отправки) и письмо лежит у Вас, размещаем на сайт. Мониторим, как только конкуренты разместили, идём к нотариусу, фиксируем нотариально тот факт, что в День НН на сайте ХХХУУУЗЗЗ была размещена статья.

    Идём в суд, на суде вскрывается заказное письмо, фиксируется, что контент то тот же самый, но Ваш раньше, что доказывает Ваши авторские права, дальше всё зависит от умения юристов и размера морального ущерба.

    Да, я наивный оптимист, но как минимум есть закон о СМИ (тырить можно, но с указанием источника), ГК (защищает литературное произведение)...
    Ответ написан
    11 комментариев
  • Как это работает?

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

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

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    а что именно ты хочешь видеть в дашборде? к примеру как вижу это я. я бы взял опенсорс https://almsaeedstudio.com/ в нем есть весь функционал дашборда и даже больше. потом сделал бы редизайн вещей которые мне не нравятся и получил бы во всем устраивающий меня дизайн дашборда. и обойдется это (даже елси ничего не делать самому и нанимать дизайнеров и верстальщиков) в разы дешевле покупки лицензии
    Ответ написан
    Комментировать
  • Как сократить код?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    9 комментариев
  • Что происходит "под капотом", когда выполняется chmod?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    В файловой системе стандарта POSIX (стандарт для всех *nix), есть аттрибуты файла в виде rwxrwxrwx, плюс еще два-три специальных бита.
    Собственно этот аттрибут и правится. Внутри файла ничего не меняется.
    Можете нагуглить права доступа в POSIX системах.

    Этот флаг говорит системе, что файл - исполняемый. Но как его исполнят, система смотрит по заголовку файла.
    Для скриптовых файлов, там обычно указан путь к интерпретатору. Для бинарных - соответствующий заголовок.
    В отличие от Windows, расширение в *nix не значит ничего.
    Ответ написан
    Комментировать
  • Что с трафиком, помеченным как Android HttpURLConnection?

    @Monty
    Коллега, не будете так любезны рассказать чем дело закончилось?
    Ответ написан
    Комментировать
  • Как уйти от использования jQuery?

    Sanasol
    @Sanasol Куратор тега JavaScript
    нельзя просто так взять и загуглить ошибку
    Искать альтернативы на каждую нужную функцию...
    youmightnotneedjquery.com

    Правда может так быть что альтернатив наберется больше чем jQuery и смысл потеряется.

    Опять же для лендингов всяких и т.д. вполне нормально использовать, чтобы экономить время.
    Тем более что всякие плагино-расширения в основном под jQuery.

    Сам вот буквально вчера выпилил jQuery который был просто по привычке в очень маленьком коде.
    И из всего jQuery использовался только ajax()
    В итоге заменил ajax на нативный request.
    Экономия 85кб кода, не говоря уже про процессорное время клиентов.

    Но эта дурная привычка все еще не отходит.
    Сам код 200 строк и один ajax вызов. Ради этого тянул jQuery, видимо обкурился когда делал xD

    В самом по себе jQuery ничего плохого нет.
    Главное не использовать вот как я выше написал.

    UPD:
    Минифицированная версия последней jQuery весит 84 кб. Читабельность выше.
    Чем же лучше натив?


    Может быть тем что ради одной строчки вы не тянете 84кб кода, который между делом загружается в память клиентам, выполняется,и кушает ресурсы?
    Ответ написан
    Комментировать
  • Как добавить иконку в кнопку справа?

    vitalka_fr
    @vitalka_fr
    Ответ написан
    Комментировать
  • Можно ли в CSS проверить содержит ли один класс внутри себя другой класс?

    riot26
    @riot26
    <:З )~~
    На чистом CSS на сегодняшний день нельзя, на jQ как-то так:
    $('.first:has(.second)').addClass('has_second');
    .first { ... }
    .second { ... }
    .has_second { ... }
    Ответ написан
    Комментировать
  • Можно ли в CSS проверить содержит ли один класс внутри себя другой класс?

    Все свойства идут каскадом (отсюда и название).
    Как следствие - ребенок на родителя оказать влияние не может.
    Ответ написан
    Комментировать
  • Как получить информацию о пользователе на сайте?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    А как вы себе это представляете?
    Вы логинитесь на сайт хакера Пети, а он себе втягивает данные которые вы вводили на других сайтах - свое имя, фамилию, номера карточек, пароли, имя домашнего хомячка, и размер бюстгальтера любовницы, заказанного накануне в интернет-магазине?
    Нельзя такое сделать - и это правильно.
    Ответ написан
    3 комментария
  • Сколько может стоить android-приложение "Гид по достопримечательностям"?

    maaGames
    @maaGames
    Погроммирую программы
    Без ТЗ ответ х/з. Можете цитировать.

    Взять фото из интернета скорее всего будет нельзя - копирайты. Описания достопримечательностей придётся писать самим - копирайты. Без связи этого приложения с музеями (их расположение, время работы и проводимые в данный момент экспозиции) и прочими полезностями такое приложение бесполезно.
    Более того, раз у конкурентов есть пункт "languages", то подразумевается многоязычная версия. Наверняка заказчик желает общую стоимость, включая стоимость переводов на неизвестное количество языков.
    Ответ написан
  • Есть ли какое-то дополнение в виде форума для Laravel 5.2?

    Ты имеешь ввиду пакет? Если да, то плохо искал
    Laravel-forum maintained by riari
    Вообще ставил его себе, при знание фреймворка, можно хорошо допилить, да и под версию переделать не сложно

    UPD: Вот еще, на базе фреймворка flarum.org
    Ответ написан
    4 комментария
  • НАсколько криво вот так работать с Error и Exception?

    rdifb0
    @rdifb0
    Программист, реалист
    Нет это не особо криво. По сути тут логика обработки непредусмотренных ситуаций, а ошибки это или исключения все равно. Не нужно пару строчек размазывать по классам. Вот то что вы будете делать с исключениями уже нужно вынести. Отдельно отображение в HTML, CLI, логер в электронную почту и СМС.
    Да ошибки можно преобразовывать в исключения до появления PHP 7 все так делали.
    Throwable появился для того чтобы можно было словить все, и исключения и новые ошибки (тоже исключения). Нужно ли вам плодить иерархию исключений зависит только от ваших потребностей, а не от появления интерфейса. Если нужно вам обобщить ваши исключение сделайте их наследником базового исключения, или реализующим базовый интерфейс. Если нужно просто исключение наследуйте Exception, нужна ошибка - наследуйте Error. Не нужно плодить третью сущность не рыбу не мясо имплантирующую Throwable.
    Ответ написан
    1 комментарий
  • Как вы решаете задачу с выводом изображения?

    Вот таким способом мы заставляем любое изображение быть не меньше, чем наш квадрат, и располагаться строго по его центру:
    codepen.io/andrey-hohlov/pen/WGEJpq

    Так же на CSS можно прибить к левому краю, к правому, к верху, к низу и т.д.

    А на backend желательно изображения ресайзить, из соображений производительности.
    Ответ написан
    2 комментария
  • Kак укоротить большие числа в php?

    riot26
    @riot26
    <:З )~~
    <?php
    function shortenNumber($number)
    {
    	if ($number != 0 && $number % 1000 == 0) {
    		return $number/1000 . 'K';
    	}
    	return $number;
    }
    
    echo shortenNumber('1000'); // 1K
    echo shortenNumber(123); // 123
    echo shortenNumber(0); // 0
    echo shortenNumber(-10000); // -10K


    Более краткий вариант с регуляркой:
    <?php
    function shortenNumber($number)
    {
    	return preg_replace('/000$/', 'K', $number);
    }
    Ответ написан
    Комментировать