IF (select count(*) from json_array_elements(_users)) > 0 THEN -- select * from dbo.cf_arm_cd_points(1, 5, 1, null, 4); raise notice '%', _users; -- обходчики выбраны и находим все маршруты за текущую дату RETURN QUERY select * from dbo.cf_arm_cd_points((select array_to_json(array_agg(row_to_json(t))) #>> '{id}' from (select r.id from core.cd_userinroutes as uir INNER JOIN core.cd_routes as r ON r.id = uir.f_route where uir.b_main = true and uir.f_user IN ( select (t.value #>> '{f_user}')::integer from json_array_elements(_users) as t ) and _d_date >= r.d_date_start and (core.cf_old_date(r.d_date_end) or core.cf_old_date(r.d_extended))) as t)::json, now()::date); END IF;
Настройка виртуального каталога web api
Для приложений dotnet применяется следующий механизм настройки виртуального каталога:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { ... app.UseDefaultFiles("/tfs/dev") .UseStaticFiles("/tfs/dev") .UsePathBase("/tfs/dev"); ... }
Запускаем Bot Framework на nginx
server {
server_name vnext-bot.appcode.pw;
client_max_body_size 2M;
location / {
try_files $uri $uri/ @proxy;
}
location ~* {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
...
}
Статьи:
https://groosha.gitbook.io/telegram-bot-lessons/extra/multiple_bots_2
Создание бота при помощи SDK Bot Framework 4
Задача: создать бота, разместить на собственном сервере и зарегистрировать его.
Среда: Windows 10 с IDE Visual Studio 2019 Community.
Язык программирования: C#
Реализация
Установите шаблон BotBuilderVSIX.vsix, который вы скачали при выполнении предварительных требований.
В Visual Studio создайте проект бота с использованием шаблона эхо-бота на основе Bot Framework версии 4 и .NET Core 3.1. Выберите тип проекта AI Bots (Боты (ИИ)), чтобы отображались только шаблоны ботов.
Читать далее «Создание бота при помощи SDK Bot Framework 4»Установка подписи SignatureField
<ru.mobnius.core.ui.component.signature.SignatureField android:id="@+id/control_signature" android:layout_width="match_parent" android:layout_height="wrap_content" app:signatureLabel="Подпись потребителя" android:layout_marginTop="@dimen/indent_small" app:layout_constraintTop_toBottomOf="@id/control_notice"/>
public class ControlMeterReadingsFragment extends BaseFormFragment implements OnSignatureListener { private SignatureField mSignatureField; ... @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { mSignatureField = view.findViewById(R.id.control_signature); mSignatureField.setOnSignatureListener(this); if(savedInstanceState != null) { updateSignature(savedInstanceState.getString(Names.SIGNATURE), false); } ... } @Override public void onClickSignature(int mode, String signature) { Intent intent = new Intent(getContext(), SignatureActivity.class); intent.putExtra(OnSignatureListener.MODE_NAME, mode); intent.putExtra(OnSignatureListener.TITLE, "Подпись потребителя"); switch (mode) { case OnSignatureListener.ADD: startActivityForResult(intent, SignatureActivity.SIGNATURE_REQUEST_CODE); break; case OnSignatureListener.UPDATE: intent.putExtra(OnSignatureListener.IMAGE, signature); startActivityForResult(intent, SignatureActivity.SIGNATURE_REQUEST_CODE); break; case OnSignatureListener.REMOVE: confirmDialog(new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // таким образом очищаем содержимое updateSignature(null, true); } }); break; } }
Power Shell выполнение сценариев отключено в этой системе
При выполнении сценариев в Power Shell может возникать следующая ошибка
Import-Module : Невозможно загрузить файл C:\Program Files\WindowsPowerShell\Modules\Az.Resources\2.5.1\Az.Resources.ps m1, так как выполнение сценариев отключено в этой системе. Для получения дополнительных сведений см. about_Execution_Po licies по адресу https:/go.microsoft.com/fwlink/?LinkID=135170. строка:1 знак:1 Import-Module Az.Resources
Чтобы обойти это нужно:
- запустить Power Shell от администратора
- выполнить команду Set-ExecutionPolicy RemoteSigned
Запуск dotnet приложений на Ubuntu
Проверяем наличие установленной версии dotnet
Если dotnet не установлен, то устанавливаем его согласно инструкции https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu
Читать далее «Запуск dotnet приложений на Ubuntu»Ошибка отладчика в Android Studio
Если при работе с Android Studio в эмуляторе возникает ошибка — нет возможности запустить эмулятор без отладки, выполняем следующую команду:
adb shell am clear-debug-app
Ошибка Nginx accept() failed (24: Too many open files)
У вас мощный сервер с десятком простых сайтов, клиенты довольны, сайты быстро открываются и регулярно обновляются. Приток посетителей с каждый днем все больше и больше. Но в один прекрасный момент эта идилия закончится, клиенты начнут жаловаться на частое появление ошибки 500. А почему она возникает? Давайте разберемся с одним из случаев.
Любая конфигурация связки apache+nginx с настройками по умолчанию когда-нибудь приведет к регулярному появлению ошибки 500. Почитав логи nginx вы увидите следующее:
Читать далее «Ошибка Nginx accept() failed (24: Too many open files)»Добавить пользователя в Ubuntu
sudo adduser test sudo usermod -a -G sudo test