• Откуда пошло разделение терминов с Client-side и Server-side на Front end и Back end?

    bingo347
    @bingo347
    Crazy on performance...
    "Client-side и Server-side" и "Frontend и Backend" - это абсолютно разные и никак не связанные понятия

    Клиент - это приложение, которое делегирует часть своего функционала другому приложению - серверу
    Сервер - это приложение, которое обслуживает множество клиентов, предоставляя им свой функционал
    Frontend - это часть приложения, отвечающая за интерфейс (GUI, CLI, etc.), то есть то, что непосредственно видит пользователь, с чем пользователь взаимодействует
    Backend - это часть приложения, отвечающая за бизнес логику, за фоновые задачи, за то что скрыто от пользователя

    Практически любое приложение содержит backend часть, не зависимо от того клиент оно, сервер или вообще работает без клиент-серверного взаимодействия
    frontend часть может содержать как клиент, так и сервер, хотя сервера содержат ее не часто
    Яркий пример - X.org (сервер GUI в Linux и некоторых других *nix системах) содержит frontend часть - рисует на экране, получает пользовательский ввод (клавиатура, мышь, джойстик, etc.), а простейшие WindowManager (например awesome), являющиеся клиентами по отношению к X.org, frontend части не содержат

    Конкретно в web это идет с тех времен, когда вся логика была на сервере, а на клиенте были статичные html страницы, а js использовался только для красотулечек-финтифлюшечек

    P.S. Еще про web, а конкретно про его клиентскую часть, то есть браузер:
    Когда пишем html, css - это frontend (пусть "чистые" верстальщики порадуются)
    Когда пишем js код взаимодействующий с DOM, CSSOM, рисующий на Canvas - это frontend
    Когда в js обрабатываем пользовательские события (keyup, click, focus, touchstart, etc.) - это frontend
    Когда на js производим расчеты, проверки ввода, вешаем таймеры, работаем с локальными хранилищами, отправляем ajax запросы - это backend
    Когда обрабатываем такие события как load, message, DOMContentLoaded - это backend
    Код работающий в WebWorker'е - это backend
    Продолжать можно долго, суть думаю ясна
    Ответ написан
    Комментировать
  • Откуда пошло разделение терминов с Client-side и Server-side на Front end и Back end?

    sim3x
    @sim3x
    Потому что client side - браузер
    server side - веб сервер, интерпретатор, СУБД

    Фронтендер не пишет браузер
    Бекендер не пишет веб сервер, СУБД и тд
    Ответ написан
    Комментировать
  • Почему PHP теряет популярность?

    @Kirill-Gorelov
    С ума с IT
    Я был в обсуждениях с некоторыми парнями на счет скорости и удобства и бла бла бла работы на php.

    Мне один парень сказал, что php скоро сдохнет. Но ему ответил второй программист:
    Он уже дохнет столько лет, что уже выпустили "предсмертную"(сарказм) 7 версию(на момент обсуждения). А сейчас уже готовят 8 версию, которая будет еще быстрее.

    И мое мнение.
    Php не умрет никогда. Потому что всегда будут две стороны халявщиков.
    1. Которая хочет быстро что-то выучить и на этом заработать.
    2. Те кто хочет быстро и дешево заказать сайт.
    И вот эти две стороны будут генерировать, назовем это, спросом на этот язык.
    Конкретно сейчас я не беру в обсуждения профессиональные сайты, которые действительно крутые и действительно достойные внимания и людей которые посвятили этому языку львиную долю своего времени.
    Ответ написан
    8 комментариев
  • В какой последовательности изучать JavaScript?

    rim89
    @rim89
    программист-велосипедист
    Нет
    1. Сперва нужно понять для чего он вам нужен
    После выбрать стек для этого:
    JS - это нативный язык, основа.
    Всё остальное - это дополнения.
    JQUERY - самое просто из списка, доп библиотека, которая облегчала работу с селекторами и XHR запросами
    Gulp - это менеджер задач, т.е. автоматизация рутинных работ, например по сборке проекта
    WebPack - это большой комбайн, в который перекрывает своим функционал Gulp и другие "помощники"
    Angular / Vue / React - это фреймворки, экосистемы со своими особенностями.
    Angular - требует знания TypeScript - надмножество над JS со строгой типизацией и не только.

    Node.js - это серверная вариация JS
    MongoDB - база данных

    Т.е. как видно отдельные области применимости. Чтобы решать какую то задачу все знать не нужно. Поэтому нужно определиться что нужно / требуется.
    Ответ написан
    Комментировать
  • Есть ли какие-либо недостатки у статических методов?

    @D3lphi
    Значит так, берем толстую тетрадь, ручку и пишем фразу "Статические методы не имеют отношения к ООП" до тех пор, пока не запомним это на всю жизнь.
    Суть объектно ориентированного программирование, как понятно из названия, заключается в том, что должен существовать объект. Статика существует не в контексте объекта, а в контексте класса! Из этого вытекает то, что на протяжении всего жизненного цикла вашего кода будет существовать лишь одно глобальное состояние статических членов класса.

    Использовать статику нужно в случае, если то, что вы ей описываете принадлежит всей группе объектов, а не одному. Например, у класса Human может быть статический метод numberOfLegs(), который возвращает количество ног у людей. Количество ног - это общее свойство для всех людей (Речь идет о здоровых людях). В данном случае можно было использовать константу класса, но это не так важно, ведь, по сути, константа - это тоже статический контекст. А вот имя - это уже свойство каждого отдельного человека. И очень важно чтобы статические методы не изменяли состояние системы в целом, не содержали побочных эффектов.
    В статические методы можно выносить какую либо служебную логику. Например, метод перевода числа из арабской в римскую запись следует сделать статическим.

    Есть ли у статического варианта какие-то подводные камни

    Большое количество. При чем, не таких уж и подводных. Из-за того, что статика глобальна, она плохо поддается тестированию, ее нельзя замокать. Глобальное состояние плохо поддается отладке. Отсутствует возможность подменить реализацию, так как это позволяют сделать объекты.
    Ответ написан
    4 комментария
  • Книги по ООП (не для начинающих)?

    qonand
    @qonand
    Software Engineer
    почитайте книгу Бертрана Мейера "Объектно-ориентированное конструирование программных систем" - это пожалуй на сегодняшний день одна из самых содержательных книг по ООП
    Ответ написан
    Комментировать
  • Почему говорят, что postgress лучше для более-менее серьезного проекта чем что-либо иное?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега PostgreSQL
    Седой и строгий
    Этот вопрос на Тостере задают примерно раз в неделю и в Интернете полно сравнений. Например, это или это. Для меня лично самый главный косяк MySQL в том, что в 2018-м году он даже стандарт SQL 92-го года поддерживает не в полном объёме. Или вот косяк из недавнего вопроса - он не запускает триггер на действиях с внешними ключами. И таких косяков просто чудовщное количество. Как только выходишь за рамки чего-то сложнее select * from some_table, начинаешь материть разработчиков ежесекундно. И ещё один факт, мало влияющий на повседневную работу, но достойный упоминания - при проверке статическим анализатором кода нескольких популярных СУДБ, MySQL по количеству ошибок оказался на первом месте с существенным отрывом!
    Ответ написан
    11 комментариев
  • Куда двигаться дальше, какие паттерны проектирования используют сегодня?

    Паттерны это не ООП.
    Паттерны могут быть и в ООП.
    Паттерны сегодня - завтра анти паттерны.
    Ответ написан
    Комментировать
  • Как развить навык проектирования приложения или как стать Senior?

    begemot_sun
    @begemot_sun
    Программист в душе.
    1.Написать ручкой бейджик Senior.
    2.Повесить бейджик на грудь.
    3. Поздравляю вы Senior.

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

    @Wexter
    Купить диски способные утилизировать гигабитный канал
    Ответ написан
    Комментировать
  • Почему не отображается сайт в Goggle Chrome на Windows 7?

    @Rheinmetall
    Могу сморозить глупость
    У тебя дважды прописан font-family для body. И как минимум часть проблемы кроется тут, потому что отключаем первые стили и вуаля, текст появляется
    ba7fce66bb1142328f895f6c4c883b57.png
    Ответ написан
    6 комментариев
  • Как быстро освоить angular?

    @toukouva
    Его вообще не нужно осваивать. Мертвая технология.

    Старый вариант - выкинули. Новый вариант - только выпустили, уже два раза обновили, и пугают еще каждые 6 месяцев выпускать обновления, которые могут ломать старый код.

    Ни один умный инженер не согласится работать с такой технологией. И ни один умный заказчик не разрешит разрабатывать себе проект, который может ломаться каждые 6 месяцев с очередным обновлением.
    Ответ написан
  • Как повысить уровень программирования?

    Почитайте про SOLID. DRY и KISS.
    Применяйте их к своему коду.
    Небольшой трюк: код далеко не всегда и не у всех сразу родится красивым, обычно его рефакторят, при этом вовсе не обязательно получать неописуемую красоту, достаточно, чтобы получилось "нормально"
    Ответ написан
    1 комментарий
  • Действительно ли Ruby сложнее PHP/Python? Если да, то почему?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Руби красив, однако это красота японского самурая с мечом против роты солдат с пулеметами и атомной базукой наперевес в Питоне. Страшно но эффективно. Поначалу Руби действительно выглядят магически красивыми, пока не понимаешь, что красота и эффективность зачастую разные вещи.

    (с) не мое
    Ответ написан
    1 комментарий
  • Сложно ли переходить с Windows на OS X или наоборот с OS X?

    DevMan
    @DevMan
    менять стоит если вас что-то не устраивает и вы уверены, что там лучше.
    остальное - сугубо индивидуально: кто-то легко переходит, кто-то с муками, кто-то вовсе не осиливает.

    Сильно ли отличается комбинации в фотошопе на WIndows от OS X
    сравните сами. проскролив по диагонали вижу что хоткеи практически такие же.

    Стоит ли покупать макбук ради эксперимента?
    это вам решать.
    от себя скажу, что макбуки - отличные железки. и если не взлетит OSX, они отлично дружат и с win.
    Ответ написан
    Комментировать
  • Возможно ли ускорить время на виртуальной машине?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Увеличить скорость до 200% на гостевой машине:
    VBoxManage setextradata "VM name" "VBoxInternal/TM/WarpDrivePercentage" 200

    Уменьшить до 50% на гостевой машине:
    VBoxManage setextradata "VM name" "VBoxInternal/TM/WarpDrivePercentage" 50

    Только перед этим, проверьте в настройках машины, чтобы гостевая машина не синхронизировала время с хостом:
    VBoxManage setextradata "VM name" "VBoxInternal/TM/TSCTiedToExecution" 1

    Другие команды:
    mirspo.narod.ru/vbox4/ch09.html#changetscmode
    Ответ написан
    1 комментарий
  • Как задать правильно минимальную ширину в адаптивной верстке?

    @i788
    Минимальную ширину нужно рассчитать.
    Для Ваших условий она будет равна:

    (150px / 20%) * 100% = 750px

    Update:

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

    Решение такое:

    @media screen and (max-width: 749px) {
       .center {
           width: -moz-calc(100% - 300px);          
       }
    }

    Поддержку функции calc() можно посмотреть здесь:
    caniuse.com/#feat=calc
    И для обертки нужно выбрать необходимую min-width, то есть, минимальную суммарную ширину трех блоков, которая будет больше 300px.
    Ответ написан
    6 комментариев
  • Стоит ли делать Landing Page на WP?

    Sanes
    @Sanes
    делайте
    Ответ написан
    Комментировать
  • Под какие значения @media адаптировать дизайн сайта?

    llgruff
    @llgruff Автор вопроса
    Scala
    B-ww-mar-may-2015.jpgИсточник

    c8b86656c9de435c806298ea676beb45.PNGИсточник

    Ещё статистика

    Брейкпоинты фрэймворков
    breakpoints.pngСтаренькое
    Responsive-Widths_0.pngНа закуску
    Viewport Sizes

    UPD. Из презентации Яндекса о адаптивности интерфейсов:
    599b833421454dd9988f4d6b01c95f81.png
    Ответ написан
    Комментировать