11/28/2011

Cakephp : Apache Alias

Энэ удаа Alias ашиглан Cakephp дээр хөгжүүлсэн вэб хуудасаа харуулах талаар жаахан тэмэдэглэл бичье.
Cakephp ашиглаагүй үед дараах байдлаар шууд ашиглах боломжтой байдаг бол, Cakephp дээр хөгжүүлсэн вэб арр-н хуьд нэмэлт тохиргоо шаардлагатай болдог.

Alias /test /usr/local/test/

AddDefaultCharset Off
Options Indexes FollowSymLinks
Order allow,deny
Allow from all



Cakephp үед доорх байдлаар тохиргоогоо өөрчлөөрэй.
1-рт

1. app/webroot/.htaccess нээж доорх мөрийг нэмнэ
2. RewriteBase /test

Жишээлбэл :


RewriteEngine On
RewriteBase /test
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]



2-рт

//app/webroot/index.php файлыг дараах байдлаар засварлана
//Засварлахын өмнөх
if (!defined('WEBROOT_DIR')) {
define('WEBROOT_DIR', bsename(dirname(__FILE__)));
}
//Засварлахын дараах
if (!defined('WEBROOT_DIR')) {
define('WEBROOT_DIR', "test");
}


Тохиргоо хийгдэж дууссан бол дараах байдлаар хандаж болно.

http://your-domain/test/



Continue Reading...

11/27/2011

Sony Tablet


Хэн нэг нь android os-тэй tablet pc авах гэж байгаа бол
Sony Tablet дажгүй юм байна шүү. Надад лав бусдаасаа хавь илүү юм шиг санагдсан. Үнийн хувьд жаахан үнэтэй ч ашиглахад амар бас цэнэгээ гайгүй удаан барьдаг юм байна гэж...
Бусад зураг
Continue Reading...

11/24/2011

Android : Holo Theme

Holo Theme ашиглаж байхад titlebar-г customize хийж болохгүй юм. Style-нхаа parent-г зүгээр Theme гэхээр болоод байгаа хэрнээ Holo Theme гэж тодорхойлохоор ажилдаггүй ээ. Holo Theme-г ашигламаар байдаг customize хийж байсан хүн байвал туршлагаасаа хуваалцааж.
Continue Reading...

11/21/2011

Android : Cache directory-н талаар

Android арр бичиж байхад Cache directory ашиглах шаардлага ихээхэн гарч байгаа болов уу. Хэдэн санаа болохоор зүйл энэ бичлэгтэй оруулъя гэж бодлоо.
Cache directory-д дэд хавтас үүсгэх

File file = new File(getCacheDir(), "your folder name/");
//Дээрх folder байгаа эсэхийг шалгах
if (!file.exists()) {
//байхгүй тохиолдолд үүсгэх
if(file.mkdirs()){
//Үүсгэсэн folder тоо файл хуулах
FileOutputStream fos = new FileOutputStream(new File(getCacheDir(), "your folder name/" + хуулах файлийн зам));
fos.close();
}
}

Cache directory устгах

public static void fdeleteCacheDir(Context context) {
Runtime localRuntime = Runtime.getRuntime();
String cachePath = context.getCacheDir().getPath();
String cmd = "rm -R " + cachePath;
try {
localRuntime.exec(cmd);
} catch (IOException err) {
Log.d(TAG, " fdeleteCacheDir:" + err.getMessage());
}
}

Continue Reading...

10/31/2011

CakePHP Sqlite3 ашиглах

CakePHP FW -н sqlite_open функц нь Sqlite2 хүртлэх хувилбарыг дэмждэг бөгөөд Sqlite3 ашиглах үед доорх алдаа үүсдэг.

file is encrypted or is not a database


Sqlite3 ашиглахын тулд дараах классыг ашиглаж болно.
Доорх линкээс татаад аваарай
Татах


Татаж авч задласны дараа файлуудаа доор бичсэний дагуу харгалзах дир-т хуулна.

dbo_sqlite3_spok.php - г cake/app/models/datasources/dbo/」
dbo_source.php - г 「cake/app/models/datasources/」


ӨС-тай холбох тохиргоог доорх байдлаар тохируулна.

var $default = array(
'driver' => 'sqlite3_spok',
'connect' => 'PDO',
'persistent' => false,
'host' => '',
'login' => '',
'password' => '',
'database' => 'sqlite:../your path/Your DB',
'prefix' => '',
'encoding' => 'UTF-8',
);


Гэвч scaffold,paginate г.м функцуудыг ашиглах үед дараах алдаа үүсдэг.

Call to undefined method DboSqlite3Spok::calculate()


Дээрх алдааг засахдаа dbo_sqlite3_spok.php-д дараах функцыг нэмээрэй.

function calculate(&$model, $func, $params = array()) {
$params = (array)$params;
switch (strtolower($func)) {
case 'count':
if (!isset($params[0])) { $params[0] = '*'; }
if (!isset($params[1])) { $params[1] = 'count'; }
return 'COUNT(' . $this->name($params[0]) . ') AS ' .$this->name($params[1]);
case 'max':
case 'min' :
if (!isset($params[1])) { $params[1] = $params[0]; }
return strtoupper($func) . '(' . $this->name($params[0]) . ') AS ' . $this->name($params[1]);
break;
}
}

