Столкнулся с проблемой при подключении к PostgreSQL, и был немного удивлен, увиденным:

QSqlDatabase: QPSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

Буду краток, из коробки дрова сами не заработают. Нужно ставить базу, причем, желательно со следующего сайта https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

 

Краткий список заметок, который я для себя сделал еще год назад.

Задать новый пароль системному пользователю 'test' в MSSQL

EXECUTE sp_password NULL, 'strongPassword', 'test'

Для хранения данных в web.config



Получить данные можно следующим способом:

 

К сожалению, чтобы некоторые элементы asp выглядели как формы bootstrap, недостаточно просто его импортировать в проект, даже через менеджер пакетов, а некоторые элементы вроде пагинации требуют отдельного подхода. В целом подход я подсмотрел на другом сайте, и немного изменил под свои нужды. Ниже описан способ решения этой задачи, большую часть работы выполняют скрипты.

 

The remote certificate is invalid according to the validation procedure

Конкретно в моем случае проблема была связана с антивирусом Avast, отключив который получилось выбрать все письма. Простая особенность из-за которой было потрачено огромное количество времени.

 

Вообще тут будет некоторое дублирование официальной документации только на русском языке

Установка

composer require andres-montanez/magallanes:^3.0

composer update

Постоянно выскакивала ошибка [RuntimeException]

Даже есть такая ошибка на гитхабе, но её решение не относится к моей проблеме. Пришлось копаться в коде, конкретно в моем случае была следующая ошибка: не правильно задан параметр host_path - я указал папку, в которую попадает пользователь при заходе по shh и ожидал, что он скрипт будет локально ходить по папкам, и создавать/редактировать каталоги, но

 

После обновления Ubuntu до 16.04 перестала подниматься база данных, сначала я попробовал просто снести и поставить снова, но этот финт ушами, на удивление не прокатил...

 

Конкретно в моем случае не находился ssh ключ

вставить в поле SSH client путь к файлу TortoiseGitPLink.exe у меня этот путь следующий c:\Program Files\TortoiseGit\bin\TortoiseGitPLink.exe

 

Пишите в любом чате

/showplaces - выведет список активных skype в данный момент

You have 3 online endpoints:
{5d8626db-8585-6de3-4545-XXXXXXXXXXX} 'BARMA-PC' (Windows Skype)
{99176cb8-b0e3-72c8-b0e3-XXXXXXXXXXX} 'localhost' (Android Skype)
{58649578-f02d-f5e4-22ef-XXXXXXXXXXX} 'WEB07' (Windows Skype)

/remotelogout - выход из skype на всех других устройствах, кроме данного, на котором собственно вбивается команда

 

Ошибка "The system cannot find the file specified" может быть вызвана не только вечным циклом, но и корявым модулем php откопать причины поможет gdb

 

Решил сделать спойлер. Давно прочел книгу, но никак не мог заставить себя написать по этому поводу, а премьера фильма меня прямо таки заставила это сделать.

 

После прочтения этой книги вспомнился диалог двух героев, из книги Стругацких "Гадкие лебеди" следующего содержания: Писатель - это прибор, показывающий состояние общества, и лишь в ничтожной степени - орудие для изменения общества. Как зеркало реальности. Книга написана в 2006 году, но с тех пор стала более актуальной. Наверное в большей степени потому, что писатель вдохновлялся "политическими героями" того времени, которые и сейчас играют не малую роль в политической судьбе России, многих из них легко узнать в этой книге. 

 

Роскошные господа из Microsoft нисколько не стесняются перезагружать свою поделку тогда, когда ей понадобится. И не важно что у тебя два часа работы не закоммичено, надо и все тут!

 

Эту заметку решил написать, после того как прочел книгу во второй раз, потому что забыл что уже читал. Скажем так - зарубка в памяти, чтоб не читать в третий раз) Вообще, удивительно что книга во многих местах остается актуальной по прошествии 40 лет (первое издание 1975 года), да еще и в сфере разработки ПО. Хотя, конечно, во многом и уже неактуальна. Очень интересен опыт разработки масштабных проектов в ~5000 человеко-лет и содержащий штат из ~1000 разработчиков.

 

Всегда вызывали сомнения цифры указанные в режиме ожидания телефона. Например, у модели sony xperia mini st15i - 340 часов (14 дней) в режиме ожидания! Тогда мне казались эти цифры абсолютной фантастикой.

 

