Задать вопрос
  • Тяжела ли жизнь программиста без HTML и CSS?

    @D3lphi
    Если вы пойдете работать в более - менее серьезную контору именно на позицию back-end developer'а, то да, возможно. Ответственность на вас будет лежать только за серверную часть. Опять же, очень часто и на бэк энд разработчика в требованиях есть, как минимум, базовые знания html, css, js. Так что в идеале, конечно, знать их нужно. Если же вы пойдете работать в фирму, которая пилит "говносайтики" на вордпрессе для дяди Васи из второго подъезда, то тут для вас плохие новости. Там, как правило, нет четкого разделения на back и front end developer'ов. Всю работу там делают "веб-мастеры", которых назвать full stack девелопероми язык не поворачивается (В силу их, как показывает практика, низкой квалификации).
    Ответ написан
    Комментировать
  • Как сверстать макет с неравномерной сеткой?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Держите codepen.io/delphinpro/pen/BWJEgG
    Простая линейная структура. В определенных пределах можно менять положение плиток, не меняя css код.
    Если еще помозговать, можно расширить эти пределы, добавить другие размеры плиток. Но на это нужно время, которого у меня нет.
    Ответ написан
    Комментировать
  • Как называется такой метод собирания страницы?

    Как вариант - очередная самописная реализация MVC, думаю таким многие баловались.

    Если лень гуглить - на хабре есть статья на тему, где прям на примере всё разжевано, вот.
    Ответ написан
    4 комментария
  • JavaScript, как не запутаться в фреймворках?

    ptrvch
    @ptrvch
    вебдев-энтузиаст. Django, AngularJS
    Оба приложения - и веб-версия Telegram, и Zenpen -- лежат в опенсорсе, можно просмотреть исходный код для каждого из них. Что примечательно, Zenpen как раз-таки написан без фреймворков и библиотек, а веб-Telegram -- на первом AngularJS.

    Самые популярные SPA-фреймворки уже пееречислили - это Angular 1/2, ReactJS, Vue.
    От себя порекомендую изучить VueJS. Перешел на него с AngularJS 1, очень этому рад.
    Ответ написан
    Комментировать
  • Можно ли хранить весь код в БД и правильно ли это?

    In4in
    @In4in
    °•× JavaScript Developer ^_^ ו°
    Запросы к базе надо сводить к минимуму. Мне кажется, глупо говорить, что они нагружают сервер, ну и увеличивают время загрузки страницы. Это, блин, логично.

    Храните гребаный код в гребаных файлах. В чем проблема? 2к17 год, давайте, блин, в базе данных хранить верстку, просто потому что потому. Извращенцы. Скоро отдельный сервер будут делать, чтобы на него за версткой ходить, а на боевом просто echo file_get_contents("http://....

    Знаете, даже во многих CMS стараются свести к минимуму работу с БД -кэшируют результаты запросов на некоторое время или до ручного обновления. Т.е, хранят результат во временных файлах и отдают юзеру. Ну а мы давайте каждый раз будем за статикой бегать на localhost, че бы нет.....

    мне кажется все же есть такие люди у которых на продакшене подгружается разметка из БД.


    Ну да, есть. Без работы вон сидят.
    Ответ написан
    2 комментария
  • Как устроена архитектура современного front-end приложения?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    В одностраничном приложении (SPA) присутствует единая точка входа. Это загрузка основного скрипта, который будет отвечать за логику работы приложения. Это как index.php в корне веб-сайта. Ну а дальше он уже сам решает, что делать. В основной скрипт обычно включены составляющие отвечающие за маршрутизацию и загрузку других частей приложения. Вы можете представить себе SPA как набор кирпичиков с раствором в виде основного скрипта.
    Так вот эти кирпичики могут быть загружены сразу, а могут лишь в тот момент, когда они потребуется, примерно как Autoloader в Composer.

    Относительно загрузки есть несколько разных подходов.
    1. Когда грузится только загрузчик и затем остальные скрипты и шаблоны подгружаются по необходимости.
    2. Когда все (скрипты+шаблоны) собирается в огромный JS-файл. Это файл потом работает.
    3. Когда JS идет большим файлом, а шаблоны отдельно (так работает AngularJS 1).

    Есть множество различных сборщиков, например WebPack, Gulp, Brunch, Grunt. Их вариаций много, не пугайтесь.

    После начальной загрузки приложение решает, что должно быть запущено первым. Обычно это какие-то системные вещи, вроде загрузки шаблонизатора, всяких кэшей и роутера.
    Далее роутер рабирает маршрут и запускает нужный модуль (контроллер/компонент); в зависимости от фреймворка это выглядит по-разному, но суть одна и таже.
    Каждый компонент отвечает за модификацию отдельных узлов дерева состояний, которое так или иначе спроецировано на DOM. Если смотреть на бэкенд, это как подставлять в шаблон данные, только на бэкэнде это происходит в один проход, а здесь перестройка происходит сразу после изменения оригинальных данных.
    В каждом феймворке это сделано по-своему. Смысл одинаков - проекция данных на DOM.
    Данные вытаскиваются приложением самостоятельно, могут быть загружены через Ajax. У меня есть приложение, где транспорт идет через веб-сокеты. Можно даже через iframe заморочиться, это не имеет значения.
    Иногда сервер отдает страничку с изначально подготовленными данными. Это делается в разных целях, в основном для уменьшения скорости старта приложения.

    Из личного опыта скажу, что вам следует начинать с Angular 2, т.к. он сделан намного проще остальных в плане использования.
    Ответ написан
    1 комментарий
  • Как устроена архитектура современного front-end приложения?

    @timda
    asp.net веб-разработчик
    Так сразу не ответишь. Почитайте Интернет, много всего. ITDVN на ютубе посмотреть можно. На хабре много интересных статей. Например, свежий, "легкий" пост https://habrahabr.ru/post/321844/

    По сути архитектура не менялась с появления скриптов в браузере. Три уровня операций в архитектуре:
    1) Верстка. Раньше были таблицы, потом стали дивы. Все писали свои библиотеки. Затем библиотеки стали выкладывать в общий доступ - появились CSS-фреймворки Bootstrap, Foundation и так далее. Стало слышно о предпроцессорах CSS - less, sass. В 2014 году Гугол выпустил свой подход к дизайну Material Design. На базе него есть масса CSS-фреймворков. Сейчас переходим на флексы, приятная вещь.
    1.2) Лет пять назад начался бум мобильного трафика со смартфонов. Поэтому появились медиа-запросы и адаптивная верстка. Я сам года полтора назад взял ксиаоми 5.5 дюймов - первое время в деревне балдел :) Важный элемент.
    2) DOM. Операции по работе с DOM. Парсинг HTML дерева. Раньше писали большие библиотеки для разных браузеров (в основном на Javascript). Модно было менять картинки в меню по наводке мыши. Потом появился jQuery, он во многом снял вопросы о кросс-браузерности. Сейчас это все переросло в JS-фреймворки. Самые популярные, насколько понимаю - Angular, React. Их много.
    3) Запросы на сервер. Когда то давно это называлось XmlHttpRequest в виде COM-объекта в IE. Потом модное слово Web 2.0. Далее - мода на Ajax. Потом появился jQuery - это правда очень хороший и качественный продукт. И опять же JS-фреймворки.
    ---
    Эти операции за последние лет 15 обросли кучей терминов и технологий. Каждый считает, что он сможет написать лучше - и делает свою систему, технологию, подход, фреймворк и так далее. Не говорю, что это плохо - может и хорошо, но бардак аццкий.

    И в серверных технологиях много нового, хотя гиганты вроде Явы, Майкрософта, Оракла - удержались. Вокруг конечно создали много всего, но ИМХО - как был PHP и ASP в Интернете, так и остались. Хотя, такие штуки как REDIS весьма полезны :)

    ЗЫ: я лично смотрю в сторону Angular 2 или React (скорее всего буду пробовать обоих) и Bootstrap 4 с флексами. Если бутстрап до апреля не забЭтится - выкину и напишу свои небольшие библиотеки, мне много не надо :) Хотя мне пока что и на ASP.NET Forms и ASP.NET MVC неплохо живется, ну jQuery конечно, Yandex MAP API, бустрапа в меру. Но у всех свои мнения :)
    Ответ написан
    2 комментария
  • Как устроена архитектура современного front-end приложения?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Логика работы SPA - грузится сразу на клиент при первом обращении.
    2. По событиям (читай "кликам") - подгружается только разметка блоков и/или JSON-данные по ajax (или данные непрерывно поступают через websocket).
    3. Если функционал страницы специфический (сильно отличается от обычных): то также загружаются дополнительные JS-модули через AJAX.

    Обычно используется 3 основных составляющих:
    1. Роутер - передача управления нужному модулю на основе URI-строки.
    2. Application - код основного приложения
    3. Шаблонизатор - для вставки полученных через AJAX значений в разметку.

    Для подгрузки блоков через AJAX: https://github.com/xmoonlight/includeHTML
    Для шаблонизации данных: https://sitecoder.blogspot.ru/2017/01/rex-tiny-tem...
    Ответ написан
    4 комментария
  • Стоит ли заключать договор?

    @entermix
    Кто сталкивался с такими ситуациями? Кто какие решения принимал? Всё-таки не очень-то хочется обогащать чужой карман...

    Пойду откажусь от всех текущих проектов, а то, вдруг, они начнут приносить прибыль моим клиентам? Ужасно, тчк.
    Ответ написан
    Комментировать
  • В чем различие коалесцентного и короткого тернарного оператора?

    Melkij
    @Melkij
    PostgreSQL DBA
    Вот эти записи эквивалентны:
    $q = $var1 ?? $var2;
    $q = isset($var1) ? $var1 : $var2;


    Внимание и на isset - т.е. E_NOTICE за обращение к неизвестной переменной не будет.
    И внимание на поведение - coalesce проверяет на null, а не всё многообразие типов, приводимых к булеву. Например,
    $var1 = false;
    $var2 = 2;
    
    $q1 = $var1 ?? $var2;
    $q2 = $var1 ?: $var2;
    
    var_dump($q1, $q2);

    Различаются по поведению.
    Ответ написан
    Комментировать
  • Как убрать кнопку "скачать" html5 плеера chrome?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    stackoverflow.com/questions/41115801/in-chrome-55-...

    гуглить я конечно не буду
    Ответ написан
    Комментировать
  • Как осуществить подмену контента без замены urlа?

    qonand
    @qonand
    Software Engineer
    На backe генерируется sitemap и сохраняется в папку "sitemap" адрес получается к sitemap: work.domain.ru/sitemap/sitemap.xml

    sitemap.xml не место в backend т.к. он там не нужен, лучше не задавайтесь вопросом как подменить URL, а задайтесь вопросов - как сохранить ее при генерации в frontendf
    Ответ написан
    3 комментария
  • Как вставить в echo ' ' html элемент с содержимым php?

    @Gesparo
    Fullstack разработчик
    echo "<p class='user'>{$rowOpinion['username']}</p>";

    либо, если двойные кавычки важны в class
    echo "<p class=\"user\">{$rowOpinion['username']}</p>";
    Ответ написан
    Комментировать
  • Для чего в git выкладывать composer.lock?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Для контроля версий пакетов.
    Если выполнить composer install, то поставятся те версии которые указанны в composer.lock
    Ответ написан
    2 комментария
  • Как захватить инкремент MySQL во время создания строки?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Лендинг или мини интернет магазин?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Для увеличения доверия со стороны покупателя решил сделать сайт и там разместить этих десять позиций.

    А кто сказал, что сайт непонятного продавца будет внушать больше доверия?
    По личному мнению скажу, что я никогда не покупаю что-то на лендингах.
    Доски объявлений (особенно, если они с отзывами, аля aliexpress) внушают больше доверия.
    А отзывы на лендингах и в мини-магазинах, как правило, пишутся владельцами.
    Ответ написан
    6 комментариев
  • Где ошибка и в чём отличие этих двух кодов?

    orlov0562
    @orlov0562 Куратор тега PHP
    I'm cool!
    да они вроде одинаковые, напиши подробнее, что за ошибку получаешь и полный код метода
    Ответ написан
    6 комментариев