• Как убедить начальство отказаться от велосипедов?

    Matvey-Kuk
    @Matvey-Kuk
    Разработчик в Cisco, CA.
    Уходить.
    Ответ написан
    Комментировать
  • JS API и REST API - это разные понятия?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    1. REST не имеет ни какого отношения к CURL.
    2. Устоявшегося понятия JS API не существует, оно сложилось исключительно у Вас в голове.
    3. Противоположностью REST (и STATEless) есть STATEful, т.е. связь без состояния и с состоянием. Без состояния каждый запрос отдельный и не переводит сервер в другое состояние, не переводит само соединение (или сессию) в состояние и не переводит клиента в другое состояние. На самом деле, практически все, что называется REST им не является, см. мою статью habrahabr.ru/post/204958
    4. Скорее всего Вы хотите спросить про противопоставление HTTP API и RPC API. В отличие от HTTP API (которое обычно называют по незнанию или запудрпенности мозгов REST API) удаленный вызов процедур (RPC API) для можно делать на базе TCP, UDP, TLS или эмулировать для веба на WebSocket или HTTP+SSE или других протоколах.
    Ответ написан
    2 комментария
  • JS API и REST API - это разные понятия?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Вы путаете теплое с мягким.
    REST - это методология, работа с таким апи может быть реализована на любых технологиях (включая js), реализация на стороне сервера - тоже.
    JS API - это уже конкретная реализация клиентской библиотеки. На сервере, с которым работает эта библиотека, при этом может быть REST апи.
    Ответ написан
    2 комментария
  • Да что же такое MVC?

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

    А совет тебе один - с твоим мизерным опытом забудь пока об ООП и уж тем более об МВС (эту МВС все трактуют как хотят и она как фантом - все говорят, но никто не видел).
    Ты к ООП сам придешь, потом, позже. Понимание ООП приходит как половое созревание, медленно и как единственно верный путь в программировании. Сейчас изучай сначала азы, пиши больше кода и забудь обо всех этих умных словечках. В реализации они очень сложны на самом деле и тебе они сейчас ни к чему.
    Ответ написан
    Комментировать
  • Где существует место (группа вк?) по поиску единомышленников, готовых взяться за работу над стартапом исключительно ради своего портфолио и за идею?

    newross
    @newross
    Product owner
    На таких условиях ищите у себя в универе среди студентов.

    "концепт на бумаге" - это ничто. Представляете сколько аналогичных предложений поработать за идею получает нормальный специалист? А сколько вокруг работы, за которую платят? Выбор далеко не в вашу пользу.
    Другое дело, когда за продукт, существующий в качестве концепта, уже готовы платить. Собираете деньги с клиентов, добавляете своих или инвестиционных (когда есть платящий клиент инвестируют в проект охотно) и нанимаете спецов.

    Уберите из своего лексикона "этот проект будет огромным плюсом для твоего портфолио" и ее вариации. Как только вы ее говорите, адекватные специалисты разворачиваются и уходят.
    Ответ написан
    3 комментария
  • Где найти туториалы на русском по игровым движкам?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Учите уже английский. Поймите, 90% обучающего контента на русском вообще нет и не бывает.
    Ответ написан
    1 комментарий
  • Этого фильтра достаточно?

    Пора бы уже использовать какой нибудь класс обертку для MySQL, например PHP-MySQLi-Database-Class
    Ответ написан
    4 комментария
  • Книга по php для не новичка?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    Немножко дополню Назара:

    > но так и не научившегося писать чистый и красивый код

    Р. Мартин - Чистый код. Создание, анализ и рефакторинг

    > применять такие крутые штуки как namespaces, MVC, ООП, Singleton и пр.

    Мэтт Зандстра - PHP. Объекты, шаблоны и методики программирования
    Э. Фримен, Э. Фримен, К. Сьерра, Б. Бейтс - Паттерны проектирования
    Ответ написан
    3 комментария
  • Дистрибутив после Ubuntu?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    gentoo, lfs, slackware

    А вообще - дистрибутив - это просто некий набор программ и удобный механизм установки и обновления. Все. Вы свои задачи на ubuntu решаете? все работает? Если да - то не занимайтесь ерундой. Вообще можно достаточно просто попробовать - возьмите и какую нить следующую задачу решите не в рамках убунту, а на чем нить другом, поставив это все в виртуалку.
    Ответ написан
    4 комментария
  • Какую предоплату давать исполнителю?

    sim3x
    @sim3x
    Деньги не есть мотивация
    Деньги - еквивалент труда

    Оплата всегда есть компромисное решение двух сторон

    Общего решения для всех - нет
    Ответ написан
    1 комментарий
  • Как вы обрабатываете GET запросы?

    Denormalization
    @Denormalization
    Ужс..
    Это даже не индусокод...

    Используй type cast (int) + mysqli + prepared statements.

    Убери эту лапшу из if'ов.
    Просто используй:
    $category_id = (int)arr_get($_GET, 'category', 1);
    $id = (int)arr_get($_GET, 'id', 0);
    
    function arr_get(array $array, $key, $default = null) {
        return isset($array[$key]) ? $array[$key] : $default;
    }
    Ответ написан
  • PSR, как быть с однострочными условиями?

    Denormalization
    @Denormalization
    PHPStorm с настройками PSR-2 обрамляет в {} однострочные выражения. Т.е:
    if ($a) {
        return $b; 
    }


    Так что думаю лучше обрамлять.
    Ответ написан
    1 комментарий
  • Как развиваться в программировании, если мотивируют только деньги?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Хотите денег - делайте себе имя. Пилите вещи для опенсорса (гитхаб и подобное)/демки и какие-нибудь статьи (с этим чуть посложнее, ибо нужен норм английский, либо можно писать по-русски и потом переводить с чьей то помощью). Параллельно с этим будете получать заказы на фрилансе (клиенты сами будут на вас выходить) для повышения квалификации, портфолио и естественно получения адекватных денег. В отличии от стандартной офисной работы в снг, рост тут далеко не линейный. В снг офисе (не компании топ уровня, хотя и там не уверен что все сладко) зачастую с трудом можно получать прибавку в 10-30% раз в 4-12 месяцев, а иногда вообще единственный способ повышения зп это переход в офис другой компании. На том фрилансе, который я описал выше, никто не мешает повышать часовой рейт по 5 баксов каждый раз после выполнения 1/2 проектов. 3 месяца назад стартовал с 30, сейчас веду проекты по 35, следующие будут по 40. К концу года планирую дойти до 50+.
    Ну а если фриланс вам не интересен в долгосрочной перспективе, то имея за плечами некий вклад в коммьюнити и неплохое портфолио, будет не особо тяжело найти работу в какой-нибудь зарубежной компании.
    Ну и само собой вам надо быть хорошим специалистом :)
    Ответ написан
    6 комментариев
  • Как развиваться в программировании, если мотивируют только деньги?

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

    @heartdevil
    плыву как воздушный шарик
    Мне 27 лет если что.


    Ни че се старикан)).

    Мне 30, если что). И тоже все потихоньку изучаю). Я понял, что Intrinsic Challenge, лучше чем Extrinsic. Нужно привыкнуть выходить из зоны комфорта. А иначе эта работа ничем от работы на заводе за станком не отличается).

    Мотивируйте себя. Старайтесь придумывать свои проекты и работать над ними. Причем работайте не в одном направлении, а в нескольких.
    Ответ написан
  • Чат на socket.Логика отправки сообщений?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Чем отличаются TCPсокеты (которые я сейчас использую) от WebSockets,что лучше?


    websockets - это протокол, который позволяет вам организовать соединение с сервером. websockets работают поверх TCP и это единственный способ открыть двусторонний канал с сервером (ну как... еще WebRTC предоставляет P2P каналы, но это чуть другая плюшка).

    откуда мы аяксом дергаем данные в скрипт.

    смысл тогда в сокетах?

    Можно ли обойтись без аякса,реализовать это через сокеты?

    websockets и есть ответ на ваш вопрос.
    Ответ написан
    1 комментарий
  • Чат на socket.Логика отправки сообщений?

    DevMan
    @DevMan
    Можно ли обойтись без аякса,реализовать это через сокеты?
    чтоб что-то отправить в сокет вам нужно это как-то получить из браузера.

    Чем отличаются TCPсокеты (которые я сейчас использую) от WebSockets,что лучше?
    что лучше зависит от задачи.
    по отличиям можете почитать:
    stackoverflow.com/questions/2681267/what-is-the-fu...
    stackoverflow.com/questions/16945345/differences-b...
    eng.kifi.com/websockets-vs-regular-sockets
    Ответ написан
    Комментировать
  • Причина в неправильном синтаксисе?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    У вас намешан php код и html.
    <?php while ($row = mysql_fetch_assoc($result)): ?>
        <h1><?= $row['title'] ?></h1>
        <p><?= $row['text'] ?><p>
        <p>Дата публикации: <?= $row['date'] ?></p><p><?= $row['time'] ?></p>
        <p>Автор: <?= $row['author'] ?>
    <?php endwhile ?>


    я сам знаю то что ошибка в чем
    В золотой фонд.
    Ответ написан
    Комментировать
  • Статический или не статический метод?

    @djay
    Статика - это глобальное состояние. Статический метод или статическая переменная абсолютно ничем не отличаются от глобальной переменной, потому что, ни статика ни глобальная переменная не были переданны в качестве аргументов нигде и никак, а значит поступают из глобального пространства.

    Чем статика может быть опасна?
    Представь, что ты пишешь утилиту для загрузки изображений. И вот наступил момент, когда нужно указывать параметры обрезки для превьюшек. Со статикой это может выглядеть так:

    public function upload()
    {
         $width = Config::read('width');
         $height = Config::read('height');
         // .. Do upload..
    }

    (На заметку CakePHP кишит такими подходами)
    Проблемы такого подхода?

    1. Нужно знать и быть точно уверенным, что статичный класс Config, был где-то там далеко инициализирован. А вдруг он не был инициализированным?

    2. А что если ты решишь сменить источник конфига? Например читать, это все не из класса `Config` а откуда-нибудь из REST? Придется все переписывать, затем опять тестировать. Эта проблема известна как сильная связка.

    3. Попробуй написать юнит тест для такого, без хаков и изращенных костылей. Ведь для того чтобы протестировать этот метод, нам нужно где-то там в глобальном пространстве инициализировать `Config`, затем убедится что он работает.

    4. Скрытые зависимости.

    Например инициализуруя класс, в случае статики:

    $uploader = new Uploader();
    $uploader->upload(...);


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

    Но тогда почему такие популярные фреймворки как Yii или Laravel полностью покрыты статикой?

    Для того чтобы понять какие последствия несет статика, попробуй воспользоватся хоть одним компонентом Yii фреймворка отдельно. Например, если тебе нужна только CAPTCHA ты не сможешь её вытащить оттуда не переписав почти весь компонент, потому что везде внутри присутвует глобальное состояние, в виде `Yii::$app->`. То есть чтобы воспользоватся только капчей, придется подключать весь фреймворк и все его внутренние механизмы, когда это абсолютно не нужно.

    Что касается Laravel, то статики там меньше, поскольку некоторые компоненты, вроде Eloquent могут использоватся по отдельности. Статика в ларе, она существует как обёртка, но не как реализация, во многих местах в отличии от Yii.

    И отвечая почему - потому авторов либо их не заботит кристально чистая тестируемость, либо слабая связка, ну или потому что опыта не хватает чтобы писать чистый и поддерживаемый код.

    Вообще посмотри, как задачи решаются в Zend / Symfony
    Там почти везде все зависимости передаются в качестве аргументов, что есть хорошо, слабо связано, и тестируемо.
    Ответ написан
    5 комментариев
  • Есть ли смысл переходить на Ubuntu?

    sim3x
    @sim3x
    Сильного ускорения не получишь
    30 вкладок не откроешь
    Улучшение, только за счет удобства bash и других тулз из линукса

    Стоит добавить хотя б еще 2гб памяти
    Ответ написан
    Комментировать