При записи в базу данных строка обрезается до неразрывного пробела, такой пробел используется например в excel документах.

Пример кода для определения такого пробела:

$v = '0�184�455�600';
echo "<br> v = $v<br>";
$v2 = str_split($v);
foreach ($v2 as $v3) {
	echo "|";
	echo ord($v3);
}

$v = str_replace(chr(160), chr(32), $v);

$v = iconv('utf-8', 'utf-8//IGNORE', $v);

На ходе будет: |48|160|49|56|52|160|52|53|53|160|54|48|48

Как видно из примера, код символа неразрывного пробела 160, посмотреть соответствие ascii символов с их числовыми значениями можно тут http://www.asciitable.com/

 

Для установки необходимо скачать и установить Android SDK, с которым тоже были проблемы.

Для разблокировки bootloader'a используем ресурс, выбираем девайс, получаем код на e-mail

http://developer.sonymobile.com/unlockbootloader/

Там же будет предложено скачать android_winusb.inf файл для подсоединения устройства через usb (мне не потребовалось).

код для разблокировки устройства 78AF541BC1CBC69A

 

При установке andriod sdk возникла ошибка

Для исправления необходимо войти в мой компютер - свойства - Допольнительные параметры системы , вкладка дополнительно - кнопка "переменные среды".

 

В одном из проектов возникла ошибка - не всегда открывался файловый менеджер. Связано это было с общей высокой нагрузкой на сервер, и большим количеством файлов, которые файловый менеджер пытался прочитать.

 

RFC: Combined Comparison Operator — Предлагается добавить новый оператор (expr) <=> (expr), который возвращает 0, если операнды равны, 1 если левый операнд больше, и -1 если больше правый.

Этот RFC добавляет новый оператор для комбинированного сравнения.Подобно strcmp() или version_compare() в поведении, но он может быть использован для всех основных значениях PHP с той же семантикой, <, <=, >=, > .

Преложение:

Добавить новый оператор (expr) <=> (expr) , он возвращает 0, если оба операнда рав

 

Для поисковых систем можно выдавать разные файлы sitemap или сделать один валидный. Главная проблема с параметром lastmod. Google считает валидной запись даты в виде 2012-24-10, пример выборки из базы

	DATE_FORMAT(`lastmod`, '%Y-%d-%m')

Но такая запись считается ошибочной для yandex'a

 

Если вы устали бороться с тем, что tinyMCE удаляет теги, есть отличная альтернатива - imperavi. В нем есть конечно один недостаток - он платный. 100$, сумма не маленькая за небольшой компонент сайта, но оно того стоит. Конечно можно на первых парах и спереть, но это скользкая дорожка.

Очень приятный внешний вид, минимальная и самая необходимая функциональность реализована отлично, и установлена "из коробки". Нет такого мракобесия из ста миллионов иконок на панели в десять рядов, как это сделано в других WYSIWYG редакторах.

С плагинами конечно пробл

 

PHP_Debug

https://github.com/pear/PHP_Debug

Развитие первой панели прекратилось года 3 назад, но тем не менее её популярность достаточно высока. Идея её создания была взята с панели отладки symfony. Позже эта панель была встроена и в другие фреймворки: yii, codeigniter, и др.

 

Включить режим отладки можно в личном кабинете пользователя, на чей счет будут приходить деньги. Настройки можно найти на странице: https://merchant.webmoney.ru/conf/purse.asp

Главная проблема была именно с этим: найти нужную страницу с настройками, у них в личном кабинете хрен разберешься...

 

GistBox - это отличный сервис для хранения нужных кусков кода, например скрипт вывода отладночной информации, или определения браузера пользователя. С интеграцией в среду разработки они будут доступны буквально в 2 клика.

Для настройки необходимо сгенерировать токен. Заходим на Github-Applications кликаем Create new token, вводим название токена

В редакторе переходим Prefences->Package Settings-> Gist -> Settings - Default копируем все содержание и открываем Prefences->Package Settings-> Gist -> Settings - User, вставляем сюд

 

При создании таблицы в базе получил вышеуказанную ошибку. SQL запрос был примерно таким:

CREATE TABLE `deposite_grants` (
`dg_key` int(11) NOT NULL AUTO_INCREMENT,
`dg_stc_mask` varchar(255) NOT NULL DEFAULT '%',
`dg_dlv_id` varchar(255) NOT NULL DEFAULT '%',
PRIMARY KEY (`dg_key`),
UNIQUE KEY `dg_stc_mask` (`dg_stc_mask`,`dg_dlv_id`,`dg_stc_mode`) USING BTREE
);

