Блог

Фрілансера

RSS
rss
Закладки

Бер

5

mount external HDD in openSUSE

категорія: linux

Кожного разу коли я підключаю зовнішній хард до машини під лінуксом – приходиться гуглити на тему “linux подключаем внешний винт htfs” або “mount external HDD in openSUSE”.

Стаття розрахована для того, щоб я більше не шукав потрібні команди.

Читати далі »

Лют

24

Perl and PHP

категорія: perl, php

perl vs php

perl vs php


Тільки недавно почав писати на перлі і одразу помітив схожість з пхп.
Сьогодні на прикладі короткого скрипта покажу чим схожі Perl і PHP.
Читати далі »

Лют

17

Обмін WebMoney (в картинках)

категорія: гроші

Кожен фрілансер рано чи пізно задавав собі запитання: де обміняти вебмані?

Як вивести вебмані на карту Приват банка вже говорилось. А сьогодні, я на власному прикладі покажу, як користуватись біржою вебмані.

Обережно, багато картинок!

Читати далі »

Лют

15

HDD Verbatim 1 Tb (характеристики і відгук)

категорія: флуд

Купив я нарешті зовнішній хард. Давно мріяв про Verbatim на 1 Tb.

hdd verbatim 1 Tb

hdd verbatim 1 Tb

Прийшов додому, розпаковую…

Читати далі »

Лют

9

Продовжуємо грати в дурака)

категорія: games, флуд

Від дня публікації карточної гри дурак пройшло не мало не багато – півроку. І за цей час було зіграно 350 партій. А це приблизно по дві парті щодня.
Коротка статистика:

103 – виграв гравець
90 – виграв бот
19 – нічия
138 – партія не закінчена

Скоро буде залита ще одна гра. Цього разу написана на флеші.

Слідкуйте за постами :)

Лют

5

Google vs Microsoft

категорія: флуд

Browser Statistics

Browser Statistics

Кому з верстальщиків не приходилось годинами паритись через fucking IE6? Особливо через його небажання правильно показувати напівпрозорість.

І який є вихід з цієї ситуації? забити на нього :)

Глянемо на статистику від w3schools. Google Chrome перегнав Internet Explorer 6!!!

Нажаль до IE7 ще не добрався, але згідно графіка, через місяць другий і він буде пасти задніх :)

Січ

15

Оптимізація php-коду ч.1

категорія: php

Останнім часом приходиться часто задумуватись над швидкістю роботи скрипта. Особливо коли кодинг іде під великий проект.
Тому ділюсь деякими моментами оптимізації.

Вибірка з бази даних.

Як вибрати дані з бази даних?
Звичайний спосіб:


$sql = 'SELECT * FROM `users`';
$result = mysql_query($sql);
if (!$result) {
    echo mysql_error();
    exit;
}
if (mysql_num_rows($result) == 0) {
    echo "No rows found";
    exit;
}

А я пропоную дещо краще:


function fetchRow($sQuery) {
  $res = mysql_query($sQuery);
  $aRet = mysql_num_rows($res) ? mysql_fetch_assoc($res) : false;
  mysql_free_result($res);

  return $aRet;
}

$aData = fetchRow('SELECT * FROM `users`');

В результаті маємо масив даних, або false, якщо даних немає.
Це якщо збираємось вибирати тільки один рядок.

А якщо буде більше одного рядка – то:


function fetchRows($sQuery) {
  $res = mysql_query($sQuery);
  $iNumRows = mysql_num_rows($res);
  $aRet = array();
  if ($iNumRows) {
    while ($iNumRows-- > 0) {
      $aRet[] = mysql_fetch_assoc($res);
    }
  } else {
    $aRet = false;
  }
  mysql_free_result($res);

  return $aRet;
}

$aData = fetchRow('SELECT * FROM `users`');

В результаті маємо масив рядків або false.

Гру

16

дужки, які тільки групують

категорія: php

Поговоримо про регулярні вирази (регулярку).
Візьмемо приклад:


$number = '+380670000000';
$aReturn = array();
$exp = "/^\+?3?((8039|8050|8063|8066|8067|8068|8093|8095|8096|8097|8098|8099)\d{7})$/";

preg_match($exp, $number, $aReturn);

print_r($aReturn);

Тут ми перевіряємо на валідність мобільний номер.
В результаті получимо:

Array
(
[0] => +380670000000
[1] => 80670000000
[2] => 8067
)

А навіщо нам $aReturn[2]???

Отже задача:
Потрібно в регулярці згрупувати елементи, але не потрібно їх запам’ятовувати для видачі.

Вихід із ситуації:


$number = '+380670000000';
$aReturn = array();
$exp = "/^\+?3?((?:8039|8050|8063|8066|8067|8068|8093|8095|8096|8097|8098|8099)\d{7})$/";

preg_match($exp, $number, $aReturn);

print_r($aReturn);

В результаті получимо:

Array
(
[0] => +380670000000
[1] => 80670000000
)

А відрізняється лише ?:
Тобто потрібно поставити ?: одразу після відкритих дужок, щоб вони не запам’ятовувались.

Лис

19

Date Time picker

категорія: jquery

Недайно прийшлось заюзати календар з часом, тобто datetime picker. Багато з тих що знайшов в онлайні не підходили по ряду причин. Тому вирішено зробити огляд календарів на JavaScript, які мають як дату і час.

Перший календар – це популярний пікер на JQuery. Хоча він і немає часу, але забути про нього я не можу.

JQuery UI Datepicker

http://jqueryui.com/demos/datepicker/

jquery

jquery

Плюси:

  • зміна тем (themes)
  • багато настройок

Мінуси:

  • Я так і не знайшов можливості вводити час. Хіба що використати додатковий плагін.

Читати далі »

Жов

28

PHP, робота з картинками

категорія: php

Часто приходиться загружати на сервер (upload) різні картинки. І постійно приходиться писати одні і ті ж функції для роботи з картинками.
Тому я вирішив написати одну лібу (img.lib) на php, для загрузки картинок на сервер і їх обробки.
Отже набір функцій:
checkPic – перевіряємо картинку перед загрузкою. Максимальний розмір (size), розширення (extension), розрішення (resolution).
movePic – загружаємо картинку (робимо upload).
resizePic – змінюємо розміри картинки (resize).
Читати далі »

stat24 -счетчик посещаемости сайта Valid XHTML 1.0 Transitional
Блог фрілансера
Sergunik
2009