• Переход из openstack админов в амазон?

    sim3x
    @sim3x
    По факту две стратегии поведения -

    очень трудно найти нормальную документацию по платформе
    писать документацию, скорее всего долго и бесплатно

    Может сразу идти учится у первоисточника?
    или присоединится к лидеру

    И ваш выбор "куда пойти" вы уже скорее всего сделали

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

    Melkij
    @Melkij
    PostgreSQL DBA
    Настраиваете потоковую репликацию, через pg_basebackup снимаете копию, запускаете как реплику. Когда догонит ведующую базу выключаете мастер и повышаете реплику до нового мастера.
    Даунтайм минута вне зависимости от объёма данных. Ну может ещё минута если понадобится рестарт мастера из-за смены wal_level, listen_addresses или max_wal_senders

    https://wiki.postgresql.org/wiki/Streaming_Replication
    Ответ написан
    Комментировать
  • Стоит ли изучать Symfony?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    не составит труда, если изначально все было спроектировано правильно.

    И тут приходим к тому что нужно учить не фреймворк, он тут много погоды не делает (хотя в Symfony чуть сложнее накосячить, хотя всегда можно сделать ужасно). Так же есть определенные нюансы. Скажем если вы захотите проникнуться настоящим феншуем, DDD всякими и т.д. придется отказаться от MySQL в пользу PostgreSQL (если конечно вы не работаете с ораклами какими, в mysql все плохо с автоинкрементами, что накладывает определенные ограничения при работе с Doctrine и заставляет писать кучу лишнего бойлерплейта что бы все было красиво, хотя этот бойлерплейт можно реюзать).

    По сути единственная разница между приложениями на Laravel и Symfony - ORM идущая из коробки (как бы все можно подменить под себя). Все остальное - минимальные различия. А с нормальным ORM (а в PHP мире она пока одна - Doctrine) уже можно делать дела красиво и эффективно с точки зрения трудозатрат. Но даже с ActiveRecord можно жить и не тужить.

    Словом, я не знаю что вы хотите получить от Symfony, по сути переход с одного фреймворка на другой вам мало чего даст.

    Прочитал много мнений о том что Laravel намного быстрее работает чем Symfony.

    Вот этот параметр просто не учитывайте. Как минимум Laravel основан на компонентах Symfony и единственное узкое место, которое явно работает медленнее это Doctrine ORM, но та гибкость которую она дает слихвой оправдывает прожерливость. Да и смысл вообще по этому поводу загоняться этом есть только на больших нагрузках, а так вы с большей вероятностью убьете производительность не расставив где надо индексы в базе.

    подскажите правильный путь

    А правильного нет. Каждый сам свой путь выбирает. Хотите развиваться? Читайте книги. Кента Бэка почитайте, Эрика Эванса и других персонажей... Расширяйте кругозор, а далее что понравится. А да, не ограничивайтесь книгами только для программистов. Почитайте чего по процессам разработки (чего-нибудь про скрамы, канбаны, лины, континиус импрувмент).
    Ответ написан
    4 комментария
  • Как реализовать программу?

    Therapyx
    @Therapyx
    Data Science
    Ключевые слова:
    - Обьектно-ориентированный анализ и дизайн
    - UML
    - Use case's
    - Class Diagramm
    Гайд на скорую руку тык

    На эту тему есть конечно же много книг. В зависимости от состояния проета используются разные методы. Иначе же на этот вопрос нельзя конкретно ответить.
    Ответ написан
    Комментировать
  • Как прекратить создавать объекты классов?

    @Vasiliy_M
    Очевидно, что Database() можно вынести в отдельную модель, типа ActiveRecord
    объект для работы с СУБД никоим образом не относится к паттерну AR. AR не должна наследоваться от объекта СУБД.

    и просто наследовать её
    https://refactoring.guru/ru/replace-inheritance-wi...

    Мне не комфортно, что приходится создавать объект в __construct, чтобы пользоваться им в классе.
    это ваши проблемы. точнее это вообще не проблема, что в конструкторе создаются объекты.
    учитесь мыслить независимыми объектами. учитесь складывать из кирпичиков механизм, в котором нет жёсткой связанности. приведенный код как раз это и обеспечивает.

    Здравствуйте, решил все-таки научиться хоть немного программировать по-взрослому
    прочти хотя бы 1/3 этой книги
    Ответ написан
    Комментировать
  • Зачем используется две бд PostgresSQL и MongoDB/Redis?

    @InoMono
    Для разных целей - свои плюсы минусы. Если для ваших нагрузок хорош MySQL - то и не забивайте себе голову.

    С Монгой или Постгресом сайт ваш не станет сам себя создавать все равно. А вот лишнего гемору много.

    Ситуации когда этот лишний гемор того стоит - в этих двух видео прекрасно на свои места расставляется.

    https://junior.highload.ru/2016/abstracts/2075.html

    https://youtu.be/SNzOZKvFZ68

    Если у вас не ХайЛоад с распределением базы на десятки и больше серверов кластера - вам вполне достаточно РСУБД (MySQL, Postgres). И никаких проблем с консистентностью.
    Если хочется schemaless решение чтобы с миграциями не париться - то обратите внимание на JSONB в Postgres. Автор доклада на Хайлоад про это все тот же О.Бартунов.
    Вполне может что вам понадобится БД работающая с БД в памяти - Redis, Tarantool, Aerospike.
    Но Монго - это хорошо для кластеров.
    Ответ написан
    6 комментариев
  • Как лучше организовать классы и методы?

    @Kostik_1993
    Web Developer
    Вам самому не кажется что это дно? Используйте роутер какой-нибудь нормальный и не костыльте херню вида path to controller
    Ответ написан
    3 комментария
  • Как правильно реализовать модель в Symfony2 на базе MVC?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Модель в ключе MVC Это просто собирательное от бизнес логики скорее. По сути в Symfony вся логика должна храниться в сервисах.

    Entity — это просто как структура данных, сама она логикой тоже может обладать, но минимально, так как ей не доступны сервисы.

    Model в контексте форм — это что-то типа Data transfer object, то бишь некий объект, который содержит данные в нужном формате. В большинстве случаев моделью для форм являются сущности.

    Контроллеры это просто контроллеры, тут все раскрыто довольно хорошо в документации.

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

    amux
    @amux
    alp.ac
    https://cloudcannon.com/deconstructions/2014/11/15...

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

    @anton99zel
    29а класс средней школы №7
    А про https://bitbucket.org/ забыли?
    Насоздавал себе проекты, поставил задачки, отметил важное не важное, документацию написал сам себе))
    Ответ написан
    3 комментария
  • Какой таск-менеджер выбрать программисту?

    Я юзаю YouTrack - его можно поставить в рамках локальной сети бесплатно. Отличная штука, мне лично по функционалу (простоте), нравится в разы больше Jira.
    Ответ написан
    Комментировать
  • Можно ли подключать только отдельные элементы bootstrap?

    OKyJIucT
    @OKyJIucT
    Sunshine reggae
    В разделе "Customize" можете галочками выбрать нужные элементы и скачать только их
    Ответ написан
    7 комментариев
  • Градация уровня знаний в языках программирования. Каковы различия и требования?

    @Vasiliy_M
    Как известно есть Junior, Middle и Senior.
    Кому известно? Где? Это херню придумали рабовладельцы, что бы зп снижать программистам, что бы можно было создать ирархию, как в армии, с лычками. Все эти деления - условности. В рельной жизни такого почти нет.

    Программистов можно разделить на новичков и с опытом. Все. Разницы больше нет. У одного больше знаний в одном, у другого в другом. Не бывает супер-мега программистов. Любой человек, умеющий думать, в состоянии найти ответ на вопрос или выучить язык/технологию при желани. У меня рядом сидит коллега, он скептически относится к фреймворкам, но эксперт в Битриксе. А я Битрикс не знаю. Кто он? Кто я?

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

    mak_ufo
    @mak_ufo
    Изучите промисы

    function do() {
      return new Promise((res, rej) => {
          getUrl(() => {
              const a = 5;
              res(a);
          })
      })
    }
    
    do().then(res => console.log(res));
    Ответ написан
    Комментировать
  • Как правильно начать карьеру фронт-ендера с фриланса?

    @InoMono
    Начать карьеру с фриленса - плохая идея.
    1) Получаем крайне низкий рост квалификации
    2) Получаем потолок роста
    3) Получаем дичайшую конкуренцию фактически "за еду". Ибо в нижнем сегменте фриленса - все переполенно.
    Ответ написан
    6 комментариев
  • Как рассчитать объемы серверных мощностей для социальной сети?

    @InoMono
    Вот как раз что именно для успешной соц. сети и смысла нет сразу.
    Имеет смысл докупать мощности по мере роста сети.

    Ибо разница очень и очень велика на начальном этапе и то что будет через год-два. Ну это если проект "взлетит" конечно. Это я в предположении, что инвесторов не интересует невзлетающие проекты. Значит, рассчитываем на то, что н взлетит.

    Кроме того, если вы разработчики - то вам самим следует это знать.

    Если вы способны создать крайне эффективный проект, то:

    StackOverflow буквально несколько лет назад уже был известным и раскрученным на весь мир проектом. Наверное самым известным среди проектов подобного рода. И все миллионы пользователей, которые активно пишет на нем и активно читают - обслуживало всего навсего 2 сервера, под фронтенд и СУБД (не считая резервных/репликационных, само собой). Это были сервера на неплохом железе, но не дорогие. Поищите в сети, есть подробности.

    Вдумайтесь, весь мир, миллионы посетителей, активные пользователи, нагружающие СУБД операции поиска и записи. И всего пара серверов.

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

    ---------

    Оцените масштаб и необходимая скорость реагирования на рост.

    1. Если вы прям серьезно хотите, то вам в микросервисную архитектуру (Kubernetes вам в помощь) и в облака.
    2. Однако я полагаю, что первые пару лет посетителей не будет много. Поэтому начать можно вполне себе с VDS просто переключая тариф на постарше и постарше. Это копейки. Единственно, что я сразу бы вынес картинки/видео в облака, это очень удобно и не заботишься ни о месте на диске не о конфигурировании ПО. Использовать для этого специализированные сервисы: Openstack Swift (много хостеров), Google Storage, AWS S3 и т.п. При вынесении подобной тяжелой вещи с сервера - движок будет совершенно не требовательным.

    ---------

    Вам тут в соседнем посте правильно ответили:

    Стоимость разработки и раскрутки этой хрени огромна на фоне стоимости серверов.
    Сервера - копейки стоят.

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

    А так то расходы на команду в неделю могут быть больше чем за все сервера за год.
    В течение первых лет пяти раскрутки.

    И только по мере стабилизации сети, меньших объемов работ, но большей масштабности серверов - стоимость серверов будет превышать стоимость услуг людей.

    ---------

    Если бы я начал этот проект сам:
    то заложил бы на первый год сумму 6000 рублей в месяц на два сервера (основной и репликацию, движок и БД на одной машине, картинки/видео на отдельном облачном сервисе). Причем это VDS, а не выделенный сервер.
    На второй год 40 000 рублей в месяц (два кластера по 3 сервера в каждом).
    Начиная с третьего года ушел бы в облака.
    Там, полагаю, ценник был бы на уровне 30 000 - 60 000 рублей в месяц первое время.
    С четвертого года рассчитывал бы на 90 000 - 180 000 расходов в месяц.
    После этого начал бы подумывать, не уйти ли с облаков на свою инфраструктуру.

    Но это про мою гипотетическую архитектуру.
    Возможно у вас другая цель и другая архитектура.

    ---------------

    Как считать:

    Прикидываем количество пользователей.
    Прикидываем объемы генерируемого ими контента (причем это и фото и видео и сообщения и технические логи тоже не забыть, их немало)
    Умножаем на 3 (в серьезных системах нужно двойное реплицирование: оригинал и 2 копии)
    И добавляем еще 1 копию под разработку и "ранний доступ к бете", сплит-тестирование и пр.
    Дальше тут уже зависит от вашей архитектуры. Как я уже писал микросервисная архитектура хороша для взрывного роста, но довольно требовательна при небольшой нагрузе. Если вы прям не на 100% уверены в взрывном росте - лучше от нее отказаться, она и в разработке и в поддержке геморнее. Но зато масштабируется классно, это у нее не отнять.
    Дальше, если это будет на весь мир - нужно подумать насчет пары-тройки кластеров разной географии.

    -----------------

    Если у вас нет информации об количестве пользователей и объемах генерируемого ими контента - говорить тут конкретику невозможно.
    Ответ написан
    Комментировать
  • Как вы оцениваете вклад проект менеджмента и маркетинга в компании по отношению к разработке?

    @InoMono
    Слышал различные мнения по этому поводу, от "маркетинг важнее производства", до "50/50" и ниже.


    Зависит от того - что именно вы производите:

    Если вы производите простые зубные щетки - маркетинг не важен. Важна минимизация цены на производстве, дешевая логистика и тп.
    Если вы решите производить "премиальные" зубные щетки, то вам нужно будет объяснить потенциальным покупателям как именно щетина ваших щеток позволит им выигрывать в лотерею, например.
    Если же ваша щетка - это самолет, и ваше имя Боинг, то конкурентов у вас по всему миру - ну 2-3-4 фирмы. Маркетинг тут чисто условный.
    Если же вы собрались представить миру новый супер проект, вложили миллиард (ну что то вроде первых iPhone) - разумеется вы не захотите рисковать весь вложенный миллиард просрать. И весь проект будет хорошо согласован с маркетингом.

    То есть ситуации с важностью маркетинга в каждом конкретном случае есть разные - вплоть до противоположенных.

    Понимаю что бывает по разному, много факторов, но предлагаю взять за реальный или выдуманный пример компанию веб-разработки до 10 человек.


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

    По поводу менджмента не все так просто.

    Но если фирма наприрает на схему - дешевые разработчики, много. Да, тут нужно хороших менеджеров-погонщиков иметь.

    Приходилось работать на обеспечении Олимпиады в Сочи. Так вот там принята эта схема, западная (несмотря на то, что конечные спецы были высоковалифицированными админами, но масштабность проектов - обязывала) - число менеджеров всех уровней, думается, превышало число конечных специалистов раза в три. И это тоже отлично работает.

    Если же вы полагаетесь на специалиста-разработчика. Если его квалификация высока, если он достаточно обязателен, а вы не боитесь получить от него полную зависимость (bus factor) - можно минимизировать менеджерскую составляющую. Что уменьшит и себестомость вашу. Но поднимет риски.

    То есть и с менеджментом есть в корне различные варианты.
    Ответ написан
    Комментировать
  • Как заказчик сайта понимает, что сайт сделан на крутом фреймворке, а не на дерьмовой CMS?

    Предыдущий ответ мне показался вообще не по теме, поэтому отвечу тоже.

    У вас немного не в ту степь вопрос. Вы пытаетесь спросить что-то типа: зачем за 100к мне пилить человеку сайт на yii если я могу отдать фрилансерам за 30к и 70к положить себе в карман?

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

    Если речь идет о каком-то простеньком сайте на 5 страниц, то человек выберет вордпресс, потом зайдет в админку и поймет что это вордпресс.

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

    Обратите внимание на ответ Максим Федоров , который вам дали в комментариях, примерно об этом и идет речь. Дело не в том, сколько и за что вам заплатят, а в том, что человек знает какие задачи должен выполнять проект и делает выбор в пользу того или иного инструмента.
    Ответ написан
    Комментировать
  • Что за ошибки вылезли на сайте?

    OKyJIucT
    @OKyJIucT
    Sunshine reggae
    Это print_r выводит содержимое массива. 224 строка.
    Ответ написан
    5 комментариев