• Как организовать мессенджер тех. поддержки через вконтакте?

    ImLoaD
    @ImLoaD
    Программист
    Добрый день. Примерный код для реализации подобного. Вам понадобится сообщество вконтакте.
    В настройках Сообщества подключите сервис Сообщений и разрешите использование виджета. Вы можете указать конкретные домены, для которых будет разрешено встраивание виджета.
    В тег Head добавьте подключение библиотеки (js файла) openapi vk
    https://vk.com/js/api/openapi.js


    В тело страницы добавьте элемент DIV, в котором будет отображаться виджет, задайте ему уникальный id, и добавьте в него код инициализации виджета. Например:

    Как видите в методе CommunityMessages объекта WIdgets объекта VK передаются два аргумента, но вы можете передать дополнительный - третий:
    {shown: "1"} - виджет по умолчанию будет раскрыт (кажется, это опция по умолчанию и так стоит. И {shown: "0"} если вы хотите что бы виджет был свернут в кнопку, по нажатию на которую он откроется.
    Вы можете прочитать информацию по ссылке Виджет «Сообщения сообщества»
    Ответ написан
    1 комментарий
  • Как организовать мессенджер тех. поддержки через вконтакте?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    он работает через личные сообщения сообщества в вк. создаешь паблик. заходишь в настройки паблика и там видишь следующее:
    CXOJgkbNlEOqS8JYHMSI7Q.jpg
    дальше думаю разберешься
    Ответ написан
    Комментировать
  • Как организовать мессенджер тех. поддержки через вконтакте?

    @tosha_lol_daaa
    Ответ написан
    Комментировать
  • Есть в Upwork команды, которые принимают новичков?

    opium
    @opium
    Просто люблю качественно работать
    Нет
    Станьте уже профи не ленитесь это не сложно
    upworkest.ru
    Ответ написан
    Комментировать
  • Как настроить Docker для deployment-а?

    Preemiere
    @Preemiere
    Symfony developer
    У меня следующая схема.
    В репозитории проект в корне лежит Dockerfile, который умеет собирать как прод так и дев версию контейнера.
    Для каждого сервиса отдельно в гите свои репозитории. Например у nginx в репе Dockerfile, в котором по сути одна команда - скопировать конфиг.
    Redis у меня работает с конфигами по дефолту, так что для него репы нет.
    Так же в каждой репе лежит конфиг для Drone, который при отправке коммитов запускает сборку, тестирование и последующий деплой на прод сервер.
    Деплоем контейнеров на сервере у меня сейчас занимается Rancher. Но в ближайшее время планирую перейти на Docker Swarm.

    Конфиги сборок лежат в гите, кроме параметров.
    Параметры для Symfony я передаю через environment при старте контейнеров.
    Параметры для сборки зашифрованы в .drone.sec файле. Но в версии 0.5 они будут лежать сразу на сервере.

    Docker-compose для прода я не использую, через него поднимается окружение исключительно для дев версии.

    Прокидывать папки с хостовой машины не рекомендуется, поэтому для персистентных данных нужно создавать volume и прокидывать их.

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

    Примеры моих конфигов: Dockerfile, drone.yml
    Ответ написан
    9 комментариев
  • Нужно ли вкладываться в IDE для C#?

    kykyryky
    @kykyryky
    >>для комфортной работы
    Хочется отметить, что для комфортной работы студии + решарпера нужен так же довольно мощный комп. Лично меня тормознутость этой парочки перестала раздражать только на i7/16 Гб ram/ssd.
    Ответ написан
    Комментировать
  • Нужно ли вкладываться в IDE для C#?

    @Maa-Kut
    Работа работе рознь. Существует бесплатная Community Edition, которая содержит почти все необходимое (во всяком случае, лично я пока не натыкался на отсутствие каких-то реально нужных фич). Есть ограничения на коммерческое использование, но одиночного разработчика они не затрагивают.

    Что до ReSharper'а, то очень многие отлично и без него живут, благо в VS хватает функционала "из коробки". Я сам ставил его когда-то, поигрался немного и удалил: не впечатлило.
    Ответ написан
    6 комментариев
  • Нет соединения по SHH через Putty?

    CityCat4
    @CityCat4 Куратор тега Сетевое администрирование
    Внимание! Изменился адрес почты!
    Возможно путти предлагает хосту набор шифров, который хостом не поддерживается. Это нечастая ситуация, тут должен быть либо очень старый ssh сервер, либо очень старый putty, но такое возможно. Есть у меня сервак под FreeBSD 9.2-STABLE, который не обновляется и уже никогда не будет обновляться - с заходом на него уже есть некоторые проблемы:

    > ssh -l user not-a-server.ru
    Unable to negotiate with XXX.XXX.XXX.XXX port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
    Ответ написан
    Комментировать
  • Нет соединения по SHH через Putty?

    a13xsus
    @a13xsus
    Lazy developer
    KeepAlive в Putty включите и тайм-аут в настройках увеличьте. У самого такое же было, пока не включил.

    superuser.com/questions/826485/putty-server-unexpe...
    Ответ написан
    Комментировать
  • C++ или Java для игр и различных приложений?

    orcDamnar
    @orcDamnar
    Java, C/C++, Android SDK
    Имхо. Учить нужно принципы. А писать на чем угодно. Язык - это инструмент отображения абстракций на холст, по сути.
    Ответ написан
    2 комментария
  • Как исправить ошибку error TS2307: Cannot find module 'Parent'?

    В TypeScript-код невозможно непосредственно подключить JS-файл, т.к. компилятору TypeScript требуется дополнительная информация о том, что находится "внутри" подключаемого модуля. Для того, чтобы сообщить компилятору эту информацию, используются так называемые declaration файлы (с расширением .d.ts). Их обычно кладут рядом с js файлом с таким же именем (в вашем случае это будет parent.d.ts). В таком файле необходимо описать все сущности, экспортирующиеся из соответстующего JS файла. Подробности можно почитать тут.

    Разумеется, вам ничего не мешает переписать parent.js на TypeScript, если вам так проще.
    Ответ написан
    Комментировать
  • Как правально раставить права доступа для веб-сервера?

    Endru9
    @Endru9
    Админ Linux
    Может стоить изучить как работают права в UNIX системах?
    find /path/to/site.ru -type f -exec chmod 664 {} \;
    find /path/to/site.ru -type d -exec chmod 775 {} \;
    Ответ написан
    1 комментарий
  • Как правально раставить права доступа для веб-сервера?

    romy4
    @romy4
    Exception handler
    > php-fpm работает от www-data:www-data
    это очень плохо

    > Как правильно сделать?
    так
    Ответ написан
    1 комментарий
  • Игры написанные на С#, как их импортировали на андроид и ios, как это проходит?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Если вдаваться "глубоко" - c# компилируется в MSIL (тем же Mono), дальше несколько вариантов.
    1) MSIL исполняется некоей "виртуальной машиной" на конкретном устройстве, причем среда исполнения интегрирована в приложение в виде библиотеки
    2) MSIL транслируется в какой нить c++, а тот в свою очередь - в машинный код целевой платформы.

    Оба варианта работают в Unity, первый вроде в Xamarin.
    Если вы новичок - то не лезьте сильно в дебри - берите двигло какое нибудь и используйте.
    Ответ написан
    Комментировать
  • От какого пользователя должен работать php-fpm в связке с nginx?

    romy4
    @romy4
    Exception handler
    от пользователя, которому принадлежит сайт. не php-fpm и не nginx. Если сайт находится в /var/www/username/site.com то php-fpm должен быть настроен на /var/www/username с правами username, сервер nginx с правами www-data
    это нужно чтобы запереть пользователя только в его директории и не иметь возможность лезть в чужие папки.
    /var/www/username устанавливается с пользователем/группой username:www-data и правами 0760. так пхп от пользователя не может ходить в чужие папки, а www-data не управляем кодом пользователя и не может причинить вред, но ходить должен.
    Ответ написан
    21 комментарий
  • Кидают ли на upwork?

    opium
    @opium
    Просто люблю качественно работать
    Редко из 300 заказчиков я имел проблему с одни за первые три года работы.
    Вообще почасовку оплачивается каждую неделю, для фиксед прайсов есть ескроу.
    Для почасовку конечно всегда надо просить заказчика верифицировать оплату
    Ответ написан
    4 комментария
  • Как реализовать защиту приложения по его «железу» и дальнейшей авторизацией на сервере?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    Создавайте трехзвеньевую структуру, и реализуйте всю бизнес-логику у себя на сервере, клиент просто для просмотра. Как пример Diablo 3, все реализовано на сервере близардов, сама игра лишь рисует данные полученные от сервера, как итог, никто и не ломал, нет смысла.
    Ответ написан
    8 комментариев
  • Как реализовать защиту приложения по его «железу» и дальнейшей авторизацией на сервере?

    Вы ведь новости читаете, крэк группы выкладывают свои труды регулярно для новинок ИГР, Софта.

    .net и c/c++/asm откроют за пару часов при желании.
    К железу привязываться - звонки с жалобами, HDD/CPU/Motherboard заменил и программа не запускается. Отломают быстрее чем напишите.

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

    VM - vmware есть настройки, обнаружение VM сработает если вы сами его напишите или не слишком распространенный способ использовать будите.

    Клиент не должен подключаться к партнеру на прямую, узнают через wireshark/netstat/... ip, и вас обойдут в этой цепи.
    Данные шифровать через https, проблем не будет, firewall пропустит.

    Флаги установки программы на ПК обходят быстро, снимают снимок состояния ПК, ставят ваше ПО, удаляют его, делают еще 1 снимок. Сравниваются 2 снимка, находят флаг присутствия установки программы. У MS такая утилита даже есть, название забыл.

    Хочется защиты - используйте виртуальные машины (~VMProtec), квалификация средняя и выше нужна для их взлома.
    Ответ написан
    3 комментария
  • Best Practices ASP.NET, в чём смысл многослойности?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    Сервис - это бизнес-логика, которая позволяет абстрагироваться от DAL с его репозиториями.

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


    На проекты принято дробить, как правило, как для логического отделения, как и возможности безболезненно обернуть любой такой модуль в NuGet-пакет и подключать во многих местах. На волне этой идеи и появился .NET Core.
    Ответ написан