if (is_array($autoload) && $this === $autoload[0])
2017/04/06
Symfony 1.4-ийг composer package ашиглах боломжтой болгох
Symfony lib-ийн lib/autoload/sfAutoloadAgain.class.php-ийн 72-р мөрөнд дараах кодыг өөрчилж оруулснаар сүүлийн үеийн composer-ээр суудаг package-үүдийг load хийж болж байна.
Label:
Symfony
Doctrine form ашиглалгүйгээр file upload хийх
<?php foreach ($request->getFiles() as $fileName) { $fileSize = $fileName['size']; $fileType = $fileName['type']; $theFileName = $fileName['name']; $uploadDir = sfConfig::get("sf_upload_dir"); $Contacts_uploads = $uploadDir.'/contacts_uploads'; if(!is_dir($Contacts_uploads)) mkdir($Contacts_uploads, 0777); move_uploaded_file($fileName['tmp_name'], "$Contacts_uploads/$theFileName"); } ?>
Label:
Symfony
2017/01/23
Cron log бүртгэл үүсэхээр тохируулах
/etc/rsyslog.d/50-default.conf файлыг нээж cron.*-ийн өмнөх # тэмдэгийг арилгаад хадгална.
sudo service rsyslog restart
service cron restart
командуудыг өгсний дараа /var/log/cron.log файлаас cron-ы лог бүртгэлийг харж болно.
sudo service rsyslog restart
service cron restart
командуудыг өгсний дараа /var/log/cron.log файлаас cron-ы лог бүртгэлийг харж болно.
Label:
Ubuntu
2017/01/04
Detecting & clearing INODE junks
Ubuntu серверийн маань Inode хязгаар дүүрээд серверт ямарч шинэ файл үүсэх боломжгүй болох алдаа тохиолдоод ухаж үзэв.
командаар шалгахад 100 хувь дүүрсэн үзүүлэлт харуулав.
Шалтгааныг хайж хаана тэр олон файл үүсээд байна вэ гэсэн асуудлыг мөшгөвөл
Командаар аль фолдерт хэт олон файл үүссэн байгааг харах боломжтой.
Сэжиг төрсөн фолдер ажиглагдвал
Энэ командаар дэд фолдеруудынх нь файлын тоог нарийвчилж шинжилж болно.
Миний тохиолдолд /var/lib/php5 хавтсанд хэт олон тооны session файл үүссэн байсныг
командаар устгав
$ df -i
командаар шалгахад 100 хувь дүүрсэн үзүүлэлт харуулав.
Шалтгааныг хайж хаана тэр олон файл үүсээд байна вэ гэсэн асуудлыг мөшгөвөл
$ for i in /*; do echo $i; find $i |wc -l; done
Командаар аль фолдерт хэт олон файл үүссэн байгааг харах боломжтой.
Сэжиг төрсөн фолдер ажиглагдвал
$ for i in /home/*; do echo $i; find $i |wc -l; done
Энэ командаар дэд фолдеруудынх нь файлын тоог нарийвчилж шинжилж болно.
Миний тохиолдолд /var/lib/php5 хавтсанд хэт олон тооны session файл үүссэн байсныг
$ cd /var/lib/php5 $ find . -name "sess_*" -print | xargs rm -v
командаар устгав
2015/10/09
Big integer add, multiply operations in C++
64 бит хэмжээнээс хэтрэх, натурал тоонуудыг нэмэх, үржих үйлдлүүдийг C++ дээр бичив. Жишээ кодонд тооны факториал олох програмыг хавсаргав.
#include <stdio.h> #include <algorithm> #include <iostream> #include <cstring> using namespace std; int n, s; string add(string a, string b){ reverse(a.begin(), a.end()); reverse(b.begin(), b.end()); //cout << a << " + " << b << endl; string sum = ""; int a_len = a.length(); int b_len = b.length(); int max_len = max(a_len, b_len); int carry = 0; //cout << a << endl << b << endl; for(int k = 0; k < max_len ; k++){ int digit_a = (k < a_len ? a[k] - '0' : 0); int digit_b = (k < b_len ? b[k] - '0' : 0); sum += ((digit_a + digit_b + carry) % 10) + '0'; carry = (digit_a + digit_b + carry) / 10; } if(carry) sum += "1"; //cout << sum << endl; reverse(sum.begin(), sum.end()); return sum.length() == 0 ? "0" : sum; } string multiply(string a, string b){ reverse(a.begin(), a.end()); reverse(b.begin(), b.end()); string product = ""; int a_len = a.length(); int b_len = b.length(); int max_len = max(a_len, b_len); string offset = ""; for(int i = 0; i < a_len; i++){ int carry = 0; string temp_product = offset; for(int j = 0; j < b_len; j++){ temp_product += (a[i]-'0')*(b[j]-'0')%10 + carry + '0'; carry = (a[i]-'0')*(b[j]-'0')/10; } if(carry) temp_product += carry + '0'; reverse(temp_product.begin(), temp_product.end()); product = add(product, temp_product); offset += "0"; } return product[0] != '0' ? product : "0"; } int main(){ string result = "1"; cin >> n; for(int i = 1; i <= n; i++ ){ result = multiply(result, to_string(i)); } cout << result << endl; return 0; }
Label:
Бодлогын анализ
2015/10/05
Тэмцээн #01
Өнгөрөсөн амралтын өдрүүдэд зохиогдсон https://www.hackerrank.com/contests/sict01/challenges тэмцээнд идэвхитэй оролцож амжилт гаргасан найзууддаа баярлалаа.
Label:
Бодлогын анализ,
Бодлогын тэмцээн
2014/05/15
Jquery Ajax loader
$(function () { if (window.location.hash){ contentload(window.location.hash);} $("body").on("click", "a", function(event){ fragment = this.hash; if(this.hostname == window.location.hostname ) { if($(this).attr('data-toggle') != "dropdown" && $(this).attr('target') != "_blank") { var load_url = this.href.split('<?php echo $_SERVER['SERVER_NAME']?>'); contentload(load_url[1], true); } return false; } }); window.onpopstate = function(event) { load_url = location.href; contentload( load_url, false); console.log("path: " + load_url); }; }); function contentload(load_url, is_link) { $("#body-loader").show(); $.ajax({ url : load_url, success : function(data) { $('#container-wrapper').html(data); $("#body-loader").hide(); if(is_link) { var full_url = '//<?php echo $_SERVER['SERVER_NAME']?>'+load_url; history.pushState({}, 'New URL: ' + full_url, full_url); } load_start(); } }); }
Cache header for Apache
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" </IfModule>
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" </IfModule>
Label:
Apache,
Tips,
Web Programming
Subscribe to:
Posts (Atom)