• В чем преимущества PHP перед ASP.NET?

    svd71
    @svd71
    1а. ASP это компилированный язык в котором компоненты обернуты некоторым фреймворком(которые тоже скомпилированы) и которые вызывает напрямую функции ОС. Скорость исполнения зависит от скорости обращения машинного кода к такому же коду компонентов, которые через кодовые функции фреймворка обрабатывается понятными процессору кодами функций операционной системы. Причем при компиляции полученный код может оптимизироваться. При этом не стоит забывать, что организации сервера необходимо установить ОС, фрейм ворк (и часто не один), дополнительные библиотеки и сервер. Что уже само по себе не дешевое решение при выигрыше в скорости исполнения кода.

    1б. PHP это скриптовый язык. Это означает, что ему необходим некоторый интерпретатор всего того, что там в этих скриптах написано. Скорость исполнения зависит от размера скриптов, скорости "перевода" текста скриптов в некоторые куски программного кода, который уже невозможно никак оптимизировать, и которые потому обращаются к функциям ОС. Правда некоторые хитрые личности умудрились сделать этокие компиляторы в так называемый байт-код. В основном этот код можно слегка оптимизировать. но чаще только на полном исключении оставленных комметариев и символов отсутпов. Хотя нужно признать, с каждым годом этот скритовый язык все быстрее в том числе из-за вожможности ОС быстрее читать данные из файлов. Цепочка выполнения не сложная: сервер, скрипт, интерпретатор, ОС. Даже в неумелых руках можно запустить с легкого пинка. И под любой ОС.

    2а. ASP требует некоторого обязательного компилятора, некоторых способов отладки получаемого кода, некоторых знаний особенности ОС и фреймворка. Это, нужно заметить, не простая задача. Тем более нет возможности вести нормальную разработку в каком-либо совсем примитивном текстовом редакторе. Но можно.

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

    ПС: Выводы можно дополнить самому. Я описал самые явные различия в технологиях. Много конечно не указал: например работа с объектами имеет некоторые существенные различия. Проприетарность, возможность взлома, возможность отладки, количества IDE под каждую технологию.
    Ответ написан
    5 комментариев
  • Как сделать зебра-таблицу два через два

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    .stripy tr:nth-child(4n+1){
       background-color:  grey;
    }
    
    .stripy tr:nth-child(4n+2){
       background-color:  grey;
    }


    <table class="stripy">
    Ответ написан
    1 комментарий
  • Как сохранить изображение по клику?

    KOLANICH
    @KOLANICH
    Знаю JS, PHP, C++, C#
    Ответ написан
    Комментировать
  • Как мониторить твиттер по ключевому слову?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Ответ написан
    Комментировать
  • Как использовать регистрацию по СМС на сайте?

    nikitanaz
    @nikitanaz
    UX Lead and DesignOps @EPAM
    Т.к. стоит тег “usability” разрешите спросить:
    а какого рода ресурс ? там какой-то узкоспецифичный уникальный контент? или еще что-то?

    Просто не понятно, зачем нужна регистрация через смс…
    Регистрация это уже не очень круто. А если телефон еще оставлять надо, так и подавно.
    Ответ написан
    3 комментария
  • Как правильно использовать паттерны проектирования?

    Привет, автор. Вот мои мысли по этому поводу:
    1. Понимание паттернов программирования приходит только с опытом. Чтение одной лишь книги, без практики, практически ничего вам не даст. Материал быстро забудется. Лично я прочитал примерно половину книги, после чего пришлось её на время отложить. Как я и говорил - без тренировки на примерах материал быстро забылся. Вновь вспоминаться он стал при чтении книги "Принципы, паттерны и методики гибкой разработки на языке c#". В книге достаточно много подробных примеров, и именно после их выполнения я стал осознавать суть некоторых паттернов.
    Разумеется нельзя считать, что паттерн - это какое-либо строгое правило. Часть паттернов мы реализуем сами ещё до прочтения каких-либо книг. Паттерн - это возможное и удобное решение, которое можно применить для решения какой-либо задачи. Не надо пытаться заучить паттерны или вставлять их везде, где можно. Нужно просто писать как можно больше кода, тогда уже автоматически начинаешь видеть ситуации, где можно применить паттерн.
    2. По-поводу слабой связанности. Во всех книгах, разумеется, пишут, что слабая связанность - это хорошо. Но на самом деле такая архитектура не всегда оправдана, и специалисты в области разработки ПО об этом периодически напоминают. На практике это означает то, что не нужно везде применять интерфейсы только потому, что можно это делать. Если вы уверены, что ваши классы вряд ли будут когда-либо заменены другими, то лично я считаю, что они могут быть смело использованы друг-другом без принципа инверсии зависимостей. Ну и вопрос к модульному тестированию. Разумеется сильная связанность мешает модульному тестированию, но если вы не планируете его проводить, то быть может и не стоит строить избыточные абстракции.
    Лично я также считаю, что вышесказанной в меньшей степени справедливо для прикладных и вэб-приложений (где действительно важна модульность и тестировании), и в большей степени справедливо для игровых приложений. Лично я вообще с трудом представляю игру, в которой каждый игровой объект (танк, самолёт например) будет реализовывать интерфейс, чтобы теоретически когда-нибудь мы заменили танк на био-робота. Но это так, лирика.
    3. По-поводу повторного использования. Один мой товарищ - senior developer, работавший в серьёзных организациях, говорит, что повторное использование кода - это миф. Лично я повторно использовал разве что какие-нибудь вспомогательные функции. Ну или в лучшем случае несколько классов и интерфейсов для поддержки модульности. На мой взгляд, говорить о том, что можно взять и перенести из проекта в проект всю архитектуру особо не приходится.
    4. По-поводу контроллеров. Насколько я понимаю (опыт в разработке небольшой) основной смысл делать контроллеры зависимыми от интерфейсов только в том, чтобы тестировать эти контроллеры (хотя я не совсем понимаю зачем). Контроллер - это действительно такая вещь, которая с большой вероятностью будет использоваться только на конкретном сайте. Также этот контроллер будет завязан на какой-то интерфейс, предоставляющий бизнес-логику. Опять же вероятность, что один класс бизнес-логики будет заменён другим классом с такими же методами - стремится к нулю, особенно если учитывать то, что класс бизнес-логики зависит от интерфейса, который предоставляет методы получения данных. (если вы хотите изменить способ получения данных - вы изменяете, К примеру, класс репозитория, бизнес логика остаётся той же). В связи с этим я вижу пока только одну причину завязывать контроллеры на интерфейсы, а не конкретные классы бизнес-логики - это тестирование. Вы стабите интерфейс бизнес-логики и тестируете контроллер независимо от всех остальных модулей. Если не прав, поправьте, конечно.
    Ответ написан
    5 комментариев
  • В чем смысл оптики до квартиры?

    opium
    @opium
    Просто люблю качественно работать
    с чего вы взяли что кабель дешевле?
    сейчас оптический кабель стоит сопоставимо.
    Оптика до квартиры дает большой плюс в том что в доме не надо держать активное оборудование, то есть света в подъезде нет, а интернет есть.
    в целом это просто развитие технологий
    вот зачем 4 ядра телефону
    ума не приложу у меня на компе то их два всего
    Ответ написан
    9 комментариев
  • Какие информационные ресурсы хороши для чтения?

    pavel_salauyou
    @pavel_salauyou
    Symfony2 & Angular разработчик
    Ответ написан
    Комментировать
  • 1 папка и 10 000 картинок или 10 000 папок и по одной картинке в каждой?

    Поддерживаю тех, кто сказал искать золотую середину. не вздумайте в одной папке делать более 1000 файлов или папок. Без разницы как осуществляется к ним доступ (по урл или ftp)!

    Лично у меня миллионы картинок разбиты почти как советовали выше:
    2274facdbca56499fe397344c633e25a.jpg лежит в 2/2/7/2274facdbca56499fe397344c633e25a.jpg
    При такой структуре получаем не более 16ти папок в каждой папке.
    Ответ написан
  • 1 папка и 10 000 картинок или 10 000 папок и по одной картинке в каждой?

    хорошая практика, применяющаяся много где, например у Microsoft
    вычисляем md5 у файла - 2274facdbca56499fe397344c633e25a
    файл кладем в папку avatars/227/4fa/cdb/2274facdbca56499fe397344c633e25a.jpg
    Ответ написан
    9 комментариев
  • Почему toster так плохо сверстан?

    Sterhel
    @Sterhel
    Есть такое. В скором времени будет мобильная версия, поэтому версия для десктопов пока оптимизирована только под десктопы.
    Ответ написан
    Комментировать
  • Почему toster так плохо сверстан?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Пишите в техподдержку, я так и делаю. А так что впустую языком чесать?
    Ответ написан
    4 комментария
  • Почему toster так плохо сверстан?

    tizar
    @tizar
    Увлеченный
    Москва не сразу строилась. Хотя, там тоже верстка хромает)))
    Ответ написан
    Комментировать
  • Какое время фрилансеру оплачивать?

    pavel_salauyou
    @pavel_salauyou
    Symfony2 & Angular разработчик
    а почему заказчик не должен оплачивать коммуникацию и фикс багов??? это что не процесс разработки? вот из-за таких заказчиков и не хочется работать с местными работодателями.
    Ответ написан
    16 комментариев
  • Кто начинал программировать с 20-ти лет и старше?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    У меня первый комп появился в 19 лет. Думаю, у Вас есть шансы )

    upd
    Навеяно ответом @Mintormo

    Уже вижу сообщения на детских форумах: Здравствуйте, моему малышу уже 6 месяцев. Не поздно его отдавать в программирование?
    Ответ написан
    1 комментарий
  • Как сделать закрытие PopUp при клике по фону?

    @bogomazov_vadim
    Попробуй посмотреть это:
    www.xiper.net/collect/js-plugins/ui/closepopup.html
    Ответ написан
    Комментировать
  • Как выдавать людям с тормозным инетом более легкий сайт?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    С сервера - никак, с клиента (javascript), есть черновик стандарта для window.navigator.connection, с помощью которого можно что-то узнать, но поддерживается только фаерфоксом.

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

    nazarpc
    @nazarpc
    Open Source enthusiast
    Судя по всему вы не до конца понимаете для чего они нужны.
    Хотя после опыта с mongodb я тоже не понимаю, для чего она вообще может быть нужна.
    Ответ написан
    Комментировать
  • Почему не работает планшет в определённом месте?

    @nfire
    Над вами воронка. Другого объяснения я не нахожу.
    Ответ написан
    Комментировать