PHP

Posted by admin

Куди ж подівалися ПХП-програмісти с середнім і вище рівнем знать... так звані мідл і сінйор програмери. Вже декілька місяці шукаю, та щось немає нікого підходящого (. Ось нещодавно прийшов хлопець, який в своєму резюме пише "знаю майкрософт офіс і акробат рідер" і при цьому завіряє що він сінйор програміст ))). І це не одиничний випадок.

Але до справи, якщо в вас є досвід в ПХП і ви шукаєте нову роботу - пришліть мені резюме на spirt40@gmail.com.

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

Posted by admin

Більше ніж 5 років назад почав я вивчати PHP, і в той час для своєї домашньої сторінки мною було розроблено унікальний двигунець, який я б хотів пропіарити:

Назва: Без Назви. Я тоді ще не знав, що розробив супер-класну річ.
Підтримка Баз даних: підтримує лише базу даних "ЗвичайнийТекстовийФайлик"
Версія PHP: 4-та
Архітектура: як в сучасних фреймворках, тобто все обробляє файл index. Тобто можливо легко імплементувати ЧПУ.
Розмір: лише 5кБ
Меню: є, навіть багаторівневе
Шаблони: є підтримка шаблонів, власного типу:

#title#
Розробки Президента України
#submenu#
index.php?id=sms_text.htm">SMS
#text#
<p>На цій сторінці знаходяться деякі скрипти, які були зроблені в перервах між відпочинком. Скрипти мають багато помилок і повільно працюють, але в них є дуже великий ПЛЮС, який перекриває все негативне - це те, що вони мої.<br>

Влаштовані модулі:
- модуль гостевої книги (працює)
- модуль розділень прав доступу (на диво також процює)
- модуль статистики, скільки людей було на сайті
Сайти які використовують:
- ніхто, але раніше я використовува. Ось збережена копія:
-- http://tutamc.com/old_site/index.html
-- http://tutamc.com/old_site/bio.html
-- http://tutamc.com/old_site/develop.html

Так що якщо є бажання прибдати систему, то ціна невелика - 500у.е. Можливий торг!

PS: Це я розгрібав свої архіви і знайшов рарітет. Хоча мені смішно все це бачити, але цікавий факт, це те що тоді я дійсно нічого незнав ні про фреймворки, ні про шаблонізатори, нічого іншого. Я писав лише сайт, а вийшов майже справжній фреймворк.

Posted by spirit

Сьогодні порівняємо швидкість розробки між ZF і Django на прикладі невеликого блогу. Представимо, що нам потрібно зробити блог, де були б записи, розділення на стріки і теги.

Розпочнем з ZF:

  1. Спочатку ми б створили в базі таблиці, при чому для тегів прийшлося б додаткову таблицю створювати, щоб був зв'язок багато-до-багатьох. А ще б створили таблицю для авторізації.
  2. Після цього розпочали писати б моделі, які містили б інформацію про зв'язки між таблицями.
  3. Далі пишем код для авторизації.
  4. Пишемо код форми для створення постів.
  5. Пишем код що буде формувати вивід на головній сторінці.
  6. Пишем код для перегляду постів посторінково(pagination).
  7. Пишемо код для перегляду кожного поста окремо.
  8. Пишем код для тегів, тобто їх парсинг, занесення в базу, відображення хмарки тегів.
Ви помітили, що постійно нам потрібно щось писати, робити вручну все. На ZF надзвичайно важко робити модулі, які б з легкістю можна добавляти в аплікейшн. На Django ж це все по іншому, там ми беремо готові компоненти і поєднуємо їх. А коли компонента немає, то пишемо самі, але один раз, далі будемо його з легкістю використовувати.
Але давайте подивимося, як вищеперечислені пункти ми б робили на Django
  1. Створюємо лише одну модель, де все опишем. Ніяких таблиць вручну не створюємо, додаткової таблиці не потрібно. Для поля з Тегом нам потрібно лише вказати, що це буде поле з тегом і все. Робота по створенню ції моделі займе лише декілька хвилин.
  2. ... це все зробили в пункті 1.
  3. Для авторизації використовуємо влаштований модуль, тому цей этап знову займає 0 хвилин.
  4. Для створення постів потрібно створити лише один файл з 3 строчками. 1 хв.
  5. Вивід на головній сторінці пишеться за декілька хвилин разом з сторікновістю(pagination), буде строчок 5 займати.
  6. це вже написали вище в п.5.
  7. Для окремого перегляду використовуємо стандартний views. Тому все це займає одну строчку і час 30 с.
  8. Для тегів вже все написано ;). 0 с.
Час на створення блогу хвилин 10 і це максимум(звичайно без дизайну). В найближчий час зніму окремий скрінкаст, щоб довести це.

Resume

Roman Khomenko, 1985 birth, Ukraine
mail - spirt40@gmail.com
phone - +38 067 6830728
master's degree with honors, computer science, specialization: information systems and management

In the computer area I am since 1995. And for this time I learned many interesting thing and I created so many wonderful thing. Last years I have been doing web development in Python and Django.

Skills:

Security:
This is very interesting for me. I know all method attacks on web-sites(SQL-inj, XSS, XPath-inj, LFI, RFI, CSRF and other). Often I work on audit sites. I am a member of several groups of security. Sometimes I read lection in University. I'm often consulting on this problem. Also I wrote exploits, patch and some tools what help me with audit. About security I wrote some articles for magazines.