Суть ошибки в том, что длинна ключа для таблиц типа MyISAM ограничена 1000 байтами, в отличии от типа innoDB. Достаточно  лишь указать тип таблицы TYPE = InnoDB

 

Попробовал сегодня скрипт реализующий версионность базы данных на php, прост и легок в использовании - рекомендую! Все что нужно - это скопировать его исходники в папку своего с сайта. Взять его можно тут или форкнуть с гитхаба (ссылка есть на сайте).

 

Да, гугл нас предупреждал http://googleappsupdates.blogspot.ru/2013/11/end-of-support-for-internet-explorer-9.html Но кто бы мог подумать, что гугл подсунет такую свинью? Я понимаю что они продвинутые перцы и делают крутые новомодные штукенции, но зачем ломать совместимость со старыми браузерами? Как известно, на данный момент google apps поддерживает IE >= 10 версии. Т.е. если вы используете некоторые их скрипты, в старых браузерах ваш код работать скорей всего не будет. В одном из проектов был размещен расположенный ниже код:

 

ускорение MySQL запроса в 10 с лишним раз...

SELECT d.*, p.* FROM db.detail d
LEFT JOIN db.detail_info di ON d.detail_id = di.detail_id
LEFT JOIN db.producers p ON d.prd_id = p.prd_id
LIMIT 4031450, 50
 

Столкнулся с тем, что при переносе сайта на другой сервер, на нем были заданы другие установки, в частности была задана внутренняя кодировка по умолчанию (mbstring.internal_encoding) UTF-8, поэтому считывалось 5 байт c переданного файла, вместо 8. Кодировка на сервере UTF-8 а в xls файле windows-1251, отсюда и проблемы.

Пример исправления ошибки ниже, в файле oleread.php

define('IDENTIFIER_OLE', pack("CCCCCCCC", 0xd0, 0xcf, 0x11, 0xe0, 0xa1, 0xb1, 0x1a, 0xe1));

ini_set('mbstring.internal_encoding', 'windows-1251');

 
создаем новое правило в /application/config/routes.php например
$route['product/(:num)'] = "catalog/start/$1";
и соответственно контроллер для новой страницы в 
/application/controllers/catalog.php
c содержанием, например
 

Выполнять команды надо от пользователя root. Убедитесь, что сейчас вы находитесь в домашней папке "/home/your_login/"

curl -s https://getcomposer.org/installer | /opt/lampp/bin/php

composer xampp linux

Если нет пакета curl, то надо его поставить. После установки, если все прошло успешно, вы увидите что-то вроде этого:

All settings correct for using Composer<br /> Downloading...<br /> <br /> Composer successfully installed to: /home/barma/composer.phar<br /> Use it: php composer.phar

запустите composer командой "/opt/lampp/bin/php composer.phar"

 

MySQL триггер на изменение значения определенного столбца

BEGIN
  IF OLD.pst_arrival_date <> NEW.pst_arrival_date THEN
    INSERT INTO _logs (log_lgt_id, log_login, log_key_value, log_old_value, log_new_value, log_description) 
    VALUES ('order_state_history', 'trigger', OLD.pst_id, OLD.pst_arrival_date, NEW.pst_arrival_date, CONCAT(OLD.pst_arrival_date,' -> ',NEW.pst_arrival_date));
  END IF;
END

 

Некоторые в интернете пишут, что ошибка может вознивать если не задан параметр начала автоинкремента поля таблицы, и советуют это исправить пересозданием поля с автоинкрементом = 1. Лично в моей ситуации данная ошибка появилась в следствии того, что закончился счетчик для поля - достиг максимального значения с типом int, пришлось изменить тип на bigint.

 

Может кому пригодится. Скрипт прост и понятем, работает без фреймворков.

В первых 6 строчках задаются параметры. wrapper_h - высота всей страницы. header_h и footer_h - высота шапки и подвала соответственно. pogr - погрешность (на всякий случай). Далее высчитывается высота, которую блок должен занимать (сontent_wrapper), и ему задается соответствующее значение. Все работает на классах, если в вашей верстке используются id шники - переделывать придется немного.


