• Как применять знания javascript?

    @Berry90
    codewars.com самое то, сегодня как раз решал задачу надо было сортировать по числам в строках
    let str = "is2 Thi1s T5est 3a";
    делал на скоряк получился такой говнокод
    function order(words) {
    		let arr2 = new Array(4);
    		if (words == "") return "";
    		let arr = words.split(" ");
    		
    		for (let i = 0; i < arr.length; i++) {
    			for (let k = 0; k < arr[i].length; k++) {
    				if (!isNaN(arr[i][k])) {
    					arr2[arr[i][k]] = arr[i];
    				}
    			}
    		}
    		arr2.shift();
    		console.log(arr2.join(" "));
    	}
    	order(str);


    потом глянул на профи
    console.log( words.split(' ').sort((a, b) => a.match(/\d/) - b.match(/\d/)).join(' ') )


    у меня вышло 290 символов, профи тоже самое решил всего за 90
    вот так и тренируешься
    Ответ написан
    1 комментарий
  • MVC php на пальцах?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ох...

    Model View Controller. Да ну его, ему уже 45 лет (придумали в 79-ом году). Давайте лучше про Model View Adapter погокорим. это то что все используют в популярных фреймворках последние лет так 10 так точно.

    mvc-mvp-mvvm-6-638.jpg?cb=1375170002

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

    View - это не только HTML, но и вообще представление в целом, а так же логика его формирования. Шаблонизаторы, фильтры, различные функции/объекты помогаютщие нам сформировать view (например форматирование дат, сериализаторы и т.д.) В подавляющем большинстве случаев "представление" наших данных - это HTTP запросы и HTTP ответы. HTML - э то лишь часть HTTP ответа.

    Model - Это целый слой, который может быть представлен в виде кучи отдельных объектиков, структур и т.д. Его задача - делать дела и хранить/менять состояние системы. Тут легко запутаться потому что термин "модель" много чего значит. Воспринимайте его как "слой логики" а не конкретные объекты. И да - база данных и прочая чушь - это детали реализации этого слоя. "не важные штуки" словом. Туда же и ActiveRecord, ORM-ки всякие. Это деталь реализации и все остальные чуваки (view и controller) о них знать ничего не должны (хотя иногда могут в целях упрощения).

    Controller или адаптер. Это опять же не обязательно один объект. это может быть цепочка адаптеров (еще называют фронт-контроллером, middlewares и т.д.). Его задача весьма простая. Получаем представление данных на входе (HTTP запрос), определяем что надо делать, и просим модель что-то сделать (ни в коем случае не меняем ничего самостоятельно в контроллере, он только просит). Потом мы можем попросить модель вернуть нужный нам кусок состояния, и попросить View сформировать представление (HTTP ответ).

    Как-то так. В целом же это я сейчас описал "идеальный мир". Вся суть этого подхода - разделение логики презентационной и логики приложения. Зачем это надо? что бы было проще жить! Обычно UI приложения или способы взаимодействия с ним меняются почаще логики или как минимум в разные моменты времени. Адаптеры в этом случае служат промежуточным слоем, они ничего сами не делают, это "переводчики". Они просто переводят то, что сказано в запросе в язык понятный приложению и обратно.

    Но на начальной стадии можно слегка нарушать эти правила, делать толстые контроллеры и т.д. В этом случае бизнес логика будет потихоньку "вытекать" из модели. Это не хорошо, и на хоть сколько нибудь больших проектах может привести к проблемам. Потому важно находить баланс.
    Ответ написан
    Комментировать
  • MVC php на пальцах?

    @xfg
    Модель - это любая ваша бизнес-логика, всякие вычисления и запросы к бд. То есть то, без чего приложение впринципе не имеет смысла.

    Контроллер - это посредник между моделью и видом. Он запрашивает данные (вызывает методы) у модели и затем передает их в вид.

    Вид - с помощью полученных данных от контроллера рисует пользовательский интерфейс.

    Смысл в том, чтобы отделить логику приложения от представления. Представление ничего не знает о модели и наоборот.

    Нужна одна точка входа. Клиент всегда запрашивает только index.php, оно там внутри на основе данных из запроса решает какой контроллер создать и какой метод из контроллера выполнить. Всё.
    Ответ написан
    4 комментария
  • Какой фреймворк выбрать для обучения?

    @novrm
    Представьте, что вы пришли в большую университетскую библиотеку и говорите: "Я желаю в кратчайшие сроки стать самым-самым главным библиотекарем это библиотеки, Желаю знать структуру библиотеки, разделы, все книги, все книги по разделам, ориентироваться во всех авторах, их деятельности, жанрах... А также знать всех читателей, их нравы, повадки и приоритеты... Также нужно мне обладать информацией об связях библиотеки с другими учреждениями, быть в курсе лекций, симпозиумов, конференций"...
    И все это в кратчайшие сроки ибо время поджимает.
    Понимаете ли вы тогда, что некоторые люди к этому идут не один год?

    Теперь по существу.
    Symfony - самый тяжелый в изучении, и рекомендовать его начинающему я бы не стал.
    Zend Framework - тот же Symfony но с меньшим набором "плюшек" и меньшим сообществом. Порог вхождения - легче.
    Lavarel, Yii - легкое вхождение за счет уже готового кода, что сыграет с вами потом плохую шутку. Ибо любой framework по замыслу программистов - это минимальный скелет, на который вам нужно самостоятельно наращивать мышцы...

    Еще короче - выбирая framework вы оказываетесь в ситуации дистрофика, которому нужно выиграть на конкурсе Мистер Юниверс.

    Спросите сто раз нужно ли вам это.
    Ответ написан
    Комментировать
  • Какой библиотекой можно сделать круговые диаграммы и чарты?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    Google chart tools -- масса инструментов для диаграмм...
    Конкретно круговые -- https://developers.google.com/chart/interactive/do...

    Мне они нравятся больше предложенных выше из-за интерактивности. Все может подсвечиваться, двигаться и т.п.
    Ответ написан
    Комментировать
  • Как эффективно развивать себя как разработчика?

    @Za0r
    pop()
    Друг,привет.

    Не знаю твой уровень Js, но в любом случае лучшего моего, т.к. я только учу его.

    Для себя составил такой план по-покорению этого языка.

    1)Head First "Изучаем JavaScript";

    2)learn.javascript.ru ;

    3) Good Parts ;

    4) Секреты JS ниндзя ;

    5) карманый справочник js-частично;

    6) JS шаблоны;

    7) ES6;

    8) 68 способов использовать js.
    Ответ написан
    6 комментариев
  • Как ускорить вёрстку?

    @architawr
    "Ok, Google" и все твои проблемы решены
    1) SASS и сетку для него(типа bootstrap)
    2) GULP для компиляции , а также его LiveReload и AutoPrefixer, и BrowserSync с его локальным сервером, и Bower (закачка либ)
    3) GIT
    4) Emmet
    5) BEM (БЭМ)
    6) Используйте gist от github
    Ну и прямые руки
    Ответ написан
    16 комментариев
  • С чего начать изучение SCSS/SASS?

    mikaspell
    @mikaspell
    Frontender
    https://sass-scss.ru - документация на русском
    Ответ написан
    Комментировать
  • Как развить навык проектирования приложения или как стать Senior?

    @OldCrazyCoder
    Писать код. Читать код. Например, популярные опенсорсные проекты на гитхабе. Если очень уж книгу хочется, то вот минимальный джентельменский набор:
    1. Совершенный код. С. Макконнелл
    2. Чистый код: создание, анализ и рефакторинг. Роберт Мартин
    3. Приёмы объектно-ориентированного проектирования. Паттерны проектирования. Банда четырех))
    4. PHP. Объекты, шаблоны и методики программирования. Мэт Зандстра
    5. Рефакторинг: улучшение существующего кода. Мартин Фаулер
    И т.д. Книг крайне много. И статей много. И простое их чтение мало что даст. Практика, много практики. Критичное отношение к своему коду, однако без перегибов - не стоит упираться в перфекционизм.
    Ответ написан
    Комментировать