Разбор GET (Query) параметров на Dart

Потребовалось разобрать URL текущей страницы и получить значения GET-параметров по их имени. Набросал функцию:

String _getParameterByName(String name) {
  name.replaceAll('/[\[]/',"\\[").replaceAll('/[\]]/', "\\]");
  RegExp regex = new RegExp("[\\?&]" + name + "=([^&#]*)");
  var results = regex.allMatches(window.location.toString());
  return results.length == 0 ? '' : Uri.decodeComponent(results.last.group(1).replaceAll('/\+/g'," ")) ;

}

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

MySQL 5.6 & PHP 4.4

В MySQL 5.6 значительно поменялись настройки безопасности.

При попытке соединения с базой данных из PHP 4.4.x появляется ошибка:

Client does not support authentication protocol requested
by server; consider upgrading MySQL client

Что бы заставить работать PHP 4.4 вместе с MySQL 5.6 нужно:

  1. Добавить в файл my.conf параметр skip-secure-auth после чего нужно перезапустить сервис MySQL
  2. Обновить информацию о пароле пользователя. Вместо нового формата нужно использовать старый. Для этого:
UPDATE mysql.user SET plugin = 'mysql_old_password'
WHERE User = 'some_user' AND Host = 'some_host';
FLUSH PRIVILEGES;
SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

Как запустить VBScript в режиме x86 \ Как запустить консоль в режиме x86

Возникла достаточно интересная проблема.

Есть старый VBScript’ик, который соединяется с базой данных и забирает оттуда данные. Делает он это через драйвер, который ставится вместе с BDE.

Проблема… Нужно перенести этот скрипт из Windows Server 2003 на Windows Server 2012 R2. При попытке прямого запуска получаем ошибку — невозможно соединиться с базой. Более того, он даже не может создать объект.

Как решить это?

Continue reading

Как удалить все таблицы из MSSQL

Появилась задача дропнуть все таблицы из базы данных MSSQL не удаляя и создавая базу данных.

DECLARE @Sql NVARCHAR(500) DECLARE @Cursor CURSOR

SET @Cursor = CURSOR FAST_FORWARD FOR
SELECT DISTINCT sql = 'ALTER TABLE [' + tc2.TABLE_NAME + '] DROP [' + rc1.CONSTRAINT_NAME + ']'
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc1
LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc2 ON tc2.CONSTRAINT_NAME =rc1.CONSTRAINT_NAME

OPEN @Cursor FETCH NEXT FROM @Cursor INTO @Sql

WHILE (@@FETCH_STATUS = 0)
BEGIN
Exec SP_EXECUTESQL @Sql
FETCH NEXT FROM @Cursor INTO @Sql
END

CLOSE @Cursor DEALLOCATE @Cursor
GO

EXEC sp_MSForEachTable 'DROP TABLE ?'
GO

Как заставить работать Apple USB Ethernet Adapter на Windows 8

Маленькая история. Нашел я у себя Ethernet Adapter от Apple и захотелось мне проверить, можно ли заставить его работать не на технике Apple, а с обычным PC под управлением Windows 8. Оказывается, можно…

Continue reading

Отладка баз данных SQLite на Android

При написании приложений под операционную систему Android, приходится часто использовать базы данных для хранения данных. Я уже показывал шаблон, для создания БД на телефоне, сейчас хочу рассказать про отладку баз данных SQLite в случае работы с Android.

В составе Android SDK есть инструмент, который называется ADB или Android Debug Bridge. Командная строка позволяет связываться с запущенным эмулятором или физическим устройством, на котором ведется отладка.

Continue reading

VBA: Найти сумму и количество тех элементов массива, которые делятся на 5 и на 8 одновременно. Полученные значения вывести в одно окно сообщения

Задача:

Дан динамический массив В(n), заполненный случайными числами с помощью генератора случайных чисел (элементы массива вывести в ячейки рабочего листа).  Найти сумму и количество тех элементов массива, которые делятся на 5 и на 8 одновременно. Полученные значения вывести в одно окно сообщения.

Код:

Public Sub prog()
    Dim i As Integer
    Dim sum As Integer
    Dim count As Integer
    sum = 0
    count = 0
    n = InputBox("n=") ' Просим ввести n - размерность массива.
    ReDim B(n)
    Cells.Value = ""
    Cells.Interior.ColorIndex = -4142
    For i = 1 To n
        B(i) = Int((0 - 100 + 1) * Rnd + 100)
        If ((B(i) Mod 5 = 0) And (B(i) Mod 8 = 0)) Then
            sum = sum + B(i)
            count = count + 1
            Cells(1, i).Interior.Color = vbGreen
        End If
        Cells(1, i).Value = B(i) ' Печать в ячейку
    Next i
    MsgBox ("Сумма = " + CStr(sum) + " Количество = " + CStr(count))
End Sub

Continue reading

VBA: Найти сумму и количество элементов массива, остаток от деления которых на 2 равен 3

Глупая задача…

Дан динамический массив А(n), заполненный случайными числами с помощью генератора случайных чисел (элементы массива вывести в ячейки рабочего листа). Найти сумму и количество элементов массива, остаток от деления которых на 2 равен 3. Полученные значения вывести в одно окно сообщения.

Ни одно число не будет подходить под условие задачи, но решение есть.

Public Sub sum1()
    Dim i As Integer
    Dim sum As Integer
    Dim count As Integer
    sum = 0
    count = 0
    n = InputBox("n=") ' Просим ввести n - размерность массива.
    ReDim arr(n)
    Cells.Value = ""
    Cells.Interior.ColorIndex = -4142
    For i = 1 To n
        arr(i) = Int((0 - 100 + 1) * Rnd + 100)
        If (arr(i) Mod 2 = 0) Then
            sum = sum + arr(i)
            count = count + 1
            Cells(1, i).Interior.Color = vbGreen
        End If
        Cells(1, i).Value = arr(i) ' Печать в ячейку
    Next i
    MsgBox ("Сумма = " + CStr(sum) + " Количество = " + CStr(count))
End Sub

Файл Excel с этим кодом

Про погоду и массивы

Такая школьная простенькая задачка…
Условие:

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

Continue reading