Ярлыки

.htaccess (4) тестирование (8) шаблоны проектирования (3) css (5) Debian (6) docker (2) Doctrine2 (6) Git (6) html (4) java (6) javascript (13) jquery (11) LFS (3) linux (23) mac os (4) mod_rewrite (2) MSSQL (4) MySQL (18) ORM Doctrine (17) patterns (3) PDO (3) perl (7) PHP (64) PHPUnit (8) Python (15) SEO (2) Silex (1) SimpleXML (1) SQL (14) ssh (4) Ubuntu (24) Yii1 (1) Zend Framework (19) ZendFramework2 (8)

пятница, 11 февраля 2011 г.

С/С++. Создание динамической библиотеки в Linux.


// HelloWorld.c

#include 

extern myFoo(int var); // объявляем внешнюю функцию

int main() 
{
    int var = myFoo(5);
    printf("myFoo(20) = %d", var);
    return 0;
}


// myFoo.c

int myFoo(int var)
{
    return var + 100;
}

Компиляция с PIC (Position Independent Code), реализует относительную адресацию, для того, чтобы разные программы могли использовать функции библиотеки, находясь в различных адресных пространствах.
gcc -fPIC -c myFoo.c

Создание динамической библиотеки с именем libmyfoo.so c ключом -shared
gcc -shared -o libmyfoo.so myFoo.o

Компиляция основной программы
gcc -c HelloWorld.с

Компиляция программы с динамической библиотекой, используем ключ -l, в названии библиотеки опускаем lib и .so
gcc HelloWorld.o -L. -lmyfoo -o result

четверг, 10 февраля 2011 г.

iPad. 3g интернет в Украине.

У меня самый простой iPad без 3g, но благодяря программе iBluever из Cydia и моей Nokia 5230 я пользуюсь интернетом везде.

iBluever - программа которая осуществляет dial-up подключение через мобильный телефон по bluetooth. Стандартное использование bluetooth в iPad ограничено подключением некоторых гарнитур, клавиатур и тд.  А для 3g предполагается покупка устройства с его поддержкой, которое разумеется стоит дороже ... и не на 5 долларов  ;-)

Для покупки iBluever мне потребовался аккаунт paypal (делается очень бысто, подключил карту Приват Банка visa internet), 5 USD и аккаунт на facebook (или gmail) для регистрации в Cydia. Благодаря регистрации все купленные приложения закрепляются за аккаунтом, что очень полезно при перепрошивке, апгрейде и тд.

Настройки для utel:

Точка доступа: 3g.utel.ua
Набираемый номер: *99#
Учетная запись:
Пароль:
Сценарий соединения: Default

Настройки для MTS Украина:

Точка доступа: internet.mts.ru
Набираемый номер: *99#
Учетная запись: mts
Пароль: mts
Сценарий соединения: Nokia GPRS

iPad. Непривязанный jailbreak 4.2.1 вышел.

Обновился все ок. Все было бы совсем хорошо, если бы сначала не закрыл файерволом доступ в сеть для greenpoisOn. Никак он не хотел без интернета работать. Вообще бы об этом апгрейде не думал, если бы не сломался App Store (есть подозрения что спецом, для того чтобы люди обновили свои 3.2.2 прошивки)

Качал тут для win greenpois0n
Следовал инструкциям и тд. Cydia стоит, купленные приложения из Cydia и App Store установились без проблем.

ORM Doctrine. Выборка со случайным порядком.

// test.php

// ...
$q = Doctrine_Query::create()
    ->select('t.id, RANDOM() AS rand')
    ->from('Forum_Thread t')
    ->orderby('rand')
    ->limit(1);

echo $q->getSqlQuery();

...

SELECT 
f.id AS f__id, 
RAND() AS f__0 
FROM forum__thread f 
ORDER BY f__0 
LIMIT 1

вторник, 8 февраля 2011 г.

четверг, 3 февраля 2011 г.

iPad. 100 % работающий терминал для iPad.

Проверено на jailbreak iOS 3.2.2
Подключаем в Cydia репозиторий:
http://www.podzombie.com/repository

И устанавливаем ...
Package: mobileterminal
Version: 426
Priority: standard
Section: Terminal_Support
Maintainer: StanHell 
Pre-Depends: dpkg (>= 1.14.25-8)
Depends: bash, coreutils, ncurses, system-cmds
Architecture: iphoneos-arm
Filename: ./deb_files/MobileTerminal-426.deb
Size: 148174
Installed-Size: 536
MD5sum: 8da95b458caa0f9bbb298ff04d363a56
Description: MobileTerminal for support with the iPad, iPhone and iPod Touch running the iOS4 and iOS4.0.1 firmware!
Name: MobileTerminal (iOS4.1 Compatible)
Author: Allen Porter 
Depiction: http://developer.podzombie.com/details_5.html
Homepage: http://www.podzombie.com

вторник, 1 февраля 2011 г.

Ubuntu. Если пропал апплет сети.

Пробуем сбросить насройки панели Gnome
gconftool-2 --shutdown
gconftool --recursive-unset /apps/panel
rm -rf ~/.gconf/apps/panel
pkill gnome-panel


или перезапустить сетeвой демон ...
sudo /etc/init.d/network-manager restart