Рейтинг
3.53

О блоге

программирование, системное, прикладное, десктоп приложения

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (14)

akhmetov dark_barker kinbot marselester burkozabr DragonDesign AlexMcArrow me2 Irbis sashase Crash eldar hr-it Sik
07 апреля 2010

MD5, SHA1, UNIQID для генерации уникальных значений

  • написал: MpaK
  • 110
В целом задачи как таковой затестировать скорость генерации не было (я сразу выбрал md5 изначально), но попоже захотелось быстренький на глаз сделать тестик. Что же быстрее генерит «уникальные» значения, хэширует и т.п.

Где это интересно и применимо? Пока я только увидел в системах кэширования, именно там порой много раз приходится использовать хэш-функцию для генерации например уникального ключа соответствующего нашему запросу, названию файла, адресу страницы, блока и т.п.

Читать далее →
+1
11 марта 2010

CodeIgniter в 2ой версии переходит в Mercurial под крылом сервиса BitBucket!

  • написал: MpaK
  • 139
Странная конечно новость и так последнее время все в ожидании выхода CI 2, так как уже подсмотрели частички в релизах ExpressionEngine 2.

В целом вот EllisLab переходит на Mercurial, Assembla, BitBUcket и CodeIgniter 2 теперь на BitBucket.

Переход на Mercurial в целом понятен, хотят тянуть разные ветки децентрализованно. Только почему не GIT, этого я не понял, кроме общего врага в сабвершене и то, что они больше в команде «любят» платонически Меркуриал — больше объяснений нет.


Читать далее →
+1
17 февраля 2010

JetBrains Web IDE Public Preview топик-ссылка

JetBrains WebStorm & PhpStorm are two Integrated Development Environments for web programming, providing a unique user experience for editing HTML, CSS, JavaScript, XMl, as well as for working with VCS and SQL. PhpStorm is also a professional PHP IDE offering advanced PHP development support.
php, ide
0
10 февраля 2010

CodeIgniter + HMVC маленький багфикс

  • написал: MpaK
  • 111
Знаете, есть маленькая неприятность обнаруженная совсем не вовремя.

В общих чертах у последнего CodeIgniter 1.7.2 загруженного из SVN и HMVC библиотеки для модульности (вы же надеюсь её используете если работаете с CI?) при РУЧНОЙ загрузки и подключении к базе данных есть баг, просто не грузится класс и не создается подключение.

Как показало «расследование» с пристрастием, ошибку содержит именно HMVC.

Давайте исправим. Открываем наш файл Controller.php из папки application/libraries нашего приложения. находим
public function database($params = '', $return = FALSE, $active_record = FALSE) {

и правим на
public function database($params = '', $return = FALSE, $active_record = <b>NULL</b>) {


можно было бы сохранить и всё бы заработало, но всё же код лишний присутствует и пугает своей бредовой старостью и неуважением к типам

дальше уничтожаем строку

if (class_exists('CI_DB', FALSE) AND $return == FALSE AND $active_record == FALSE)
    return;


и заменяем на вот эти две строки

$CI =& get_instance();
if (class_exists('CI_DB', TRUE) AND ($return === FALSE) AND ($active_record === NULL) AND isset($CI->db) AND is_object($CI->db)) return FALSE;


Всё, можно смело запускать и радоваться загружая свои любимые профили баз как захочется
$this->load->database( 'production' );
+1
09 февраля 2010

Ускорение PHP скриптов (для нуба)

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


Читать далее →
+3
21 января 2010

Как удалить из строки все буквы кроме некоторых?

Иногда возникает задача удалить из строки все символы кроме некоторых. На мой взгляд для этой задачи регулярные выражения в самый раз задуманы.
для Oracle
select regexp_replace('АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя','[^кя]','',1,0,'i') from dual;

Для углубления в тему регулярных выражений в Oracle следует почитать это.

для C#

Regex r = new Regex("[^кя]*",RegexOptions.IgnoreCase);
Console.WriteLine(r.Replace("АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя", ""));

Для .Net кодеров полезно прочитать — Регулярные выражения в .NET Framework
+2
21 января 2010

Как получить имя колонки таблицы на которую мапится свойство NHibernate класса?

How to Get Field's Name from property?

Понадобилось мне получить в runtime имя колонки таблицы на которую мапится NHibernate объект. Вот и наваял хелпер для этого.

public class NHibernateHelper
    {
        private ISessionFactory _factory;
        /// <summary>
        /// Конструктор
        /// </summary>
        /// <param name="factory"></param>
        public NHibernateHelper(ISessionFactory factory)
        {
            if (factory == null) throw new ArgumentNullException("factory");
            _factory = factory;
        }

        /// <summary>
        /// Метод возвращает название колонки таблицы на которую мапится свойство
        /// </summary>
        /// <typeparam name="T">NHibernate класс</typeparam>
        /// <param name="propertyName">Имя свойства</param>
        /// <returns>Имя колонки таблицы</returns>
        public string TableColumn<T>(string propertyName) where T: class
        {
            SingleTableEntityPersister persister = (SingleTableEntityPersister)_factory.GetClassMetadata(typeof(T)); ;
            return persister.GetPropertyColumnNames(propertyName)[0];
        }
    }


Пример использования

Helpers.NHibernateHelper entityHelper = new Helpers.NHibernateHelper(Domain.SessionFactory);
entityHelper.TableColumn<DocumentType>("FormatSerNum");
+1
30 декабря 2009

PDO и маленькая проблема placeholder'а и мнимых типов в PHP

  • написал: MpaK
  • 192
В целом, как-то неожиданно и совершенно не вовремя всплыла у меня проблема на пару часов, которые пришлось отвлекаться и разбираться с непонятной «фигней».


Читать далее →
0
24 декабря 2009

Получение GEO данных по IP на Drupal 6.х

В продолжении статьи «Получение GEO данных по IP» камрада МраКа, напишу как это делается в Drupal 6.x
В небольшом стартапе http://www.smstariff.ru было необходимо сделать так, чтобы страна была выбрана сразу.

Читать далее →
+1
19 декабря 2009

Получени GEO данных по IP

  • написал: MpaK
  • 131
В целом простая задача, возникла у меня недавно для получения данных регистрирующегося пользователя выявить его страну, город и его часовой пояс.

Конечно можно решать разными способами, загрузить себе базу с кучей ip данных и получать из неё, быстро и удобно, но проблема, что придётся заниматься поддержанием базы в актуальном состоянии. Я как человек ленивый, хотел бы упростить задачу и нашел веб-сервис, который отдаёт по запросу на ip адрес данные в 2х форматах, JSON и XML. Так как JSON мне как-то ближе и проще, то был набросан быстро класс старающийся как бы тише и спокойно отдать мне информацию по IP.

Класс и короткий пример прилагаю, юзайте на здоровье так сказать.


Читать далее →
+1
15 декабря 2009

Ресайз изображений

В общем целом, существует два подхода к ресайзу изображений. И оба имеют как плюсы, так и минусы.


Читать далее →
0
03 декабря 2009

Приколюхи-коротышки

Две забавки по языкам, недавно прикалывались на одном, местном форуме, наверное это победители по короткости выполняемые исходники не в консоли так сказать…


Читать далее →
0
03 декабря 2009

Определение нажатия комбинации клавиш средствами BIOS на ассемблере

По учебе понадобилось написать программу на ассемблере, которая должна
распознать нажатие «горячей» комбинации клавиш LeftCtrl+RightShift+F3
и реагировать на него звуковым сигналом. Информации/примеров по этой теме маловато,
по этому решил опубликовать свою программку.


Читать далее →
+2