• Умное дублирование строки с селектором в CSS (PhpStorm/WebStorm)?

    pashted
    @pashted
    тыжпрограммист
    1. ставите курсор после скобки
    2. Edit -> Macros -> Start Macro Recording
    3. с клавиатуры приводите все в вид, как вы хотите (например, при помощи стрелок и ctrl+d ) и возвращаете курсор на место (стрелками).
    4. сохраняете макрос Edit -> Macros -> Stop Macro Recording (или красная кнопка справа внизу) с каким-нибудь осмысленным названием.
    5. находите в настройках Keymap раздел по фразе macro и назначаете клавишу (например ctrl+alt+d) на новый макрос.
    6. пользуетесь

    у меня получилось так5c9775a946271717125619.png

    или вот так, с автовыделением продублированного селектора
    5c9776f7b2120711549126.png

    для универсальности можно в начале вызывать кнопку end, чтобы сделать больше дублей последним макросом, выполнив меньше действий
    Ответ написан
    Комментировать
  • Как настроить множество точек входа (html) в webpack?

    alvvi
    @alvvi
    export default apathy;
    Читайте файлы/директории и генерируйте инстансы в цикле.
    Или используйте те же глобы для генерации.

    (с глобами, код не мой, но суть та же)
    const path = require('path');
    const glob = require('glob');
    const HtmlWebpackPlugin = require('html-webpack-plugin');
    
    const config = {};
    
    glob.sync(`${basePath}/src/layouts/*.?(pug|jade)`).forEach(item => {
      config.plugins.push(
        new HtmlWebpackPlugin({
          filename: `${path.basename(item, path.extname(item))}.html`,
          template: item
        })
    });
    Ответ написан
    1 комментарий
  • Почему ролики с YouTube не загружаются до конца?

    MonkAlbino
    @MonkAlbino
    Фронтенд разработчик
    Такая же фигня на Fx 18.0a2 с плагином Shockwave Flash 11.4 r402
    Ответ написан
    Комментировать
  • Как купить Windows 8?

    Yizahi
    @Yizahi Автор вопроса
    «я был на конференции от MS пару недель назад. И мы минут 30 спорили на тему лицензирования. Я, несколько админов других гос.структур и муниципалов и местные MS-овцы.
    Вкратце — MS полностью убрали Box-лицензии, которые можно было переносить, передавать и продавать отдельно от железа.
    Есть только Upgrade и OEM для физиков. И OEM и OLP — для юриков. И только последний вариант не привязан к конкретному железу. Можно открыть своё ИП, купить минимальную партию в 5 штук и жить спокойно. Вот только там ценник не 2200, а около 6000, кажись.»


    Пошарился по интернетам, похоже действительно так — за 2300 рублей продается только апгрейд с лицензионной семерки. ОЕМ «скорее всего лицензии» за 200 баксов и фик знает что там с законной миграцией с одной железки на другую, где их взять опять же непонятно здесь (линк) мне говорят спасибо «давай дасвиданья». Мало того что цена довольно не маленькая и не ниже верхнего ценника на семерку, так еще и не купить никак.
    Я в шоке от МС. Купить что-ли новый айМак с горя :).
    Ответ написан
    6 комментариев
  • Windows 8 и раскладки клавиатур

    z0rc
    @z0rc
    Это тянется ещё с семёрки. Значит, не починили.
    habrahabr.ru/qa/20925/
    Ответ написан
    3 комментария
  • Таблица сравнения CMS?

    la0
    @la0
    То, что вы ищете уже реализовано.
    www.cmsmatrix.org/
    Ответ написан
    1 комментарий
  • Таблица сравнения CMS?

    cmsmagazine.ru/ — тут можно выбрать любое количество цмсок и сравнить их.
    Ответ написан
    1 комментарий
  • Single line VS Multiple line CSS ?

    vermilion1
    @vermilion1
    Пишу в строчку только если нужно задать одно свойство, иначе — второй вариант
    Ответ написан
    Комментировать
  • Правильные наушники-вкладыши

    Singerofthefall
    @Singerofthefall
    Мне нравятся «затычки» от Sony (их довольно большой выбор, на любой кошелек) — очень удобная форма (единственные, которые лично у меня сидят в ушах как влитые и не норовят вылететь), неплохие высокие частоты (маленькие наушники часто этим грешат), стоят не очень дорого. Вообще было бы неплохо, если бы вы указали диапазон цен и то, на чем вы собираетесь прослушивать музыку.
    Ответ написан
    3 комментария
  • С чего начать?

    megahertz
    @megahertz
    full stack разработчик
    Котеров PHP5 в подленнике. Книга немного уже устарела, но все равно, лучшая из тех что я видел. В отличие от многих других книг, не ставит целью сделать из читателя PHP быдлокодера. Во время прочтения хорошо бы поставить задачу сделать сайт-визитку для себя или знакомых с простой админкой, которую можно улучшать по мере чтение. Дальнейшие советы сейчас давать бессмысленно, все будет зависеть от результатов и от Ваших предпочтений.
    Ответ написан
    5 комментариев
  • CMS своими руками

    @egorinsk
    Автор, а что гуглить. Есть минимум 3 способа: расковырять простую Open-Source CMS (проблема: найти CMS с хорошей архитектурой и аккуратным кодом), устроиться в компанию, у которой есть своя CMS (а она есть почти у каждой студии), и наконец, написать самому правильно.

    Маны нужны не по написанию CMS, а по используемым продуктам и технологиям.

    Сначала надо определиться с задачей. Установите и попользуйтесь несколькими CMS, просто чтобы увидеть особенности их работы. (если вы не можете это сделать — вам надо изучать основы установки и настройки apache/mysql/whatever, а не CMS писать. Уходите практиковать эти навыки). Также, есть хороший сайт, где установлены демки десятков CMS и можно их посмотреть, не устанавливая.

    Запишите, что вы хотите получить, сделайте наброски страниц. Определитесь с требованиями к вашей CMS. Какие в ней будут модули, как ими можно управлять.

    CMS обычно состоит из 2 частей — т.н. «админки» (запароленный раздел, где меняется конфигурация сайта, добавляются материалы) и публичной части сайта, которую видят пользователи.

    Если вы еще не бросили эту затею, перейдем к следующему пункту. Проектирование архитектуры и написание CMS. Чтобы хорошо писать сложную CMS, нужен опыт и понимание того, как вообще писать сложные программы. Нужно глубокое знание HTTP/HTML/CSS/JS/SQL. А именно:

    — система должна быть модульной, чтобы, написав основу, можно было, не переписывая ее, не спеша добавлять модули и расширять функционал
    — система должна писаться с использованием грамотной архитектуры и аккуратного кода, так как поддержка и переписывание плохого кода будет отнимать у вас слишком много сил. А потом в нем вообще никто не сможет разобраться.

    Что еще надо знать. Во-первых, надо иметь представление что значит MVC или 3-звенная архитектура.

    M в MVC — это Model. CMS скорее всего будет хранить данные в БД — надо знать, что такое и как пишется DBAL (гуглите: PDO), плейсхолдеры в запросах, возможно, Table Gateway, ознакомиться с тем, что такое ORM, и почему PHP-ные ORM так тормозят. Если будете делать модельки, не храните значения полей в публичных свойствах — это неудобно и нарушает инкапсуляцию. Храните их в приватном массиве $attributes.

    V is for View. Надо знать, что такое шаблонизаторы (прочтите мануал по Smarty, Django Templates, HAML и XSLT, чтобы иметь общее представление, какие они бывают). Для PHP хорошие варианты — использовать чистый PHP или XSLT, если осилите. Smarty — устаревший тормозной хлам, Twig тоже имеет недостатки. И не стоит ставить шаблонизатор, только, чтобы писать {$a} вместо [?= $a =].

    Не смешивайте логику (сложные вычисления, обращение к БД) и шаблонизацию. Лучше сделайте 2 файла: один с кодом, другой с шаблоном. В идеале, шаблонизатор получает от контроллера значения переменных и, кроме хелперов, никакого другого кода не вызывает.

    C — контроллеры. Но это самая простая часть, контроллер — это просто класс с методами типа viewAction(), editAction() и роутер, который смотрит на УРЛ и вызывает нужный контроллер. Посмотрите, как устроен Zend_Controller и Zend_Front_Contriller, и сделайте так же, но попроще. выкинув 90% функционала — он вам не понадобится.

    Нужно как-то сделать систему компонентной без сильных связей: чтобы ядро могло работать и без модулей, а добавление модуля не требовало дописывания кода в ядро. Почитайте про Dependency Injection, а также Observer (observer — это когда мы делаем функцию addEventListener()).

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

    Что еще. Освоив все эти понятия, у вас в принципе не будет сложностей написать CMS, но почитайте еще мои советы по тому, как писать правильный код с исп. ООП: habrahabr.ru/qa/17158/#answer_70869

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

    Ну что еще. Если (в чем я сильно сомневаюсь) благодаря моему скромного совету вы все же сможете пройти этот нелегкий путь и станете успешным разработчиком, можете заплатить мне денег. Я не против.
    Ответ написан
    Комментировать
  • MVC в PHP??????

    @egorinsk
    Что значит аналоги MVC? Есть модификации MVC типа MVVM или MVP (по сути, примерно то же), есть 3-tier архитектура (но вряд ли вы захотите ее делать на PHP).

    Я осваивал MVC на примере CakePHP (хотя сам фреймворк мне не нравится, он тупой, но как учебный пример годится). Просто прочтите прилагаемый к нему мануал, где приведен пример, как сделать блог с использованием подхода MVC.

    Паттерны вам пока не нужны. Все паттерны описаны в какой-то книге Мартина Фаулера (вот список: martinfowler.com/eaaCatalog/, там есть перевод на русский, но он плохой ), но, чтобы их понять, надо сначала иметь определенный опыт написания кода и разбора чужого кода. Если его у вас нет, для вас эти паттерны будут чем-то чужеродным и непонятным (много умных слов, а зачем это нужно, если можно по-простому написать).

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

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

    — KISS (делай как можно проще) — выбирай самый простой способ реализации, если есть несколько вариантов, и если это не грозит проблемами в будущем.

    — не ориентируйся и не используй фичи из PHP4. Он умер.

    — не полагайся только на HTML5/CSS3. Еще не у всех есть айпады с маками, и живы ИЕ8, ИЕ7 и ИЕ6.

    — пиши свой код, так, как будто после тебя его будет поддерживать псих-маньяк, который знает, где ты живешь. То есть, не пиши такие вещи, которые трудно/невозможно понять другому человеку. Думай о том, кто будет читать твой код. Изредка в сложных местах ставь комментарии. Не раскидывай логику выполнения действия по 10 файлам. Не делай файлы больше 500-1000 строк.

    — давай правильные названия классам, функциям, константам и переменным. Не используй транслит ($chisloPokupatelei). Не знаешь английский — вооружись Яндекс.Словарями/Гуглотранслейтом. Выбери и следуй стандарту кодирования (рекомендую Zend Coding Standard).

    — код на функциях можно легко превратить в ООП-код путем превращения функций в статические методы и объединения в классы.
    Ответ написан
    6 комментариев
  • MVC в PHP??????

    belkamax05
    @belkamax05
    Еще, как вариант, разобраться в структуре Code Igniter. Там очень хорошо реализовано MVC и при он очень легкий для изучения. Его легко понять даже не зная PHP
    Ответ написан
    3 комментария
  • Практика программирования на PHP

    @Horzerus
    Если можешь сделать сортировку масива «пузырьком», то переходи дальше. Если нет — то разберись в простейшей работе с массивами и таки сделай эту сортировку.

    Сделай простой сайт (не статический, а с базой данных).
    И усложняй, приделывая:
    — админку для добавления, удаления и редактирования страниц (практика основных простых запросов к БД)
    — сделай регистрацию и авторизацию на своем сайте (практика работы с $_POST и $_GET, сессии, cookies)
    — сделай чтобы страницы могли быть вложенны друг в друга и чтобы можно было в админке изменять у страницы родителя. На сайте выводи дерево страницы. (познаешь основы «деревьев», рекурсию)
    — сделай форму для закачки файла (практика прастейшей работы с файлами)
    — сделай чтобы закачивалась картинка и масштабировалась (практика работы c библиотекой GD для работы с изображениями). Можно капчу попробовать сделать кстати.

    Потом прочитай, что такое MVC и можешь все переделать под этот шаблон проектирования.
    Ответ написан
    Комментировать