Continue Reading...

10/24/2011

SELinux Enable => Unable to connect to PostgreSQL server: could not connect to server: Permission denied


Unable to connect to PostgreSQL server: could not connect to server: Permission denied

SELinux Enable үед дээрх алдаа заавал дараах командыг бичиж SELinux төлөвийг шалгана.

getsebool -a | grep httpd

Дээрх командыг биелүүлэхд доорх байдлаар үр дүн нь харгадана.

allow_httpd_anon_write --> off
allow_httpd_mod_auth_pam --> off
allow_httpd_sys_script_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_network_connect --> off
httpd_can_network_connect_db --> off
httpd_can_network_relay --> off
httpd_disable_trans --> off
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> on
httpd_rotatelogs_disable_trans --> off
httpd_ssi_exec --> off
httpd_suexec_disable_trans --> off
httpd_tty_comm --> off
httpd_unified --> on

httpd_can_network_connect_db гэсэн тохиргоо Off үед дээрх алдаа үүсэх магадлалтай учир доорх командыг ашиглан On болгон тохируулна.

setsebool -P httpd_can_network_connect_db 1

Ер нь SELinux Enable үед урьд нь ажиллаж байсан тохиргоо ажиллахгүй үед SELinux-н лог файлыг нь шалгах нь зүйтэй юм.

/var/log/audit/audit.log


Permission denied гэсэн алдаа заасан үед дээрх лог файлыг шалгахдаа доорх команды ашиглавал хялбар байдаг.

grep "avc: denied" /var/log/audit/audit.log

Бүгдэд нь амжилт хүсье. :)
Continue Reading...

10/21/2011

Android Device information-г ашиглах талаар


Дараах жижигхэн жишээ код хэрэг болж магад гэж бодоод оруулж байна.

ICCID、IMSI、IMEI мэдээлэлийг авах
AndroidManifest.xml-д дараах uses-permission нэмнэ



Java Code

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

//ICCID
String iccid = telephonyManager.getSimSerialNumber();

//IMSI
String subscriberid = telephonyManager.getSubscriberId();

//IMEI
String deviceid = telephonyManager.getDeviceId();


МАС address авахдаа
AndroidManifest.xml-д дараах uses-permission нэмнэ



Java Code

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String macAddress = wifiInfo.getMacAddress();



OS хувилбар, тухайн Device-н нэр авахдаа

//OS Version
String osVersion = Build.VERSION.RELEASE;

//Device Name
String productName = Build.PRODUCT;
Continue Reading...

10/20/2011

ocropus суулгах талаар

Дээрх програмыг CentOS 5.X дээр суулгаж байсан туршлага байвал туршилгаасаа хуваалцана уу?
Алдаа заагаад суухгүй юм.
Tesseract 3.00 суулгасан ч үр дүн нь буруу гараад байх юм.
Continue Reading...

10/10/2011

Android:XmlPullParser & Dialog


Блогтоо XmlPullParser & Dialog ашигласан жижигхэн жишээ оруулж байна. Та бүхэн санаа оноо авна биз дээ.


Тайлбар :

XmlPullParser функцыг ашигласнаар хавтсанд байрлах бүх XML файлуудыг уншиж файл тус бүрээр тэдгээрийн утгыг хялбараар ашиглаж болдог.



Тайлбар :

Энэ удаагынхаа жишээ нь Dialog ашиглах бүртээ тодорхойлох бус Dialog функыг нэг тодорхойлон хэд хэдэн удаа Dialog-н утга болон гарчигийн дахин тодорхойлж болохуйц жишээ болно.


assets хавтсанд dialog.xml файлыг үүсгэнэ.



XmlPullParser and Dialog
XmlPullParser and Dialog ашигласан жишээ


Жишээ код :

//Dialog Flg
public static final int DIALOG_FLG = 0;
//Dialog Title
public static final String STR_TITLE = "TITLE";
//Dialog Message
public static final String STR_MESSAGE = "MESSAGE";
// Tag-n ner
String STR_TAG = "";
// Value
String STR_VALUE = "";
//
Bundle data = new Bundle();
@Override
public void onCreate(Bundle savedInstanceState) {
try{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//XmlPullParser
XmlPullParser parser = Xml.newPullParser();
// assets Folder dahi xml file-diig unshih
AssetManager asset = getResources().getAssets();
InputStream is = null;
//dialog.xml file neeh
is = asset.open("dialog.xml");
InputStreamReader isr = new InputStreamReader(is);
parser.setInput(isr);

for (int type = parser.getEventType(); type != XmlPullParser.END_DOCUMENT;
type = parser.next()) {
switch(type) {
case XmlPullParser.START_TAG: // start tag
STR_TAG = parser.getName();
break;
case XmlPullParser.TEXT: // tag-n utga
STR_VALUE = parser.getText();
// utga bga esehiig shalgah
if(STR_VALUE.trim().length() != 0) {
// title tag-d bichigdsen utgiig data huvisagchid olgoh
if(STR_TAG.equals("title")) {
data.putString(STR_TITLE, STR_VALUE);
} else if(STR_TAG.equals("msg")) {
//msg tag-d bichigdsen utgiig data huvisagchid olgoh
data.putString(STR_MESSAGE, STR_VALUE);
}
}
break;
case XmlPullParser.END_TAG: // end tag
break;
}
}
//Dialog haruulah
showDialog(DIALOG_FLG, data);
}catch(Exception err){
Log.e("ERROR",err.getMessage());
}
}


