• На чем лучше делать магазин цифровых товаров? Wp или Opencart2x-3x?

    OtshelnikFm
    @OtshelnikFm Куратор тега WordPress
    Обо мне расскажет yawncato.com
    Вордпресс. Буз вукоммерца - на плагине wp-recall. Готовый и рабочий вариант 100% работает на нем магазин цифровых товаров codeseller.

    Работает быстро. Платежных систем более 20-ти написано.

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

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    В целом ты все верно понял. Почитал я тут ответы, термины, термины, термины...

    Я люблю простые объяснения, буквально на пальцах.

    Вот ты вызвал функцию, в ней создаются переменные локальной области видимости, т.е. доступные только самой функции. Под эти переменные движок JavaScript выделяет память.

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

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

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

    Один из основных паттернов, для которых применяются замыкания - ограничение доступа к данным, их изоляция (ограничение их области видимости).

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

    В ответах есть пример со счетчиком, который наглядно демонстрирует этот принцип.
    Ответ написан
    2 комментария
  • Где находится основной офис с программистами Microsoft?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    там же, в Редмонде

    примерно 25% сотрудников

    потом Долина и остальное сейлзы по миру
    Ответ написан
    Комментировать
  • Где находится основной офис с программистами Microsoft?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    У них понатыкано офисов везде и всюду.
    И причем далеко не обязательно что определенные офисы будут вести определенные проекты
    А в винде и офисе столько компонентов и подзадач, а также региональных заморочек, что там одной долиной не обойдешься
    Ответ написан
    Комментировать
  • Как деплоят веб-проекты?

    @vitaly_il1
    DevOps Consulting
    В целом согласен с Дмитрием.
    Вот здесь https://medium.com/@tobiashn/putting-a-laravel-app... разобран примерно ваш случай. Вот еще https://laraveldaily.com/how-to-deploy-laravel-pro...
    Как и всегда, есть как минимум десяток способов сделать это, и каждый будет хвалить то, что использует.
    Когда поймете принцип, то можно и на шелле скрипт написать :-)
    Так что начните с GitLab CI.
    Ответ написан
    Комментировать
  • Практическое использование схем в Postgresql - когда они нужны?

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

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

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

    А что будет если несколько юзеров будут на одну public-схему коннектиться?

    Помимо того, что схема - это пространство имен, в большинстве СУБД это еще и пространство безопасности. Даже в рамках одного многокомпонентного приложения имеет смысл ставить границы безопасности для ограничения возможных потерь и разрушений в случае компрометации одного из компонент.

    Вот допустим, у вас есть отдельная схема для таблицы авторизации и аутентификации и отдельная - для корпоративного форума. Сервис авторизации у вас выполнен отдельно от форума (например, авторизация выдаёт токены пользователю, с которыми он потом может зайти на форум). С точки зрения безопаности было бы логичным выдать сервису авторизации и форума различных пользователей в базе - тогда, при взломе форума невозможно будет получить доступ к паролям в базе или изменить права на портале, подправив данные в таблице ролей. Конечно, многие СУБД разрешают ставить права на отдельные таблицы, однако схема в данном случае играет роль контейнера и позволяет проставить единые правила для всех таблиц внутри неё.

    то есть при работе в постгре предпочтительнее вместо отдельных баз делать разные схемы в одной

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

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

    neuotq
    @neuotq
    Прокрастинация
    С Докером все просто, нужно только немного повернуть устоявшуюся логику в мозгах.
    Основная суть и идея это запуск каждого приложения (php, mysql и тд) в своем контейнере. При этом сам php будет думать что запущен как всегда в обычной полноценной ОС. Поэтому контейнер собирают так, чтобы удовлетворить минимальные требования программы которую он будет содержать.
    Вот так ты и запускаешь кучу контенейров и у тебя выходит сухогруз(у докера там кит) с контейнерами. Зачем это все? Для облегчения администрирования и обновления ПО, а так же для минимизации издержек при глюках/падения какой-либо программы.
    Все контейнеры максимально независимы друг от друга, при этом есть механизм когда контейнер завист от другого. Например контейнер phpmyadmin, нет смысл запускать без контейнера mysql или mariadb, работать он не будет.
    Общение происходит в основном через сеть, поднимается внутренняя сеть. Так же конечно через диск, все предусмотрено.
    Когда все сделано как нужно, с системного администратора снимается гигантский труд по отслеживанию обновлений, совместимости этих обновлений и тд.
    Нужна тебе версия php5.6, запустил коннтейнер с ней, нужна php7.1, запустил его, при этом не нужно никаких приключений с обновлением кучи пакетов, возможных конфликтов с другими нужными программами и тд.
    Так же удобно решаются вопросы масштабирования, появляются мелкие удобные бонусы по дополнительной автоматизации , уменьшаются риски падения ОС в целом, падает если что только контейнер и тд и тп, в результате есть реальная возможность даже небольшим проектам добиться у себя около нулевого даунтайма.
    Вот еще послушай Кирилл Мокевнин из Hexlet пытается понятным языком рассказать что это и зачем. И кстати он делает упор на понимания зачем понадобилось думать и какие проблемы решали когда пришли к Докеру, это ключ к пониманию всего другого.
    PS кстати и сам Hexlet крайне советую, они наверное лучшие в рунете для начинающих программистов
    Ответ написан
    1 комментарий
  • Wordpress: плагин фотогалереи из физических папок?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Плагин - https://ru.wordpress.org/plugins/folder-gallery/

    Наберите в гугл WordPress Gallery from folders и найдете плагины и другие решения
    Можно также глянуть на codecanyon
    Ответ написан
    Комментировать
  • Как правильно "расшарить" папку в SAMBA?

    @nukler
    местный юродивый
    Добрый день.
    <user>- это собственно Ваш логин в системе.
    Путь /home/<user> - это Ваша домашняя директория.

    Все учебники предполагают что Вы собственно пользователь системе и предлагают Вам в домашней директории создать папку.
    Так её можно сделать к примеру в /mnt/
    Ответ написан
    Комментировать
  • Как правильно "расшарить" папку в SAMBA?

    @Teslaman
    Вот отличный мануал по самбе. https://m.youtube.com/playlist?list=PLmxB7JSpraifs...

    Еще хороший сайт: smb-conf.ru
    Ответ написан
    Комментировать
  • Как правильно "расшарить" папку в SAMBA?

    Adamos
    @Adamos
    А кто вам сказал, что user - это пользователь, под которым вы логинитесь на сайт?
    Создайте бесправного юзера, и в настройках самбы его же можно прописать.
    Заодно, внезапно, пользователи с нормальных систем смогут зайти в те же папки без всякой самбы, через sshfs или sftp.
    Ответ написан
    Комментировать
  • Как правильно "расшарить" папку в SAMBA?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Да, собственно, куда вам удобно. Можете, например, создать отдельный раздел и примонтировать его на /samba.
    Только правильно настройте права доступа.
    Ответ написан
    Комментировать
  • Как правильно "расшарить" папку в SAMBA?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    man hier
    даст описание основных каталогов

    Я бы рекомендовал в /srv
    Ответ написан
    Комментировать
  • Какое ПО выбрать для бэкапа и восстановления Linux на голое железо?

    Softer
    @Softer
    * rdiff-backup
    * rsync
    * dd
    Из платно-проприератного - Acronis

    Лично я предпочитаю второй вариант, но он разовый - нет никаких инкрементов и диффов. Чуть сложным может показаться восстановление - нужно руками разметить винт и прописать загрузчик. Впрочем все можно автоматизировать. :)
    Ответ написан
    Комментировать
  • Какое ПО выбрать для бэкапа и восстановления Linux на голое железо?

    Clonezilla - есть интерфейс в стиле далее->далее->готово, однако можно всё свести к 1-му пункту меню, чтобы раскатывающий человек не имел возможности ошибиться.
    Ответ написан
    Комментировать
  • Какие подводные камни у использования программного RAID 1 в Linux?

    twix007
    @twix007
    вот уже несколько лет на домашнем серваке стоит зеркальный программный raid сначала на 16.04, никаких проблем незамечено за время использования.
    Ответ написан
    1 комментарий
  • Какие подводные камни у использования программного RAID 1 в Linux?

    @MechanID
    Админ хостинг провайдера
    Годами работают сервера (пару десятков) с програмным рейдом, почти все типы рейда 1, 5, 6, 10 никаких проблем нету.
    Следите за SMART винчестеров, делайте бекапы и спите спокойно.

    Если решите брать аппаратный рейд - не берите fake raid смотрите сразу на полноценные решения от Adaptec, 3ware, LSI
    Ответ написан
    Комментировать
  • Какие подводные камни у использования программного RAID 1 в Linux?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Я не профессиональный администратор и мой ОПЫТ не должен быть вам релевантен. Но если вы просите, то...

    Когда арендовал dedicated сервера в том же Hetzner - там практически всегда программный RAID являлся частью конфигурации сервера, если нужно было зеркалирование.
    За несколько лет проблемы с RAID возникали только если с дисками на сервере были неполадки. И когда это происходило, этот RAID 1 спасал от потери данных.
    На домашнем сервере - аналогично. Один раз RAID 1 у меня развалился, но это произошло потому, что я сконфигурировал его по инкрементным именам блочных устройств (вида /dev/sdd), а не по UUID-идентификаторам, которые на зависят от того, к какому разъёму диск подключить и т.п. В итоге мой RAID на домашнем сервере был развален (работал наполовину) полгода, а когда я это заметил - он был за пару часов легко синхронизирован обратно в нормальное состояние.
    Последний пример, к слову, должен быть хорошим намёком на то, что любой RAID без мониторинга не является достаточно надёжным.

    Здесь вам, скорее всего, все отпишутся, что с программным RAID нет никаких проблем нет. Если хотите избежать систематической ошибки выжившего - поищите проблемы сами. Желательно на английском в гугле. Только не впадайте в панику и рационально старайтесь оценивать насколько вероятно, что с вами что-либо произойдёт.
    Ответ написан
    Комментировать
  • Откуда достать этот сертификат?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Смотрите в документации Kerio как выгрузить его публичный ключ.
    Так как система до этого у Вас работала ищите на диске где размещен ваш сайт файл ldap.conf
    В нем строку
    TLS_CACERT path\to\your\CA\cert\file.crt
    Обновляете его.

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

    очень грубо: есть машина, на ней установлено две виртуалки и dns-сервер, на виртулках весь зоопарк (nginx, php, mysql), между базами репликация, между папками синхронизация, и не забудьте про бэкапы
    Ответ написан
    3 комментария