• Как правильно реализовать архитектуру CMS для распространения по модели SaaS?

    Sanes
    @Sanes
    Не обязательно делать мультисайтовость на одном экземпляре.
    Можно и как обычный хостинг с доступом только к экземпляру CMS. Я бы так сделал.

    Перестаньте пихать Docker в стек Lamp. Там на уровне пользователей всё прекрасно разруливается с правами.
    Ответ написан
    5 комментариев
  • Как создаются крупные программы (на подобии графических редакторов, офисных программ)?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    А чем плох редактор форм? Что в нём не хватает? Вас наверно волнует вопрос, а как же отображается что-то не входящее в стандартный набор визуальных компонентов? Дело в том, что это стандартный набор, а создавать свои визуальные компоненты ни кто не запрещает. Их могут создавать не визуально, чистым кодом. Можно создавать DesignTime компоненты (те, что отображаются в редакторе форм) и работают точно так же, перетаскиваешь, настраиваешь и прочее. Вы слишком рано задались этим вопросом, не изучив общей теории.

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

    5d9875ff781b9090812944.png
    Эта программа написана мною. Это сервер-менеджер для игры. Он написан на чистом Delphi. В нём я использую мною же написанные визуальные и невизуальные компоненты.

    Есть другой проект, написан на том же языке:
    5d987674d2535012330583.png
    Это "тайм-менеджер" обыкновенный. Здесь и вовсе нет стандартных компонентов (все мои), но он тоже сделан в редакторе форм.

    Редактор форм - это лишь инструмент, позволяющий ускорить процесс разработки, а не ограничитель.
    Ответ написан
    3 комментария
  • Как прибавить год к time()?

    @green_goo
    $date = (new DateTimeImmutable())->setTimestamp(1570390622);
    $datePlusYear = $date->add(new DateInterval('P1Y'));
    echo $date->format('Y-m-d (U)'), ' + 1 year = ', $datePlusYear->format('Y-m-d (U)');
    Ответ написан
    Комментировать
  • В чем суть облачных сервисов?

    DevMan
    @DevMan
    облако - это гибкое управление инфраструктурой.
    автоматическое создание нужных инстансов когда они нужны (и удаление их когда они не нужны) с автоматическими балансерами; изменение параметров сервера налету; беспроблемная миграция между разными локациями; всякие сервер-лесс'ы/и т.п./т.д.
    трендово: потому что люди лепят этот термин зачастую даже не понимая что он значит.
    по факту: хомякам вообще без разницы.
    Ответ написан
    Комментировать
  • С какой должности лучше начать искать работу среднему fullstack программисту, но только на удаленку на постоянной основе?

    20 лет ... универсал среднего уровня

    Все, что нужно знать о фуллстэках.

    С одной стороны мои знания проигрывают и тем и другим программистам.

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

    будешь уже ослабляться как универсал и получить меньше шансов разработать свой проект

    Время одиночек, которые на коленке могли коряво состряпать революционный проект, прошло. Сейчас все - или почти все - делается командами. И потом, чтобы сделать MVP, необязательно хорошо знать все технологии - можно подглядывать в мануал, можно говнокодить, костылить, забить на оптимизацию, это все можно. Ведь если первая версия будет настолько популярной, что будет виден потенциал и появится стимул ее развивать, можно будет найти работников \ партнеров \ инвесторов и постараться выйти на самоокупаемость.
    Ответ написан
    1 комментарий
  • С какой должности лучше начать искать работу среднему fullstack программисту, но только на удаленку на постоянной основе?

    php666
    @php666
    PHP-макака
    Что-то много розовых соплей для человека с 20 (!!) годами опыта. Ощущение, что пишет школьник.

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

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

    А сейчас именно этими идеями живу - написать кое-что для себя - реализовать некоторые идеи для создания opensource проекта. Рутинная работа может убить такую мечту.
    А тут вообще ржака. Работа исполнителя априори рутина, она убивает мечту не только создать свой проект, а лишний раз не дает возможности даже заняться повседневными делами, ибо задача рабочего - вкалывать, а не прохлаждаться. Добро пожаловать в real life. И да. Твой opensource нафиг никому не нужен. И за 20 лет можно было уже что-то написать, что ты всё время это делал - не ясно.
    Ответ написан
    4 комментария
  • Сущесвует ли переводчик текста/Статьей/новостей с помощью ИИ?

    sim3x
    @sim3x
    Нет
    Ответ написан
    Комментировать
  • Насколько крутой php mysqli класс?

    SerafimArts
    @SerafimArts
    Senior Notepad Reader
    Говно.
    1) Я не буду говорить про кодстайл, благо он фиксится одним сочетанием клавиш...
    2) Побочные эффекты (die)
    3) Куча лишних вложенностей (if if if if)
    4) Полностью нарушен принцип open/close (расширяться через наследование? Серьёзно?)
    5) Куча избыточного кода. Например:
    call_user_func_array(array($this->query, 'bind_result'), $params);

    Легко переписывается как:
    $this->query->bind_result(...$params);
    6) Ну и состояние, и его мутабельность, которой не должно быть, конечно же.

    На помойку, короче.
    Ответ написан
    1 комментарий
  • С одного на другой ПК — продолжение работы?

    Alexufo
    @Alexufo
    противоречивый, сложный, весь компьютерный.
    Ну настройте RDP и вопрос решен. Или anydesk
    Ответ написан
    Комментировать
  • Что можете рассказать о LinkedIn?

    @iMaximus
    Лет 5. Работу специально не искал, но она нашла меня сама.
    В итоге переехал в Москву и через 1.5 лет стал получать в 4 раза больше, чем в своем, даже не Мухосранске.
    Сейчас переодически пишут HR, предлагают, в том числе и с релокацией, но пока никуда не собираюсь.
    Ответ написан
    Комментировать
  • Какие самые популярные паттерны проектирования в JavaScript?

    Zoominger
    @Zoominger
    System Integrator
    Copy-Paste.

    Именно этот паттерн вам бы следовало применить к вашему вопросу и поисковой строке Тостера, потому что это уже 100500-ый вопрос на тему паттернов в ЖС.
    Ответ написан
    13 комментариев
  • Какие есть десктопные программы для управления веб-проектами?

    @WSGR
    Хостинг, платежи, безопасность, IT-инфраструктура
    Microsoft Project - самый популярный софт для этого.
    Ответ написан
    3 комментария
  • В какой фриланс-бирже можно начать работать?

    Zoominger
    @Zoominger
    System Integrator
    так заказчик все-равно выбирает самого первого исполнителя, у которого 1000 отзывов и работ)

    Лол, а как вы хотели?
    Добро пожаловать на швабодный фриланс, где не работаешь на дядю (где вообще не работаешь).
    Он немного не такой, как в статеечках на Хаброчке, правда?

    По теме: сидите на фрилансе, делайте работы бесплатно, набивайте портфолио, чтобы тоже было 1000 отзывов и вперёд, рубить миллионы.
    Ответ написан
    3 комментария
  • Набросал структуру классов учебного сайта доски объявлений, как еще лучше распределить функционал?

    h0w4rd
    @h0w4rd
    Python dev.
    1. [класс User] я бы использовал названия "name" и "phone", все-же ясно что это.

    2. [класс MyAdverts] ЗАЧЕМ? Можно сразу впихнуть в UserPersonalPage логику.

    3. [класс AdvertFavorites], зачем? Эти методы в Advert впихнуть НАДО, это к тому классу относится.

    4. [класс UserLoginLogoutService] Переименовать в UserAuthService хотяб. Или убрать методы в обычные функции. ООП ради ООП = зло.

    5. [класс UserPersonalPage] Убрать "my" из названия методов. Оно ничего не несет, ведь ясно к чему оно относится.

    6. [класс UserService] За такое я бы руки отбивал. Это все к объекту пользователя относится. Ведь user_service->changeUserName(user, "foo"); в разы хуже user->setName("foo");

    7. Касается всего: зачем, к примеру называть метод "changeUserName" если можно просто "setName" или "setNickname" ну или "setUsername".

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

    sim3x
    @sim3x
    Я давно занимаюсь разработкой ПО

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

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


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

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

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

    А про паттерны можно поговорить на конференция
    Ответ написан
  • Как настроить VPN по такой схеме?

    @WSGR
    Хостинг, платежи, безопасность, IT-инфраструктура
    Если правильно понял, что именно вы хотите сделать, то это бэкконнект называется.
    Зависит от того, известен ли заранее IP-адрес, и если нет, технически возможны вариации, но в общем случае реализуется через ICE и STUN/TURN, dynDNS и т.п., т.е. проброс портов за NAT, а как правило использованием промежуточного скажем так "центрального сервера" для в том или ином виде (по сути тот который серый сам коннектится к заранее известному адресу).
    Ответ написан
    Комментировать
  • Как настроить VPN по такой схеме?

    athacker
    @athacker
    Клиент -- это по определению то, ЧТО подключается. Т. е. является инициатором соединения.

    Нет, то что вы хотите -- не реализуемо. Наоборот -- реализумо. А если вам нужно ходить через канал VPN-клиента -- то это тоже реализуемо, но не так, а ровно наоборот:
    1) На сервер с белым IP устанавливается VPN-сервер. Насчёт "рандомного", правда, сомневаюсь, придётся всё-таки определиться ;-)
    2) На комп с серым IP устанавливается VPN-клиент;
    3) Настраивается подключение от VPN-клиента до VPN-сервера;
    4) После этого, при грамотной настройке маршрутизации, можно организовать выход с VPN-сервера в интернет через интернет-канал клиента. Читать про policy based routing и multiple routing tables в Linux.
    Ответ написан
    1 комментарий
  • Использование 2-х мониторов и их расположение?

    Adamos
    @Adamos
    DevprXnVQAAWqi0.jpg:large
    появилось желание по фрилансить, с одним будет тяжко

    Из какой маркетинговой задницы выковыривают такие суждения?
    Я понимаю, мне тесновато на 19" 4:3, но у тебя-то в одном 29" таких воткнуто две штуки с припевом.
    Что ты по ним раскладывать собрался, фрилансер?
    Страницы интернета, которые должны в смартфонный экран влезать?
    Код, в котором после сотни символов в строке читаемость упадет до нуля?
    Терминал, изначально рассчитанный под 80х25 символов?..
    Ответ написан
    7 комментариев