Задать вопрос
  • Как сделать правильный выбор между C# и Java?

    MalkovVladimir73
    @MalkovVladimir73
    Fullstack (node + vue.js)
    Как человек, который 1.5 года учился java, а потом вышел работать с C# - точно могу сказать, разница несущественна. Специалисту всё равно какой инструмент он использует. Хотите наиболее производительное мобильное приложение - используете java, хотите desktop windows, вэб бэкенд, игры - C# (имхо). ML - python. Микроконтроллеры - C (C++). Хотите делать качественное ПО для всего вышеперечисленного, тогда я вам огорчу, серебряной пули нет придется использовать разные инструменты, но с опытом, вы поймёте, что различия весьма преувеличены.
    Ответ написан
    2 комментария
  • C# vs Php. Что выбрать?

    @tiqq
    По личному опыту скажу, что C# и Visual Studio - это самый эстетически приятный тандем из всех, с которыми приходилось работать. C# прост, понятен и элегантен настолько, насколько это возможно.

    Касательно перспектив:

    Если в Ваших планах карьера программиста, то я бы однозначно посоветовал C# и .NET. Так как .NET-программистов значительно меньше, чем php-разработчиков, как следствие зарплаты значительно выше(но и вакансий меньше). Так же безусловным плюсом является то, что в случае с C# Вы не ограничены лишь веб-приложениями: на C#, помимо веб приложений, пишутся десктопные приложения, мобильные кроссплатформенные приложения(Xamarin), игры, о которых Вы упомянули, а это значит, что если, к примеру, какое-то направление Вам пришлось не по душе, Вы за гораздо меньшее время сможете переквалифицироваться. В случае же с php Вы имеете дело только с веб-приложениями.

    Если же Вы видите себя в будущем исключительно веб-ориентированным программистом, то, возможно, следует рассмотреть php. Бэкенд большинства веб-сайтов(особенно относительно простых) пишется именно на php, и, скажем, без работы Вы точно не останетесь, хоть и за в среднем меньшие деньги, чем если будете C#-программистом.

    Итог: я бы посоветовал C#. Погружайтесь в платформу .NET и становитесь экспертом. Удачи)
    Ответ написан
    3 комментария
  • Почему так долго распаковывается архив весом всего 36мб?

    @d-stream
    Готовые решения - не подаю, но...
    Стоит сказать антивирусу, что эту папку надо исключить из проверок
    Ответ написан
    Комментировать
  • Почему так долго распаковывается архив весом всего 36мб?

    15432
    @15432
    Системный программист ^_^
    На каждый распаковываемый файл система должна завести новую запись в файловой системе. В результате жесткий диск вынужден мотать головкой чтения/записи туда-сюда на каждый мелкий файл, из-за чего очень сильно падает скорость. Если вы хоть раз копировали 10000 файлов в папке на медленную USB флешку, вы должны были заметить, что много мелких файлов копируются в сотни раз медленнее, чем один большой
    Ответ написан
    4 комментария
  • Laravel vs Symfony документация и примеры на русском?

    e_svirsky
    @e_svirsky
    Web Developer
    Учите симфони, после него на что угодно - ларавел и т.д. в обратном направлении не работает!
    Ответ написан
    Комментировать
  • Каковы _существенные_ (практически значимые) отличия Symfony от Laravel?

    @onekit
    Получится у вас всё. Можно микроскопом гвозди забивать при желании. Я пришёл однажды на проект, который зашёл в тупик благодаря талантливому программисту из Индии. Тот создал огромный twig extension из которого напрямую делал запросы в базу. Когда загружалась страница с использованием этого extension-a, то в базу шло 800 с копейками одинаковых запросов. Т.е. с дуру можно что угодно сломать.
    Ответ написан
    5 комментариев
  • Каковы _существенные_ (практически значимые) отличия Symfony от Laravel?

    @EvgeniiR
    https://github.com/EvgeniiR
    Eloquent = Doctrine?)
    Советую вам хоть немного разобраться что это такое, и какие паттерны реализованы в Доктрине, а какие в елоквенте.

    Мне в Laravel понравилась свобода - то есть при желании я могу запросто напихать в шаблоны PHP-код и в запросы к базе - RAW-SQL и запихнуть эти запросы хоть в роутер))))
    Пишите на чем угодно, все равно в помойку отправится, потому что подерживать такое никто не будет.
    Фреймворк для того что вы хотите делать не нужен вообще.

    А то мне сейчас нужно сайт-сообщество сделать, и я пока так и не нашел годный готовый опенсорсовый движок для этого на основе Laravel.

    Опять же - вам не нужен фреймворк. Фреймворк это каркас для приложения которое вы будете писать.

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

    php666
    @php666
    PHP-макака
    Какие области в веб — разработке осваивать в перспективе?

    Никакие. Процитирую:

    Никому не советую в IT. Особенно в веб. Это бесконечная гонка за востребованностью быть полезным на рутинной работе. Каждый год-два технологии обновляются, надо постоянно что-то учить-изучать, клиентам и работодателям надо, чтоб вы умели все больше и больше — это как если б врач каждые несколько лет перепрофилировался на другую медицинскую профессию: был травматологом, стал неврологом, потом урологом, эндокринологом, хирургом, медсестрой, хуй простой, нейрохирургом и т.д. — все, вроде, из одной области, но сильно разное. Т.е. ты выучился, работаешь себе, но при этом тебе надо учиться еще и еще, еще и еще, еще и еще.

    Вчера фигачили на jQuery, сегодня утром уже React актуален, днем его догоняет Vue, потом появляются технологии, с виду упрощающие разработку, но по итогу у тебя одновременно запущено 10 программ, дюжина окон терминала, ты начинаешь ёбаться головой об стол, но это не помогает, ведь завтра фейсбук, гугол или какой-нибудь кореец придумают что-то новое и твои навыки уже будут не удел, если ты не успеешь изучить это «что-то новое». Сейчас ты работаешь, тебя считают профессионалом, а через год ты хочешь сменить место работы, заходишь на какой-нибудь moikrug и понимаешь, что ты где-то что-то проебал, ведь год назад все было гораздо проще и понятнее.

    Зарплаты тут самые обычные, просто позволяют не выживать, как при среднестатистической зарплате, но позволять себе какие-то дорогие вещи вы не сможете, если не живете с мамой и вам родители не купили машину — да-да, львиную часть вашего бюджета будет сжирать аренда квартиры или ипотека, а так же кредит на машину до миллиона, а если повезет, то до полутора миллиона. А если вы ИП, то вам вообще никто и ни на что не даст кредит, ибо банки не любят ИП.

    Чтоб стать Senior-разработчиком, который может зарабатывать ползарплаты депутата гос.думы, надо не просто много работать и учиться, уделяя этому ВСЮ жизнь на протяжении десятка лет, надо еще и быть предрасположенным к программированию, т.е. надо иметь определенный склад ума. Да, тут есть интеллектуальный порог, большинство не может выйти из Middle, который получает максимум $2000 — и то, должно сильно повезти, чтоб и зарплата хорошая, и работодатель адекватный, и с командой все классно было.

    Я, как стал фронтенд-разработчиком, просрал друзей, т.к. много работал и учился (а если этого не делать, то вы станете не удел); просрал несколько лет жизни одним мимолетом, т.к. работа рутинная с утра до вечера; заработал проблемы со спиной, т.к. невозможно сидеть по 8 (а то и по 12) часов в сутки с ровной спинкой — заебешься контролировать; с ожирением можно бороться залом, но вы становитесь нелюдимым, вам не нравится находиться в незнакомом обществе.

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

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

    PS: можно быть слепым котенком и думать: «вааау, как классно я живу, вон полторы тыщи баксов скопил за несколько месяцев, куул, поеду в отпуск не в Турцию, а еще мои знакомые у меня деньги занимают, значит я не так плох» — но идите на хуй с такой «счастливой» жизнью.


    ААААА, Я НА ЭТО ВСЮ ЖИЗНЬ ПОТРАЧУ.
    ну да. ты, наверно, насмотрелся желтой прессы, где в IT входят за месяц и потом зарабатывают 100500 миллионов лежа на пляжу? я тебя огорчу. всё совсем не так. абсолютно.

    IT - это на всю жизнь. Если тебя пугает 2 месяца, то не лезь в это.
    Ответ написан
    75 комментариев
  • Какие области в веб - разработке осваивать в перспективе?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Надеюсь, вопрос закроют как дубль. Потому что ну сколько можно уже. "Я ничего не знаю, ни к чему душа особо не лежит, но хочу быть молодым перспективным владельцем стартапов, газет, пароходов поэтому скажите мне какой язык программирования делает людей богатыми и успешными. но только чтобы особо напрягаться не нужно было!"
    Ответ написан
    4 комментария
  • "localstorage" или cookie?

    Ivanq
    @Ivanq
    Знаю php, js, html, css
    Плюсы:
    localStorage отключить нельзя.
    localStorage будет жить вечно, если только вы или пользователь не удалите (или комп не сгорит ) ).
    Использовать localStorage проще
    document.cookie = "a=b"; // Добавляем куки
    document.cookie = "a="; // Удаляем куки
    // ??? Скачиваем функцию для получения куки
    
    localStorage.addItem("a", "b");
    localStorage.removeItem("a");
    localStorage.getItem("a");
    // или
    localStorage.a;


    Минусы:
    Работает как cookie, только с сервера ставить нельзя.
    Для получение с сервака нужно в запросе передавать.
    Ответ написан
    2 комментария
  • Насколько у меня правильный код ООП php?

    Kwisatz
    @Kwisatz
    Больше web-приложений, хороших и разных
    Основные ошибки уже указали выше. Кроме того пишите классы с большой буквы. И класс лучше называть Connector а не connect. Вы работаете с объектами.

    Вам важно понять что ООП вырос не просто так. Одни из основных целей это ускорение разработки и простота поддержки. Ваш код должен быть написано таким образом, чтобы легко манипулировать объектами. Упрощенно $lion->eat($meat); Просто, понятно, коротко 8)

    Кроме того по ошибкам выше. Почитайте про DataMapper/ActiveRecord
    Ответ написан
    Комментировать
  • Насколько у меня правильный код ООП php?

    @D3lphi
    Здесь плохо всё, к сожалению.

    Начнем с того, что вы неверно наследуете классы. Почему у вас класс, отвечающий за подключение к базе данных является родителем класса, работающим с заказами? Наследование применяется, если можно сказать, что что-то является чем-то. Например, разработчик является работником; компьютер является устройством и тд. Здесь же у вас вообще близко такой логике не получится следовать. Вы должны передавать хотя бы объект для работы с бд через инъекцию, например, в конструктор. В идеале, нужно использовать паттерн репозиторий для работы с базой данных.

    Класс SearchOrder у вас не только выполняет запросы, но еще и работает с данными, хранит состояние этих самых данных, фильтрует данные (strip_tags()). Непорядок. Это все нужно разделять. У вас вообще получаются какие-то богообъекты, которые умеют во все.

    Вы каждый раз повторяете строки с подготовкой запроса, биндингом параметров, отправкой запроса и тд. Не думали, что неплохо бы было написать какую-нибудь обертку и выполнять запросы как-нибудь так:
    $result = $wrapper->select("SELECT * FROM `tablename` WHERE `id` = :id", ['id' => 5]);

    ?

    Вы вызываете connect() в методах. То есть, каждый вызов этого метода будет приводить к установке нового соединения с базой данных, даже если оно уже было установлено. Соединение с базой данных это достаточно дорогостоящая операция.

    Зачем вы используете свойства, если можно обойтись обычными локальными переменными:
    $this->orderID = (int) strip_tags($orderID);
    $this->column = (string) strip_tags($column);
    $this->value = (string) strip_tags($value);

    ?

    Почему вы стриппите тэги у идентификатора? вы настолько не уверены в том, что влетает в функцию:
    strip_tags($orderID);
    ?

    Если вы не используете php 7 и, как следствие, скалярный тайпхинтинг, то должны делать проверки на тип входящего аргумента. Если что-то не так с типом, бросаем исключение (А не приводим его к нужному)! Например:
    if (!is_string($arg)) {
        throw new InvalidArgumentTypeException('string', $arg);
    }

    Это в идеале. Вы не обязаны это делать, конечно же. Но вот такие проверки делают приложение безопаснее. Хотя, опять же, повторюсь, в 2017 нужно начинать новые проекты на php 7.1+.

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

    Кроме всего прочего, почитайте про стандарты оформления кода. Вы им не следуете.

    Вам пока рано писать такие велосипеды. Судя по всему, у вас нет опыта вообще. Посмотрите готовые решения: фреймворки, ORM, изучите их, хотя бы поверхностно разберитесь, как оно работает и уже потом пробуйте что-то сделать, исходя из полученных знаний.

    Желаю успехов!
    Ответ написан
    1 комментарий
  • Как совместить Node.JS и PHP?

    mashletov
    @mashletov
    Math.random()
    Хочу купить трактор. Вопросы
    1) Можно ли на тракторе использовать колёса от ВАЗ2109?
    2) Если можно использовать колеса от ВАЗ2109, то как сделать так чтобы одно колесо было от лады другое — от трактора.
    3) Есть ли вариант использовать пожарную машину?
    Ответ написан
    Комментировать
  • Да что же такое MVC?

    trevoga_su
    @trevoga_su
    Про MVC, доходчиво - www.phpinfo.su/articles/theory/model_view_controll...

    А совет тебе один - с твоим мизерным опытом забудь пока об ООП и уж тем более об МВС (эту МВС все трактуют как хотят и она как фантом - все говорят, но никто не видел).
    Ты к ООП сам придешь, потом, позже. Понимание ООП приходит как половое созревание, медленно и как единственно верный путь в программировании. Сейчас изучай сначала азы, пиши больше кода и забудь обо всех этих умных словечках. В реализации они очень сложны на самом деле и тебе они сейчас ни к чему.
    Ответ написан
    Комментировать
  • Умное дублирование строки с селектором в 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, чтобы сделать больше дублей последним макросом, выполнив меньше действий
    Ответ написан
    Комментировать
  • Роутинг MVC на php?

    gobananas
    @gobananas
    finishhim.ru
    Просто возьмите klein router или aura router разберите его по кусочкам весь, посмотрите что куда идёт, как почему и вам станет всё понятно.
    И ещё ООП роутер != MVC приложение. Можно крутой роутер поставить а дальше наговнокодить.
    Ответ написан
    Комментировать
  • Зачем использовать REST API когда можно все в ручному сделать?

    bitver
    @bitver
    REST это лишь рекомендация, чтобы вас другие потом поняли. Использование json в REST не противоречит принципам REST, многие даже путают одно с другим, хотя это как сравнивать камень с маслом.
    Ответ написан
    Комментировать
  • "localstorage" или cookie?

    @triton
    К уже написанному выше дополню:

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

    Еще учтите, что в safari есть специальный режим при котором любая попытка записать что-либо в localStorage будет приводить к скриптовой ошибке. Этим режимом не часто но пользуются, так что лучше добавить обработку этой ошибки.

    А так, пользуйтесь тем, что лучше подходит.
    Ответ написан
    Комментировать
  • "localstorage" или cookie?

    Apathetic
    @Apathetic
    Frontend
    На самом деле всё просто. Куки - для сервера, локалсторадж - для клиента. Если информация, которую вы собираетесь хранить, нужна только на клиенте - нет никакого смысла в том, чтобы гонять куки туда-сюда при каждом запросе к серверу. Если какая-то информация нужна постоянно серверу - используйте куки.
    Кроме того, а куки 4кб выделяется, на localStorage - 5 мб.
    Подводных камней нет никаких, если нет необходимости поддерживать старые ие - используйте смело. caniuse.com/#search=localstorage

    Что касается отключения: пользователь может превентивно запретить использование localStorage. На практике с таким не сталкивался, думаю, что целенаправленно этим занимаются еще реже, чем отключением cookies.
    Ответ написан
    5 комментариев
  • Постраничная навигация php + Mysql?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    АААААААААА, опять открылись врата ада, разверзлись шлюзы говнокода и потекли реки нечистот на просторы тостера...
    Ответ написан
    Комментировать