• Умеет ли postgres в асинхронные запросы?

    @kuftachev
    БД держит определенное количество соединений в зависимости от настроек и мощности сервера, а дальше нужно или нормально изучать БД, чтобы понимать как там все устроено, или не париться и знать что там работают умные люди и они разбируться.

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

    @kuftachev
    Не знаю откуда взялось глупое мнение, что реально делать сайт с помощью CMS быстрее и, соответственно, дешевле?

    Это может быть выгодно, когда люди берут какую-то тему за 12-40$ из чистого говна и натягивают на систему. Потом, если никто не будет заходить, то можно считать, что работает ок.

    Если это не блог "Я и моя кошка", то потом при любой доработке придется решать тонну проблем, которые не придется решать при нормальной разработке. И если люди хотят за сайт на условном WordPress не чизбургер, а нормальные деньги, то скорее всего, ещё и сама нормальная разработка не будет стоить дороже, так как у людей есть свои наработки.
    Ответ написан
    Комментировать
  • Как определяют стоимость разработки?

    @kuftachev
    А посещаемость предполагается определять с помощью магического шара?

    Если сайт ещё не готов, то не вижу другого способа определить его посещаемость. (Про потенциальную нагрузку уже писали, но это другое).

    Правда в том, что каждый продает себя как умеет. Знаменитая история со студией Лебедева, когда сделали какашечный логотип за 1 млн. руб.

    Стоимость мало коррелируется с качеством или сложностью, во всяком случае не кругах ИТ проектах разница может достигать десятков раз просто потому, что кто-то готов работать за еду, а кто-то не хочет здороваться за меньше 1000$.
    Ответ написан
    Комментировать
  • Как подружить сайт на ReactJS с поисковыми роботами?

    @kuftachev
    Я бы начал с самого простого, у самого поисковика можно посмотреть как робот видит страницу.

    Я смотрел, когда выбирал между Angular и Vue. У второго все было видно, а у первого только пустые блоки с разметкой.
    Ответ написан
    Комментировать
  • Актуальные книги по js?

    @kuftachev
    Какие книжки по js? Там все меняется быстрее, чем работают топографические станки!

    Есть лучший русскоязычный ресурс - это https://learn.javascript.ru , а также https://developer.mozilla.org/ru/ , тут что-то есть на русском, а что-то непереведено.

    А дальше уже документации фреймворка, какой нравится, если это Vue.js, конечно ))) Хотя и Angular не плох.
    Ответ написан
    3 комментария
  • Как сделать роутинг не на mvc ( интереса ради )?

    @kuftachev
    У Laravel хороший роутинг, если вы реально хотите понять, как устроено, то можете полезть туда и покапаться.

    Роутинг вообще никак не связан ни с MVC, ни с ООП. Это просто какая-то структура данных, в зависимости от языка программирования, в PHP, естественно, массив в которой с одной стороны пути, а с другой функция, которая ему соответствует. А дальше есть сотни способов как собрать эту структуру, а также, может быть более сложный массив, чтобы хранить и какие-то дополнительные параметры.

    Потом $_SERVER['REQUEST_URI'] и пошла жара )))

    P.S. На днях как раз обсуждали, что современный веб вообще не сильно ООП, так как современный контроллер - это просто сгруппированные функции, а реальный объект.

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

    @kuftachev
    unset($params);
    $params = [.....];

    Я не знаю, будет ли какая-то оптимизация, но если бы выполнить все как есть, то unset говорит, что нужно удалить переменную, а значение удалиться при сборке мусора, потом создаётся новая переменная с таким же именем.

    Если убрать unset, то не будет создаваться новая переменная, просто той же присвоится новое значение, а старое станет недоступно и соберётся ч сборщиком мусора.

    Это все в том случае, если вообще будет сборка мусора до конца скрипта.

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

    @kuftachev
    Проведения (Behavior) нужны для того, чтобы использовать повторяющийся фрагмент кода в разных местах не копирую его каждый раз. Например, сохранение фотографий может быт нужно для аватарки и для обложки статьи.

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

    Компоненты - это обычно какие-то штуки, которые нужно в разных частях приложения, и часто в единичном экземпляре, например, модель мы хотим засунуть как можно в более узкое место, поэтому она не компонент (хотя, по-моему от него тоже наследуется, но не уверен)... Я что-то сходу даже не придумал, для чего в Вашем случае может быть нужен свой компонент, за исключением инфраструктуры фреймворка, типа Запрос, Ответ, Роутинг, Сессии и т.д.

    В итоге:
    Контроллер принимает запрос и переправляет его к слою модели, модель что-то делает и контроллер рендерит представление (view) и отправляет результат.
    Модель, если особой логики нет, то это может быть сама Active Record, если логики много, создаются сервисы, это тоже слой модели, но так получается понятнее код.
    Ответ написан
  • Запрос UPDATE c JOIN, как правильно обновить поля?

    @kuftachev
    "Здравствуйте, совсем мало опыта с sql, а особенно с join. Но нужно сделать запрос в проекте, чтобы поправить данные. "

    Или не правда, что это в проекте, или не подходите туда, пока Вы не понимаете что делаете!
    Ответ написан
    2 комментария
  • Какие ресурсы/книги помогли вам в обучение вёрстке сайтов?

    @kuftachev
    Мне помог для самого начала этот ресурс:
    site-do.ru

    Дальше по вёрстке сказать не могу, так как это не основное, то набирался кусками. С одной стороны, можно посоветовать справочник на webref.ru, просто изучить все элементы, а потом получать практику, но всё-таки так не получится научиться делать это правильно.

    По js однозначно learn.javascript.ru.
    Ответ написан
  • Node js однопоточен, а php многопоточен?

    @kuftachev
    PHP однопоточен, но Nginx или Apache имеет определенное количество воркеров для обработки запросов.

    В Node.js также можно запустить много экемпляров. Вопрос в пониманием того, что Вы делаете.

    Ещё не стоит забывать, что можно использовать очереди для обработки тяжёлых вычислений, например, Вы получаете файл на сервер и ставите в очередь на обработку, а потом в отдельном процессе изменяете размер. Но это только пример, все зависит от задачи.
    Ответ написан
    Комментировать
  • Как правильно проектировать взаимосвязь API и БД?

    @kuftachev
    Есть два подхода Code first и Database first, разные инструменты могут реализовывать один или оба. В первом структура БД определяется кодом, а во втором наоборот.

    Имя поля/столбца можно подменить, но если в место sum будет что-то другое, что это для Вас поменяет?

    А вообще, все зависит от задачи. Могут в БД хранится данные, а потом на уровне сервисов производится преобразования, которые дают данным новое качество. Поэтому учитесь думать не кодом, а задачей, которую Вы решаете.
    Ответ написан
    Комментировать
  • Как присвоить определённому числу из текстового поля определённое строковое имя?

    @kuftachev
    Первое, магические числа - это страшный косяк.

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

    @kuftachev
    Простыми словами, как уже написали, нужно выбирать только по одному критерию, местному рынку труда.

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

    По сути вопроса, все веб фреймворки решают одну и ту же задачу, поэтому абсолютно одно и тоже можно сделать на:
    - Ruby on Rails
    - Codeigniter
    - Yii2
    - Laravel
    - Django
    - Symfony

    И ещё многих других, хотя всё-таки, не считая Java и C# - эти +/- самые популярные. Конечно между ними есть большая разница, но это как огурец и помидор, кому-то может нравиться что-то больше, но по сути, и то, и другое овощ. Поэтому, для первого лучший критерий - это местный рынок труда. Потом за месяц можно нормально освоить какой-то другой, если будет потребность.

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

    Разница между тремя основными в том, что React - это каша, которая основывается на хайпе. Vue имеет свою хорошую инфраструктуру, и в отличии от React, там обычно для всего есть 1-2 стандартных хороших решений, вместо сотен плохих у React, у которого четко только с Redux, но у Vue есть свой Vuex.
    Angular, как мне кажется, лучше для больших проектов с логикой, а не просто CRUD, так как у него структура заложена в архитектуру.

    Удачи с выбором!
    Ответ написан
    1 комментарий
  • Какие есть CMS для java-backend разработчика для фриланса?

    @kuftachev
    Почему Вы думаете, что на фрилансе требования меньше, чем на работе?

    На работе у Вас будут коллеги у которые Вам помогут, а если Вы не проходите собеседование, то почему Вы думаете, что что-то полезное сможете сделать для заказчика?

    Можете попробовать освоить PHP, так как входной порог для первой работы на много ниже, чем для Ява. Ну или фронт-энд, но что-то мне подсказывает, что начать на php проще.
    Ответ написан
    Комментировать
  • Как отфильтровать доступ к API по домену?

    @kuftachev
    Может CORS - это то, что Вам нужно?
    Ответ написан
    Комментировать
  • На чем пишут сайты с кейсами и т.д.?

    @kuftachev
    Я слышал про Java, а вообще нужно понимать что именно там нужно сделать, так как есть онлайн игры и на php написанные, правда знаю про игру другого плана, например ikariam.
    Ответ написан
    Комментировать
  • Как хранить в MySQL периодические данные?

    @kuftachev
    Таблица member и таблица ranking: id, result, month (от задачи нужно понимать как нумеровать, хоть просто число и знать, что 1 - это 7.2015, можно строкой, в одни, от ситуации), member_id.

    Первый запрос вообще элементарный. Второй на SQL хз как, но выбрать за последние три месяца и отсортировать на уровне приложения. Если сильно хорошо подумать, там с несколькими вложенными select может к чему-то прийти и можно, но тут конечно нужно понимать задачу, нагрузку и прочее. Так как можно написать полноценную функцию на SQL, но это уже больше работа для DBA.
    Ответ написан
    Комментировать
  • Какой паттерн или способ использовать, если объект в виде переменной?

    @kuftachev
    Я что-то не сильно из Вашего текста понял, что Вы хотите получить, но возможно речь идёт об Абстрактной фабрике или о Фабричном методе.
    Ответ написан
  • Имея на вооружении Laravel и Yii есть смысл в Ruby (Ruby and Rails)?

    @kuftachev
    Поучить что-то новое всегда имеет смысл!

    Но вопрос в том, что учить. PHP - это лучший серверный язык для веба. Всякие высеры на этот счёт идут со времён PHP 4, сейчас он на 10 голов превосходит Ruby и Python. Он имеет нормальное ООП, инкапсуляцию, при этом исполняется быстрее. Так же, то что Вы уже упомянули, можно положить проект хоть на дешёвый хостинг, если нет нагрузки, то хранить куча сайтов за 5 евро. Уже давно не нужно стесняться PHP.

    У Python есть свои плюсы, но явно не для веба.

    На счёт ЗП, тоже все очень условно. О PHP стереотипы идут от засилия говнокодеров, хороший PHP-шник, который знает что такое ООП, DDD и другие важные вещи получает на уровне с другими программистами.

    Если не для общего развития, а для профессии, я присоединяюсь к совету на счёт штудирования фронта. Vue.js или Angular. Быть full-stack полезнее, чем знать несколько серверных технологий.

    Так же, был хороший совет про Golang, но нужно понимать нужен ли он Вам, где Вы сможете его применить. Но вообще, это сейчас лучший язык, по моему мнению.
    Ответ написан
    4 комментария