• Мониторинг приложения в Zabbix 3.2?

    falsebyte
    @falsebyte
    Zabbix agent это умеет достаточно давно
    Все указано в документации

    zabbix_get -s ipadress -k proc_info[<процесс>,<атрибут>,<тип>]


    Примеры:
    proc_info[iexplore.exe,wkset,sum] - для получения общего количество физической памяти выделенной под все процессы Internet Explorer
    proc_info[iexplore.exe,pf,avg] - для получения среднего количества ошибок на страницах для процессов Internet Explorer
    Обратите внимание, что для корректной работы этого элемента данных на 64-битной системе потребуется 64-битный Zabbix агент.
    Обратите внимание: Все атрибуты io_*,gdiobj и userobj доступны только в Windows 2000 и более поздних версиях Windows, не в Windows NT 4.0.
    Ответ написан
    Комментировать
  • Как установить один IP адрес на два виртуальных сервера?

    Bessome
    @Bessome
    Администратор Linux, Windows. 1С программист
    делаем машину с сервисом nginx, с белым IP; nginx в режиме прокси. В nginx конфиге прописываем где какой сайт лежит, привожу пример своего конфига:
    root@ppserver:/etc/nginx# cat nginx.conf
    user www-data;
    worker_processes  4;
    
    error_log  /var/log/nginx/error.log;
    pid        /var/run/nginx.pid;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
        proxy_cache_path /var/lib/nginx/proxy levels=1:2 keys_zone=proxy_cache:64m max_size=128m inactive=3d;
        reset_timedout_connection on;
        client_header_timeout 15;
        client_body_timeout 15;
        send_timeout 5;
        keepalive_timeout        30 15;
        limit_conn_zone  $binary_remote_addr  zone=perip:5m;
        limit_conn perip 50;
        connection_pool_size 256;
        client_header_buffer_size 1k;
        large_client_header_buffers 4 2k;
        request_pool_size 4k;
        types_hash_max_size 2048;
        server_names_hash_bucket_size  64;
        access_log  /var/log/nginx/access.log;
        sendfile        on;
        tcp_nopush     on;
        tcp_nodelay        on;
        gzip              on;
        gzip_proxied      expired no-cache no-store private auth;
        gzip_buffers      16 8k;
        gzip_comp_level   5;
        gzip_http_version 1.0;
        gzip_min_length   0;
        gzip_vary         on;
        server_tokens off;
        output_buffers 1 32k;
        postpone_output 1460;
        ignore_invalid_headers on;
        client_max_body_size 64m;
        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
    }
    
    root@ppserver:/etc/nginx/sites-enabled# cat default
    server {
            listen   *:80; ## listen for ipv4; this line is default and implied
            return 301 https://$host$request_uri;
    }
    
    server {
    
        listen 443;
        server_name blabla.ru;
    
        ssl_certificate           /etc/nginx/cert.crt;
        ssl_certificate_key       /etc/nginx/cert.key;
    
        ssl on;
        ssl_session_cache  builtin:1000  shared:SSL:10m;
        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
        ssl_prefer_server_ciphers on;
    
        access_log /var/log/nginx/access.log;
    
            proxy_buffering on;
            limit_conn perip 32;
    
        location / {
            proxy_pass http://192.168.20.5/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_connect_timeout 120;
            proxy_send_timeout 120;
            proxy_read_timeout 180;
        }
    
        location /pve {
            proxy_pass https://192.168.20.100:8006/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_connect_timeout 120;
            proxy_send_timeout 120;
            proxy_read_timeout 180;
        }
    
        location /cam32 {
            proxy_pass http://10.1.1.239/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_connect_timeout 120;
            proxy_send_timeout 120;
            proxy_read_timeout 180;
        }
    }


    два файла -
    1. конфиг nginx.conf
    2. конфиг default, расположенный /etc/nginx/sites-enabled

    в конфиге (2) прописаны несколько различных серверов подсети, которые по различным ссылкам показывает nginx. Работает только по https, так как мне нужен защищенный траффик. Можно модифицировать для http, убрав строчку "return 301 https://$host$request_uri;" и назначив порт не 443, а 80. Так же надо удалить все, что связано с ssl из конфига.

    Не трогаем две машины с внутренними IP.
    Ответ написан
    3 комментария
  • Как организовать доступ к нескольким серверам за роутером с внешним статическим ip?

    @mureevms
    Прокинуть 80 порт на любой сервер с apache\nginx , а уже им проксировать запросы к разным сайтам
    Для apache - Можно ли транслировать несколько веб-серверов через один веб-сервер?
    Для nginx - Nginx как прокси на удаленный хост?

    По схеме будет работать примерно так:
    www.example.com → внешний ip 133.0.125.133:80 → (редирект 80 порта, вне зависимости от имени домена) → 192.168.0.2:80 (проксирующий веб сервер) → 192.168.0.3 (веб сервер с сайтом www.example.com)
    Ответ написан
    2 комментария
  • Как настроить DNS на записи вида ns1.mydomain.com?

    @Akellacom
    CTO
    Вам нужно поднять свой DNS сервер на VPS и ради бога

    https://www.digitalocean.com/community/tutorials/h...

    Только один вопрос, зачем?
    Ответ написан
    Комментировать
  • Что нужно знать для написания backend игрового сервера?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Что нужно знать для написания backend игрового сервера?

    Nipheris
    @Nipheris Куратор тега C#
    Александр Александров к сожалению, вынужден присоединиться к Сергей в том, что вы не знаете, что вам нужно от сервера.

    Понимаете, все эти архитектурные паттерны - "бэкенды" в web-понимании, REST-ы - это все хорошо и удобно, но стандартные подходы web - это не всегда про игры и риалтайм-приложения.

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

    > есть сервер, к которому обращается игровое приложение что бы записать или извлечь определенных данные игрока
    Вот в этих "определенных данных" и вся суть. Можно по-разному распределять логику между клиентом и сервером, но нередко, особенно в играх, где нужна устойчивость к мошенничеству, большая часть игровой логики находится на сервере. Это гораздо больше, чем "извлечь данные игрока". Если игровая логика находится на сервере, то тогда и требования к процессу обмена данными соответствующие - в REST особого смысла нет, т.к. все равно придется вводить понятие "сессии" или "соединения" с сервером, и хранить его состояние. И ваша основная задача будет не в легкой масштабируемости на заранее неизвестное число клиентов, а наоборот, в поддержании максимально комфортного игрового процесса для имеющихся игроков, а масштабирование будет на втором месте и будет достигаться немного иными архитектурными решениями.

    Многие крупные игровые проекты с большой долей логики на сервере используют свои протоколы обмена (как правило, бинарные) поверх обычного TCP-соединения. Многие применяют различные языки описания таких протоколов, чтобы было проще управлять разработкой, и вносить изменения в протокол (например, по таким описаниям можно автоматически генерировать часть серверного и клиентского кода). Например, Близзы, насколько мне известно, используют Protocol Buffers для Diablo 3.

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

    возможность сохранить процесс прохождения игры

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    "что бы достичь желаемого :( "

    А вы конкретизируйте желаемое.
    Если вы хотите браузерку, это одно.
    Если вы хотите писать свой клиент - на чем сможете осилить? И следовательно какой протокол обмена данными будете делать? Свой? Тогда копайте в нетворк
    Ответ написан
    3 комментария
  • Какую литература почитать по asp.net core?

    SuccessVM
    @SuccessVM
    Программирование - творчество
    Руководство по ASP.NET Core

    Документация по ASP.NET 5, не обращай внимание на старое название, его только недавно переименовали в Core.

    Оба ресурса отлично дополняют друг друга.
    Ответ написан
    Комментировать
  • Какую литература почитать по asp.net core?

    Почему ж вы не указали ту книгу, которую нашли?
    Чем она вас не устроила?
    На каком она языке?
    А на каком хотите вы?

    Чёрт, слишком много вопросов в ответе).
    Изучать стоит, сейчас там кардинально уже ничего не изменится, система в целом уже спроектирована, я думаю сейчас чинятся только баги. Даже если пара классов пропадёт или пара новых появится, я думаю шока у вас быть не должно.
    Когда выйдет в продакшн, вы уже будете готовы работать с ним, это ж хорошо.
    Ответ написан
    Комментировать
  • Каким образом с технологией ASP.NET MVC соотносятся языки программирования С# и VB.NET?

    Nipheris
    @Nipheris Куратор тега C#
    Ничего сложного.
    C# и VB.NET - языки программирования общего назначения, работающие поверх CLR (т.е., грубо говоря, на платформе .NET).

    ASP.NET MVC - веб-фреймворк для платформы .NET. По сути такая же библиотека классов, как и WinForms или WPF. Фишка ASP.NET в том что это поддерживаемый и развиваемый MS инструмент продакшн-уровня. Однако под дотнет есть и другие фреймворки, например Nancy или ServiceStack.

    Как уже упомянул Dmitry Pavlov , ASP.NET относится к C# как Rails к Руби, Django к Питону, и Spring к Джаве.
    Ответ написан
    Комментировать
  • Каким образом с технологией ASP.NET MVC соотносятся языки программирования С# и VB.NET?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    У веб приложения есть две части - клиентская и серверная. Клиентская - это веб страничка, которую пользователь видит в браузере. Серверная - это то, что генерирует на сервере эти странички, которые загружаются у пользователя на клиенте (в браузере).

    Клиентская часть - это HTML, CSS и JavaScript - то бишь те технологии, которые используются для создания обычных веб страниц. При этом на сервере могут быть использованы очень разные стеки технологий. В частности для стэка .NET - есть IIS (веб-сервер для хостинг-серверов на базе Windows), на котором работает ASP.NET (это веб фреймворк для генерации веб страниц) с использованием языка программирования С# или VB.NET.

    Пример другого стека на сервере: веб-сервер Apache (обычно на хостинг сервере на базе Linux), на котором работает скажем веб-фреймфорк CakePHP с использованием языка программирования PHP.

    Еще один пример: веб-сервер Passenger (на хостинг сервере под управлением операционок семейства Unix), на котором работает веб-фремворк Ruby on Rails, где разработку вы ведете на языке программирования Ruby.

    Есть подобные серверные комбинации для других языков программирования - Python, Java и тп.

    И если в случае .NET стэка (где один по сути производитель всего - и операционнки и веб сервера и веб фреймворка и языка программирования - это Майкрософт), то другие лптформы позволяют составлять больше комбинаций.

    Например, для языка программирования PHP есть много разных веб фреймворков. Для других языков - тоже. Даже для языков С# и VB.NET есть ASP.NET WebForms (раньше его наывали просто ASP.NET) и ASP.NET MVC (сюда же я бы отнес вариацию фреймворка для создания API - Web API). Для многиэ стэков есть много разных веб-серверов, веб-времворков и соответственно можно использовать много вариантов связок ОС - ВС - ВФ - ЯП

    На счет "Пишем сайт на VB.NET" это скорей всего значит - пишем на VB.NET веб приложение, которое будет использовать один из веб фремворков (либо ASP.NET WebForms либо ASP.NET MVC).

    Надеюсь, мне удалось внести ясность в терминологическую кашу, окружающую нас. К сожалению, даже в википедии я часто вижу эту кашу и кто-то начинает называть ASP.NET языком программирования. Это не так.
    Ответ написан
    7 комментариев
  • Как найти удаленную работу .net Junior?

    maxt888
    @maxt888
    Fullstack developer
    Вряд ли найдешь удаленку на junior. Удаленка минимум для мидлов. Так как джунов нужно учить, сопли подтирать, помогать... Для удаленной нужна самодисциплина и умение быстро учить новое, и в свою очередь успевать выполнять таски. В контору можно найти устроиться джуном, хотя вакансий очень мало, а желающих over дохрена. Хотя еще зависит от города, чем меньше город, тем меньше шансов вообще такую контору найти
    Ответ написан
    2 комментария
  • Помодскажите какой бэк-енд выбрать в веб-разработке?

    @bromzh
    Drugs-driven development
    Сейчас по-многим причинам бэкенд смещается от набора "фреймворк+серверная шаблонизация" к "backend-api+frontend-приложение". Т.е. всё чаще и чаще есть серверное АПИ и фронтенд-приложение, написанное на каком-то фронтенд-фреймворке, и которое запрашивает данные по АПИ и как-то выводит. Обычно, на фронте и на бэке используют разные языки, хотя есть тенденции в области изоморфных приложений, когда и код на бэке и фронте почти не отличается. В этом случае пишут на js.
    В других же ситуациях, создавать АПИ можно, в принципе, на чём угодно. Нынче модно брать какой-нибудь Go, т.к. он достаточно быстрый и безопасный. Я бы советовал брать Java+Spark/Java+Spring/Scala+Spray/C# с чем-то. Вакансий по этим языкам особо не убавится в последнее время, а литературы в интернете полно.
    Ответ написан
    Комментировать
  • Помодскажите какой бэк-енд выбрать в веб-разработке?

    And3en
    @And3en
    Software Engineer at Luxoft
    ASP.NET MVC* - это только фреймворк, без среды :)
    если уж на то пошло, гляньте на Джаву на бекенде.
    Java/asp.net это больше энтерпрайз уровень, учтите это.
    Ответ написан
    2 комментария
  • Математика для разработки игр. Что посоветуете?

    @diegocoder
    Основы 3D математики (координаты, ориентация, стол...
    FAQ: 3D математика
    Основы 3D математики: Векторные и матричные преобр...
    ЧАВО по матрицам и кватернионам
    Линейная алгебра для разработчиков игр
    Как вращается камера в 3D играх или что такое матр...
    Каверзные кватернионы
    Вращение и кватернионы. Сборник рецептов.

    на английском:
    Vector Math for 3D Computer Graphics
    General math
    Making WebGL Dance - лучше начать с этого для понимания всего в целом а затем уже перейти к остальным ссылкам

    именно так, всё сразу открывай и читай. это может и не цельные учебники но тем не менее дают хорошее понимание о том, с чем придется иметь дело. к тому же во многих статьях приводятся куски кода. если знаешь математику первого курса то считай что 90% изучено.
    Ответ написан
    Комментировать
  • Asp.NET WebForms или MVC?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    ASP .NET WebForms - простые, относительно. Они скорее для начинающих подходят. В WebForms множество готовых компонентов, но большая часть сомнительного качества (в плане производительности). Можно делать простенькие сайты (хотя, можно и не простенькие, если сервер и пользователей не жалко) достаточно быстро и с минимальными знаниями HTML, CSS и JavaScript. Если потребуется нечто большее, то с ASP .NET WebForms придется изрядно повозиться и не факт, что будет достигнут желаемый результат.

    Хотя ASP .NET WebForms развиваются и, сейчас, проще и удобней получить контроль над происходящим, чем например в ранних версия (1.x/2.0/3.5). Но все равно, будет множество ограничений и для крупных проектов WebForms годятся плохо. Отмечу, что ASP .NET WebForms хороши вместе с Visual Basic .NET - работать удобней, чем с C#.

    Чтобы делать под ASP .NET WebForms нормальные проекты, придется делать это руками, минимизировать использование стандартных компонентов и решений. Но тогда все фишки WebForms превращаются в один большой геморрой. Жить можно, но не очень приятно :-)

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

    Лучше всего использовать ASP .NET MVC совместно с Razor и C#. Работать будет удобнее, код лаконичней и красивее.

    Я сейчас даже простые проекты делаю на ASP .NET MVC.

    Не сказал бы, что время ASP .NET WebForms прошло, оно все еще идет. Частенько приходится отвечать на вопросы по теме работы с WebForms. Собственно, по этой причине я и знаю о некоторых позитивных изменениях в последних версиях WebForms. Сайты, сделанные на WebForms тоже попадаются часто (обращаю на это внимание, даже когда специально не смотрю). Сам уже не использую, но старых проектов осталось много, надеюсь когда-нибудь и они будут переделаны на MVC.
    Ответ написан
    2 комментария
  • Asp.NET WebForms или MVC?

    @Eugene22
    однозначно MVC, WebForms больше по инерции поддерживаются, а по факту вебформы уже практически мертвы
    Ответ написан
    Комментировать
  • Как написать серверную часть для Android клиента на Java?

    @protven
    Серверная часть на джаве "обычно" пишется на джаве. Если сильно хочется, то можно на scala, clojure или еще на чем-то, что выполняется в jvm. В чем вопрос-то ? Что ваш сервер обрабатывать должен ? Какие запросы к нему приходят из клиентов, по какому протоколу и что с ними происходит дальше ?
    Ответ написан
  • Есть ли хорошие русскоязычные видеокурсы по java ?

    @Copperfield
    Android dude
    Комментировать
  • Как установить NPM на ubuntu 14.04?

    mahnunchik
    @mahnunchik
    https://about.me/vlasenko
    Советую использовать последний стабильный релиз из ppa:

    sudo add-apt-repository ppa:chris-lea/node.js
    sudo apt-get update
    sudo apt-get install python-software-properties python g++ make nodejs


    npm идет в одном пакете с nodejs

    Подробнее в официальной документации: https://github.com/joyent/node/wiki/Installing-Nod...
    Ответ написан
    Комментировать