• Чем отличаются директивы root и alias в nginx "на пальцах"?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Не совсем.
    Делают они одно и то же только для location /.

    Если у вас, например, location /img, то при
    root /var/www ссылка /img/1,jpg будет вести в файл /var/www/img/1.jpg

    а при alias /var/www та же ссылка будет вести в /var/www/1.jpg.
    Ответ написан
    2 комментария
  • Каков статус языка Rust в данный момент?

    @snuk182
    Rust развивается основательно. Не семимильными шагами, потому что каждый шаг согласовывается с сообществом и ресурсами на его воплощение, но достаточно быстро, и крупных жалоб пока нет (кроме кривой обучения, но это субъективно, главное понять принцип владения данными). Best Practices есть. Для новых коммерческих проектов его выбирают в основном в отрасли блокчейна и специальных вебсервисов с быстрым откликом. Веб фреймворков россыпь, пока лидируют Actix и Rocket. Десктопного гуя стабильного нет, пользуются биндами к gtk.
    Ответ написан
    5 комментариев
  • Каков статус языка Rust в данный момент?

    @freecoder_xx
    Rust развивается стабильно, новые возможности и исправления вводятся с каждым релизом раз в 6 недель. Замеченные баги тоже исправляются оперативно в нерегулярных минорных релизах. Иногда такая динамика развития даже может служить препятствием: многие "живые" библиотеки требуют новой версии компилятора, но не всякая компания способна быстро обновлять его на своих проектах.

    Инфроструктура вокруг Rust хотя и развивается, все равно еще остается сырой. Многие библиотеки, хотя и работают уже достаточно стабильно, все равно в реальном использовании требуют небольших доработок. Если вы готовы форкать на GitHub такие библиотеки и слегка дорабатывать под свои нужды, то я думаю у вас больше никаких особых проблем с использованием Rust в боевых проектах возникнуть не должно.

    Что касается веба - вот тут есть список актуальных компонентов: www.arewewebyet.org

    Какого-то единого сборника лучших практик использования Rust, насколько я знаю, пока нет. Много полезных советов есть в официальной документации (в так называемых Книгах), а также разбросано по разным отдельным статьям. Однако, существуют списки полезных статей, которые помогут найти среди них нужную. Например эти:
    https://github.com/ctjhoa/rust-learning
    https://github.com/brson/rust-anthology/blob/maste...

    В новых проектах Rust используется, и пока тенденция идет на расширение. Вот на этой странице вы можете посмотреть, какие компании используют Rust сейчас и для чего: https://www.rust-lang.org/en-US/friends.html

    Итак, если вы планируете использовать Rust в производстве, готовьтесь вот к чему:
    1. Довольно высокий порог входа в язык. Тут нет особой сложности, просто потребуется практика на языке и поначалу время на следование советам компилятора по устранению постоянно возникающих ошибок компиляции.
    2. Достаточно частые обновления компилятора по добавлению новых возможностей в язык. Это может приводить к тому, что нужная вам библиотека будет требовать свежую версию компилятора.
    3. Сыроватые библиотки. Вероятно, вам придется их слегка дорабатывать под себя.
    4. Rust упрощает сложное, но усложняет простое. Для совсем простых проектов, не требующих высокой производительности и серьезных доработок в будущем, возможно, Rust будет не лучшим выбором.
    Но что вы получите от использования Rust?
    1. Высокую производительность программ, автоматическое управление памятью без сборщика мусора.
    2. Высокую надежность и защищенность программ, устранение большого количества потенциальных проблем на этапе компиляции.
    3. Достаточно легкий и безопасный процесс рефакторинга и доработки программ, благодаря развитой системе типов.
    4. Развитую систему управления зависимостями проекта.
    5. Действительно хороший универсальный инструмент: Rust подойдет и для прототипирования, и для разработки, причем для любого типа программ (утилиты, настольные приложения, веб-приложения, мобильные приложения, встраиваемые системы). Хорошая поддержка пока еще есть не для всего, но на перспективу - это большой плюс.
    Ответ написан
    7 комментариев
  • Как правильно создать >=1000 потоков?

    @alexs0ff
    Если у Вас компьютер не 1000 ядерный, вам нужны не CPU bound потоки, а IO bound потоки. Поищите асинхронные методы в вашем PostgesQl провайдере (скорее всего они с приставкой Sync)
    Ответ написан
    6 комментариев
  • Подойдёт ли Rust для 3D игр?

    @snuk182
    Можно, но дописанных и стабильных движков нет, и все придется делать самому. Если интересно, как устроены игровые движки, то это даже плюс. Если цель получить в краткие сроки игру, не занимаясь велосипедостроением - вам не сюда ближайшее время.
    Из графики наиболее предсказуемым способом будет использование врапперов над OpenGl, которые закинуты с поддержкой, но свою работу выполняют. Упомянутый здесь gfx находится в активной разработке и в перспективе довольно привлекателен, но нестабилен. Если вы знакомы с джаваскриптовым three.js, есть родной аналог three.rs, тоже активно пилится. Также есть англоязычный ресурс Are We Game Yet? с описанием всех возможных библиотек для разработки игр на Rust. Еще есть сообщество в Gitter, где всегда можно спросить совет.
    Ответ написан
    Комментировать
  • Подойдёт ли Rust для 3D игр?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Если прям горите желанием, то можно, но готовьтесь к тому, что весь функционал придётся писать самому и тулчейн тоже. Ну и багов дофига. Рано ещё, подождите пару лет.
    Ответ написан
    Комментировать
  • Странный дизайн Rust?

    Rust это не C++. Почему он должен брать термины из C++?

    В Java вон тоже ссылки - это указатели в терминологии C++.

    Более того, ссылка от указателя отличается лишь абстракцией. В памяти это будут одинаковые ячейки, содержащие адрес.
    Ответ написан
    Комментировать
  • Как на одной linux-машине запустить несколько сервисов, но так, чтобы каждый сервис имел уникальный ip?

    @mureevms
    Поставьте фронтэндом nginx и повесьте на один IP адрес хоть сотню сервисов на 80 порту с доступом по доменному имени.
    Ответ написан
    16 комментариев
  • Как совладать с реактивностью (c передачей по ссылке и глубоким копированием объекта)?

    amux
    @amux
    alp.ac
    //let block = {...empty_block};
    let block = _.cloneDeep(empty_block);

    https://lodash.com/docs/#cloneDeep
    Ответ написан
    Комментировать
  • Какой IDE лучше всего выбрать для моих целей?

    @asd111
    Кроме перечисленного попробуйте visual studio code от microsoft( он кроссплатформенный), там вроде есть поддержка C# .net core чтобы делать web приложения. И вроде как он поддерживает довольно много языков.
    https://code.visualstudio.com/
    Ответ написан
    Комментировать
  • Как передавать большие файлы?

    teknik2008
    @teknik2008
    Расскажите про GOLANG. Мне интересно
    Как вариант multer
    А вообще потоками. Ни в коем случае, не грузите в node. Только потоки
    Ответ написан
    Комментировать
  • Чего бы сложного сделать на javascript?

    tema_sun
    @tema_sun
    Таки начни писать тесты.
    Ответ написан
    Комментировать
  • Чем WebSocket в php отличается от того же в js?

    Sergey-From-Irkutsk
    @Sergey-From-Irkutsk
    PHP - быдлокодер и диванный аналитик
    Как правильно заметили WebSocket это протокол (https://ru.wikipedia.org/wiki/WebSocket) сейчас используемый как RFC 6455, поэтому как ответили выше -- ничем не отличается.

    Вы наверное, имели в виду реализацию Socket сервера? Расскажу о нём.

    На PHP сокет-сервер поднимал в виде, как самодельных велосипедов, так и готовых библиотек (тут, тут, тут), но не получал легкости в использовании, пока не прозрел и не подружился с NodeJS.

    NodeJS имеет легко подключаемую библиотеку (ссылка) которая позволяет поднять сокет сервер в несколько строчек JS кода. Поэтому рекомендую использовать NodeJS, тем более, что сейчас легко использовать виртуальные машины и поднимать любое разумное количество серверов с разными платформами.
    Ответ написан
    Комментировать
  • Присвоить значение свойству метода JS?

    lazalu68
    @lazalu68
    Salmon
    Давайте я просто расскажу что происходит у вас в коде, тогда вы поймёте в чем ошибка:

    // объявление объекта
    let obj = { 
      // объявление свойства trampapam и присваивание ему функции
      trampapam: function() { 
        // объявление переменной tratata в глобальном объекте, в window
        tratata = false; 
      }
    };
    // выполнение метода trampapam, в результате которого в window появляется свойство tratata
    // после чего безуспешная попытка присваивания результату (undefined) свойства tratata
    obj.trampapam().tratata = true;
    Ответ написан
    Комментировать
  • Как сделать бесконечно выполняющийся скрипт php?

    @rPman
    php-cli
    Это отдельный, хоть и виртуальный пакет в операционных системах, имеет свой каталог с настройками расширений в /etc/, запускается приложение как и все скриптовые php имя файла плюс можно добавить первой строчкой по стандарту #!/usr/bin/php и поставить бит x на файл, тогда он будет запускаться как обычное приложение.

    cron - это не порядок, он подходит наоборот для периодических задач, которые отработали и завершили работу.

    По правилам, если вам нужен демон, который постоянно будет работать, то для этого необходимо создать для него файл службы, читать документацию по операционной системе или в /etc/init.d этот список все операционки тянут для совместимости до сих пор (там простой bash который запускает и останавливает вашу программу по команде start|stop).

    Будьте внимательны, если вы об этом не позаботитесь сами, ваш скрипт самостоятельно никто не перезапустит, если он вылетит по ошибке.
    Ответ написан
    Комментировать
  • Как содержание нестрелочной функции сделать доступным в темплейте?

    teknik2008
    @teknik2008
    Расскажите про GOLANG. Мне интересно
    А как-же контекст?
    created () {
         var _this=this
        function adBlockNotDetected() {
          console.log('AdBlock is not enabled')
          _this.status = 'AdBlock is not enabled'
        }
      }
    Ответ написан
  • Как справиться с недостатком сосредоточенности?

    dio4
    @dio4
    team leader, devops engineer, master of sports
    возможно переутомление - мозг защищается сам. Рекомендую больше спать, взять таймаут, витамины, спорт, девчонку классную. В крайнем случае - фенотропил (не долго), помогает сразу.
    Ответ написан
  • Как реализуется backend и frontend в роли единого приложения?

    До этого писал на PHP + JS но держать 2 разных сервера для обработки PHP и JS сторон

    тут я что-то не понял о чем вы...

    fullstack SPA приложения на NodeJS с использованием Vue и MySQL - буду очень признателен.

    фуллстек SPA ... вы имеете ввиду обращения к БД и обработка пользовательских данных на клиенте? Если так, то вы совсем что-то "голову свою замучали" ))

    Начните поэтапно, освойте основы Node.JS + Express. Поработайте с данными, запросами в БД, выводом данных из БД и так далее.
    Освойте шаблонизатор и только потом начинайте изучать Vue.JS.
    Как поймете основные методы работы с Vue.JS, то реализуете API на Node.JS.

    Документация по данным технологиям отличная.

    Может быть Node.JS вам показался фронтендом? но это совсем не так, но с помощью node.js + npm можно собрать фронтенд.

    Может и я вас где-то не понял, пока прочитал у самого "голова замучась"
    Ответ написан
    2 комментария
  • Почему до сих пор вакансии называются "Программист C#" или "Java Junior Developer", хотя знание фреймворков гораздо важнее знания языков?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    А пацаны годами один язык изучают до тонкостей, вот дураки то!
    Ответ написан
    Комментировать
  • Почему до сих пор вакансии называются "Программист C#" или "Java Junior Developer", хотя знание фреймворков гораздо важнее знания языков?

    Atanvar
    @Atanvar
    Frontend developer
    что язык - это относительная простая вещь в освоении, особенно если это не первый твой язык.
    - а?

    хотя знание фреймворков гораздо важнее знания языков?
    - слишком толсто
    Ответ написан
    2 комментария