@Override
protected Dialog onCreateDialog(int id){
return null;
}

@Override
protected Dialog onCreateDialog(int id, Bundle data){
Dialog dialog = null;
switch(id){
case DIALOG_FLG:
String title = data.getString(STR_TITLE);
String mes = data.getString(STR_MESSAGE);
dialog = new AlertDialog.Builder(this)
.setTitle(title)
.setMessage(mes)
.setPositiveButton("OK", null)
.create();
break;
}

return dialog;
}

@Override
protected void onPrepareDialog(int id,Dialog dialog,Bundle data){
switch(id){
case DIALOG_FLG:
String mes = data.getString(STR_MESSAGE);
AlertDialog ad = (AlertDialog)dialog;
ad.setMessage(mes);
break;
}
}

Continue Reading...

9/06/2011

httpd: apr_sockaddr_info_get() failed for ...


httpd: apr_sockaddr_info_get() failed for xxxx.xxxx
Could not reliably determine the server's fully qualified domain name,

Дээрх алдаа вэб сервер ээ Start,Restart хийх үед гарвал дараах тохиргоонуудыг дахин нэг шалгаарай.

/etc/hosts-н тохиргоо
/etc/sysconfig/network-н тохиргоо
Тохиргоог өөрчлөх
service network restart
/etc/httpd/conf/httpd.conf файлд ServerName-г тохируулсан эсэх

Continue Reading...

8/05/2011

VMware ESXi 4.1 : Tech Support Mode Disabled

Хэн нэгэнд нь ESXi 4.1 дээр Console ашиглах шаардлага гарч магад гээд энэ бичлэгийг оруулж байна.

ESXi 4.1-н default тохиргоотой үед Console ашиглах боломжгүй ба доорх текстийг дэлгэцэнд харуулах болно.

Tech Support Mode has been disabled by the administrator.

** Console-руу шилжихдээ Alt+F1
** Үндсэн дэлгэцрүү шилжихдээ Alt+F2

Enable болгохын тулд дараах видеоны дагуу серверийнхээ тохиргоог өөрчлөөрэй.

Console-г идвэхтэй болгосоноор заавал VMware vCenter Server ашиглалгүйгээр серверийн тохиргоогоо өөрчлөх боломжтой.
Жишээ нь : SSH идвэхтэй болгох г.м
Continue Reading...

7/29/2011

VMware ESXi : Backup Guest OS


Блогийнхоо зочидод энэ өдрийн мэнд хүргье. VMware ESXi дээр 4 ҮС систем суулгаад ашиглаж байгаа юм. Тэгээд суулгасан ҮС-дээ Backup хийх гэсэн жаахан асуудал гараад та бүхнээс асуух гэсэн юм.

Зорилго нь: Автомаар USB HDD-д Backup хийх.

Эхлээд өөрийнхөө байдалыг жаахан тайлбарлая. Backup хийх талаар судлахад ерөнхийдөө дараах 4н төрлийн арга байх шиг байгаан.

1. vCenter Converter ашиглах
2. Data Browser ашиглах
3. Remote CLI ашиглах
4. SSH ашиглах

Дээрх 4н аргыг ашиглаад Backup хийж болох боловч эхний 2 нь хэтэрхий удаан тэгээд автомаар Backup хийж болохгүй. Сүүлийн аргыг ашиглах нь боломжийн боловч доорх асуудлууд үүсээд байгаан.

1. Суулгасан ҮС ажиллаж байх үед *.vmdk файлруу хандаж болохгүй
2. 1-р асуудлыг snapshot ашиглаад шийдэж болох боловч ESXi ямар нэгэн USB Device танихгүй байгаа учир USB HDD-д Backup хийх боломжгүй болчоод байна.


Файл сервер үүсгээд сүлжээгээр Backup хийж байгаа боловч Backup хийх өгөгдлийн хэмжээ их учир жаахан тиймэрхүү болоод байгаа юм.

Та бүхэн ESXi-д суулгасан ҮС-ээ хэрхэн Backup хийж байгаа талаараа зөвлөгөө өгч туслана уу?

Мөн ESXi-д ямар нэгэн USB Device таниулах талаар санал байвал сэтгэгдэл үлдээнэ үү.
Continue Reading...
 

Надад итгэл бий Copyright © 2009 WoodMag is Designed by Ipietoon for Free Blogger Template