//растягивание по высоте блок контента
window.onload=function () {
var wrapper_h = document.getElementById('wrapper').offsetHeig

 

Firefox недавно выпустила функцию, которая называется "Black Box". Это очень удобно, Вы можете помечать скрипты как "черный ящик" в каждом случае. Во время отладки, в отладчике строки от таких библиотек будут автоматически пропускаться.

Это очень отличная штука, по целому ряду причин, например такие библиотеки как jQuery, Underscope и др. определяют множество функций позволяющих работать со списками и вызывать функции.

 

Все началось с того, что я нашел otg кабель в коробке из под своего нового планшета. Закинув на него пару программ через флешку, я подумал, а что если...

подключение к телефону клавиатуры, мышки и флэшки

 
Разбирал тут работу сотового телефона клавиатурой и мышкой одновременно, решил заодно обновить систему в ручном режиме. Загружаюсь и оп-па клавиатура не работает.
Нашел где то на просторах интернета, консольную команду, которая восстановила работу:
setxkbmap -layout us,ru -option grp:alt_shift_toggle 
Клавиатура как можно догадаться стала переключаться клавишами alt+shift, если не сильны в английском, последняя команда означает альт_шифт_переключить.
 

Собственно небольшая статья о возвращении на Linux. После длительного перерыва не без проблем проходит адаптация к старой/новой операционной сисмете.

логотип Убунту Ubuntu

 

В поисках плагина подсветки кода для TinyMCE наткнулся на запись в changelog в одном из плагинов...

 

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

интерфейс koding.com

 
В августовском номере web & PHP и в "Дайджесте интересных новостей и материалов из мира PHP" №23 (29.07.2013 — 11.08.2013) Был упомянут минималистичный маршрутизатор PHP Решил посмотреть на него и я...
 
Невероятно, но факт, друзья... Полиция нашла украденный у меня месяц назад телефон. Обычно такие дела остаются пылится в архивах до конца времен, но не в этот раз!
 
Небольшой обзор Firefox OS. Симулятор можно погонть прямо из браузера. Собственно под катом будет небольшая инструкция как это сделать и несколько скриншотов.
 
Прошла первая неделя после нового года. Вчера вернулся из Питера, а уже как будто куча времени прошла. Пробежался по сайтам, в поисках пропущенным статей - а везде пусто! Любит же праздновать наш народ! Даже популярные подкастеры и блоггеры ничего не пишут. Становится понятно для кого это хобби, а для кого уже как работа...
 
Последний раз мой сайт был запущен в году эдак 2007... Вот это вторая попытка что-то сотворить...
 
Давно не пользовался linux в качестве основной системы, да и прошлая версия, жила у меня больше двух лет. До этого стояла ubuntu 10.04 вроде... В общем в настройка последних версий xampp имеет некоторые отличия, подробности в статье.
 
Первым делом, я всегда иду Synaptic и смотрю есть ли пакет в репозитории. Нашел пакет, отметил для установки, по зависимости выкачивались устанавливались\\rсервер apache, php и все тому подобное... Это меня ни коим образом не устроило и я зашел на официальный сайт проекта и скачал последний релиз xdebug-2.1.0.tgz\\rРаспаковал командой: tar xzf xdebug-2.1.0RC1.tgz, залез в README. Для установки требовалось запустить скрипт phpize.
 
Скачайте с сайта http://www.zend.com/en/products/guard/downloads последнюю версию Zend Optimizer, у меня она на момент написания статьи v3.3\\rРаспакуйте куда нить, я бабахнул в директорию web сервера, чтоб кочевала вместе с проектами, как оказывается зря... :( зашел в директорию и запустил \\rскрипт в терминале, с правами рута, командой: sh install
 
При переходе на Линукс первым делом встал вопрос о рабочем месте. Нужно было найти комплексное решение, наподобие Денвера. Т.к. мне не хотелось\\rвыбирать пакеты устанавливать их по одному, не прельшало даже то, что их не надо настраивать. Выбор естественно пал на xampp. Почему? Потому что \\rфункционал их нисколько не урезан. А вот работать с ним не так удобно как с Денвером. Тут есть несколько особенностей, собственно чему статья и посвящена.

Категории

GIT сервер *nix html Linux php xampp SVN MySQL Настройка разработка Отладка Мысли mobile FirefoxOS тесты ЧПУ TinyMCE Киров блоггинг Вирусы Ubuntu Операционные системы JavaScript Android Среда разработки книги tips and tricks C# MSSQL С++ Qt PostgreSQL