среда, 1 июня 2011 г.

Аутсорсинг на Западе

Аутсорсинг — передача внешней компании функции, ранее осуществляемой в рамках данной компании.
Рост популярности аутсорсинга на Западе был обусловлен ужесточением конкурентной борьбы и необходимостью поиска эффективных долговременных стратегий, обеспечивающих устойчивые организационные преимущества. В начале 1980-х западные компании вдруг осознали, что потребители — не единственный предмет соперничества бизнес-субъектов. Как одна из зон конкуренции все отчетливее вырисовывалась борьба за качественные трудовые ресурсы. Ограниченность предложения действительно эффективных профессионалов, динамически изменяющиеся потребности в новых знаниях и навыках специалистов придали популярности идее организационных структур, в которых фокус внимания сосредотачивался на стержневых сотрудниках. Это те ключевые профессионалы, сумма опыта, знаний и умений которых делают организацию отличной от других. Они жизненно необходимы, их очень трудно заменить, в случае их ухода организация может просто обанкротиться. От этих специалистов требовалась усердная многочасовая работа ради выполнения принятых на себя обязательств по обеспечению благополучия бизнеса. Это были уже не те люди, которые работали по 40 часов в неделю в течение года. Большинству из них приходилось возвращаться домой поздними вечерами, жертвовать выходными. Владельцы компаний понимали, что безопасность бизнеса зависит от способности организации покрепче привязать таких ключевых профессионалов к себе. Получая социальную защиту и всевозможные льготы, они становились очень дорогостоящими работниками.

четверг, 27 января 2011 г.

Как быстро выучить PHP язык

До появления PHP создание сайтов сводилось к написанию относительно простого HTML кода, который в наших браузерах превращался в статические Интернет страницы. После появления PHP постепенно владельцы сайтов стали все больше и больше переводить свои статические HTML страницы на динамические PHP. Я думаю вряд ли найдется какой либо владелец динамического сайта пожелавший видеть его в статическом виде. Преимущество динамики по сравнению со статикой очевидна.

Ты можешь спросить, почему я должен выбрать именно PHP среди других языков Web-программирования и зачем мне динамический сайт. Знание PHP или просто понимание его открывает большие возможности для твоего сайта. Ты даже можешь скачивать разные уже готовые скрипты необходимы для твоего сайта. Конечно чужие и готовые скрипты не всегда подходят для тебя, и обладая хотя бы базовыми знаниями в PHP программировании ты легко можешь их редактировать под свой сайт.

Использование PHP позволяет тебе добавлять многие интерактивные характеристики как например обратная связь, гостевая книга, «оставить сообщение», счетчики, и более развитые характеристики твоего сайта как управление контентом своего сайта, продвинутое управление сообщений и администрирование своего сайта в целом.

С этим характеристиками сайта ты почувствуешь себя на высшем профессиональном имидже по сравнению с владельцами статических сайтов.

Сам PHP язык относительно не сложный и выучить его легко даже самостоятельно. Перед изучением PHP языка желательны знания HTML ( хотя бы базовые). Не переживай о сложности PHP языка. Он не настолько сложен как это кажется по началу, особенно если правильно подойти к его изучению.

понедельник, 24 января 2011 г.

Область применения PHP

В области программирования для Сети PHP — один из популярных скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.
Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них:
• автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
• взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server,Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird /InterBase, Paradox File Access, MaxDB, Интерфейс PDO);
• автоматизированная отправка HTTP заголовков;
• работа с HTTP авторизацией;
• работа с cookies и сессиями;
• работа с локальными и удалёнными файлами, сокетами.
• обработка файлов, загружаемых на сервер;
• работа с XForms;
В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу Tiobe, базирующемся на данных поисковых систем, в декабре 2009 года PHP находится на 3 месте среди языков программирования (уступая Java и C), поднявшись за год на две позиции. К крупнейшим сайтам, использующим PHP, относятсяFacebook, ВКонтакте, Wikipedia и др.
Входит в LAMP — распространённый набор программного обеспечения для создания веб-сайтов(Linux, Apache, MySQL, PHP).

среда, 19 января 2011 г.

.NET — платформа для построения приложений

В чем проблема современных .NET — платформ для приложений? Мы им не верим. Откуда администратору знать, что пробная версия архиватора, бесплатная программа обмена сообщениями или проигрыватель видеофильмов не содержат в себе невыявленных проблем безопасности: программных закладок, ошибок переполнения буфера, неизвестных вирусов, которые могут нарушить нормальную работу других программ пользователя или даже операционной системы. Да, линейка Windows NT/2000 является защищенной операционной системой, но не бывает абсолютно защищенных систем, всегда будет оставаться шанс, что в системе остались невыявленные проблемы безопасности, которыми смогут воспользоваться чьи-то программы. Кроме того, ошибки бывают не только в программных системах, но и в аппаратуре, например
в процессоре. Некоторые процессоры семейства Pentium содержали ошибку, получившую название F00F-bug, приводившую к полной блокировке процессора при попытке выполнить несуществующую инструкцию, код которой начинался с F00F.

понедельник, 27 декабря 2010 г.

Аутсорсинг. Часть 1