PHP:
I know PHP 6 years. I know other technology what with it - HTML, CSS, JavaScript. I created many sites on it. And this was and simply sites, and big sites. Now I like framework. First, I was using CodeIgnation, but then I found Zend Framework. ZF is great framework, I love it. When I need original site I use Zend Framework and Jquery as JavaScript framework. When I need standard site I use Drupal - this site created on it. I created site "GRead" for usability reading book on PC. I created site "I did" when users can write what they did, then system show them statistic and other thing. I developed anti-spam and twitter module for Drupal. Also, I have developed OpenTest2 - system testing expertise to universities, which is very popular in many countries.

Python :
This language I learned about year ago and created in this time many application - bots(icq-bots for answer, when I offline. Jabber-bot for administrator, what for admin can rule server from anywhere), scaners(scaner of directory for security audit - this program find hide directory, config files, backup files and other.), games(using PyGame I created "Ladder"). Also I created program to paint fractal-picture, then I optimized code using Psyco and other method. And I created genetic-algorithm to learn play in "tic-tac-toe". Also I know Djando and used it for to write few sites. I think it's great framework. And it's better then ZF. I wrote many article in magazines about Python.

Tags:  | 
Posted by spirit

В скрінкасті:

  • Zend_Registry
  • Zend_Log
  • Zend_Config

PressCast. ZendFramework #2 from presidentua on Vimeo.

Posted by spirit

Скрінкаст про використання ЗендФреймворка. В цьому скрінкасті робимо простенький сайтик по архітектурі MVC.

Zend ScreenCast 1. Begin. from presidentua on Vimeo.

Будуть питання, чи щось незрозуміле - питайте, в наступних скрінкастах поясню

PHP-завдання

05 Apr 2009
Posted by spirit

Коли ви йдете на співбесіду на роботу програміста то бажано відчувати свій рівень, знати свою ціну. Тому можу запропонувати два реальних тестових завдання:
-----------------------
Мета
-----------------------
1. задание на алгоритмическую смекалку. язык разработки - php|perl на выбор
дан многомерный массив, например
1 2 2 3 4 5 5 6
1 2 2 8 9 9 1 1
1 3 4 5 6 7 7 6

необходимо на основании этого массива построить и вывести таблицу. При этом объединить ячейки (colspan,rowspan) с совпадающими цифрами.

2. Задания на знание mysql
1) Дана таблица, id - первичный ключ. По заданному id найти предыдущий и последующий элемент.

2) Дана таблица.
CREATE TABLE `tbl` (
`id` int(10) unsigned NOT NULL auto_increment,
`x` float unsigned NOT NULL default '0',
`y` float unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_ukrainian_ci
одним запросом по заданному id поменять значения x и y местами

3) дана таблица
CREATE TABLE `tbl` (
`id` int(10) unsigned NOT NULL auto_increment,
`x` varchar(100) NOT NULL default '0',
PRIMARY KEY (`id`),

Continue reading...
Posted by spirit

Щось вже давненько не публікував навчальних матеріалів, спробую виправитися цим скрінкастом про MVC-архітектуру. Скрізь де пишуть про неї, то пишуть на прикладі ООП, але ж й саме вивчення ООП не з легких, тому я попробую розповісти про MVC без використання ООП.
Відео звичайно довгеньке получилось, але "маємо те що маємо" (с) Данилич...

Simple MVC from presidentua on Vimeo.
В HD-якості можна подивитись на сайті vimeo, а бо навіть там можна скачати відео і вже подивитися в оффлайні.

Файли які в результаті отримали:
http://tutamc.com/files/mvc.zip

Continue reading...
Posted by spirit

Проходження співбесід для декотрих надзвичайно складна річ, але мені чомусь це приносить лише задоволення.
Історія моїх співбесід розпочалася десь весною 2008 року. Тоді навчався на останньому курсі в ХНУВСі, але вже напевно знав, що в міліції не піду працювати, а щоб бути впевненим в майбутнє писав резюме і відсилав їх різним фірмам, ось про всі свої співбесіди хотілось би розповісти.

Перша співбесіда. "ГеймЛофт"
Представництво, точніше аутсорсинговий відділ Геймлофта в Харкові з'явився лише в 2007 році і активно набирав персонал. Перша співбесід була досить складною, бо знання не досить високі, та й трішки нервувався. Але там система була така, що давали тестові завдання на англійській мові, і відсилали вирішені завдання в Париж, а там вже люди перевіряли. Так ось, після десь тижня перевірянь було прислано результат, що складено на 3-ку, але це давало можливість працювати. Далі була співбесіда з програмістом, на якій я вперше зрозумів, що мій рівень хоч і низький, але перспективи дуже великі, тому навіть не сильно напрягаючись, мені було запропоновано роботу з зарплатою в 500 у.е. На що я подякував і прийняв все до уваги, а тим часом вже йшов на другу співбесіду.

Continue reading...
Posted by spirit

Google Gears - це технологія, яка дозволяє створювати веб-програми, що можуть працювати без інтернету.

І ось вже певний час, днів зо два працюю над одним маленьким сервісом idid.org.ua, який буде схожий на ведення того що зробили за день. Так от для нього вирішено було використовувати можливість роботи в оффлайні. Довгенько я розбирався з Гірсом, неначе все й легко здається на перший погляд, але виникає багато проблем.
Одна з ним про кешування.

Якщо кешувати лише один раз, то будуть проблеми з тим що кеш може бути застарілим. Якщо кешувати постійно, то будем забивати диск юзеру. Якщо ж бува коли видаляти кеш, то це й добре, але все одно зайве навантаження на клієнт.

Continue reading...
 
 
 

Contacts

Роман Хоменко aka PresidentUA
mail/jabber: spirt40@gmail.com

Creative Commons License

- беговые дорожки от Азбуки спорта гарантия качетсва