У нас в компании недавно спорили - что такое аутсорсинг. Это услуга. Или наша дополнительная заслуга. Просто форма взаимодействия с заказчиком. И вообще. Ну зачем, зачем, зачем это нужно на наших просторах.
И нужны ли мы с этим аутсорсингом на чужих ( при живых то индусах, китайцах…)

Для начала процитирую то, что пишется везде:
Аутсорсинг
(от англ. outsourcing; outer-source-using) использование внешнего источника/ресурса) — передача организацией определённых бизнес-процессов или производственных функций на обслуживание другой компании, специализирующейся в соответствующей области. В отличие от услуг сервиса и поддержки, имеющих разовый, эпизодический характер и ограниченных началом и концом, на аутсорсинг передаются обычно функции по профессиональной поддержке бесперебойной работоспособности отдельных систем и инфраструктуры на основе длительного контракта (не менее 1 года). Наличие бизнес-процесса является отличительной чертой аутсорсинга от различных других форм оказания услуг и абонентского обслуживания.
О повышенном внимании к аутсорсингу как к бизнес-модели, способной снизить издержки и потому особенно востребованной в кризисные времена, говорит маркетинговая активность множества ИТ-компаний, отмечается в текущем году. Интересно оценить, в какой мере сбываются надежды на рост этого бизнеса, что тормозит и что стимулирует его, какие направления выглядят наиболее перспективными. При этом не стоит забывать, что ИТ-аутсорсингом занимаются фирмы разного профиля, в том числе телеком-провайдеры, дистрибьюторы —системные интеграторы. Для всех них это бизнес побочный, и лишь небольшое число «чистых» сервис-провайдеров заняты именно предоставлением IT услуг разного толка.

четверг, 16 декабря 2010 г.

Разработка ПО. Часть 6

В процессе кодирования программеры чаще всего стараются добиться внутренней красоты разработанного ПО. Как бы странно это не показалось на первый взгляд, но именно внутренняя красота позволяет проекту впоследствии легко меняться и подстраиваться под изменяющиеся требования.
Работа с кодом - это искусство которому посвящены тома литературы. Вот основные моменты, сочетание которых позволяет создавать качественный, простой и надёжный код.
• Самотестирующийся код, т.е программа сама проверяет, что она правильно выполняет свои функции. Это очень мощная техника, которая позволяет устранить большинство ошибок и снизить расходы на тестировщиков.
• Рефакторинг, а на русском языке - это постоянное улучшение внутренней структуры кода. Это поддержание внутренней красоты. И хотя красота субъективна, поверьте, что все настоящие профессионалы знают о том, что такое некрасиво или дурной запах в коде.
• Работа в парах. Это не глупость и не причуда. Программисты действительно работают в парах более эффективно. Опыт подтверждает, что при парной работе создаётся намного более качественный продукт и чаще всего быстрее, чем это обычно делают два программиста по отдельности. Добавьте сюда ещё коллективное знание о деталях проекта.
После качественного кодирования продукт должен обязательно пройти через тестирование. QA лаборатория , или по-русски лаборатория контроля качества, имеет всё что нужно для того, чтобы удостовериться в соответствии полученного результата тем требованиям.
Огромную роль в тестировании, которое выполняют профессионалы, имеет автоматизация. Все тестировщики являются программистами в большей или меньшей степени, потому что им ежедневно приходится программировать.
И самый приятный этап, это внедрение и поддержка. Он наступает сразу после того, как происходит выпуск первой версии вашего продукта. Разрабатывают всю необходимую документацию, помогают определиться с выбором оборудования, установим и настроим всё, что нужно.

среда, 8 декабря 2010 г.

Разработка ПО. Часть 5

Как мы делаем качественные программные продукты
Любая работа над проектом начинается с этапа исследования и анализа предметной области. В процессе этого этапа бизнес-аналитики знакомятся с предметной областью, собирают и классифицируют необходимую информацию. Результатом исследований является техническое задание.
Дальше начинается самое интересное. Команда применяет для реализации проектов так называемый итеративный подход. Для заказчиков, это означает, всегда стремимся сделать самое нужное в первую очередь и максимально сократить время разработки до выхода первой коммерческой версии продукта.
Сложно сразу же построить идеальный проект создаваемого ПО. Вместо этого двигаются к совершенному продукту по спирали. На каждом витке этой спирали (итерации) повторяют одну и ту же последовательность действий, которые приближают к цели:
• Планирование
• Проектирование
• Кодирование
• Тестирование
Планирование нужно для того, чтобы расставить помощью приоритеты задач и сделать оценку необходимого времени выполнения. Например, если возможность просмотра файлов более важна, чем возможность редактирования, то сначала надо сделать именно просмотр. Как только приоритеты расставлены, приступают к следующему этапу.
Проектирование - это необходимый этап разработки, во время которого создаётся архитектура продукта. Обстановка на рынке постоянно меняется и продукт может стать ненужным, если отложить его выпуск. Простой дизайн всегда требует меньше времени и денег для реализации, чем сложный.
Программирование - именно на этом этапе созидается исходный код продукта. Многие пытались представить написание кода, как рутину, которая всего лишь является дополнением к проектированию. Но это не так. ( загляните в следующий пост))