Ajax — Нужен программистпреподаватель для конкретной темы


Содержание

Как можно стать PHP программистом — какими навыками стоит овладеть?

Дата публикации: 2020-10-06

От автора: всем привет! Сегодня я хочу рассказать об одной из немногих профессий, где наличие диплома о вышке не является решающим фактором при поступлении на работу — о профессии PHP программист. Как можно стать PHP программистом, не заканчивая университет? Проще простого! В данной статье будет перечислен весь перечень навыков, которые вам необходимо будет обрести, чтобы стать профессионалом своего дела.

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

Кто такой PHP программист, и чем он занимается?

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

Чтобы вы поняли всю важность данной специальности, давайте сравним создание и разработку сайта с постройкой жилого дома, тогда PHP программист — это тот, кто закладывает фундамент, устанавливает несущую конструкцию, перекрытия, стены, крышу и проводит коммуникации. А уют в этом «доме» будут создавать уже другие специалисты.

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

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

Ядро. Я надеюсь, не нужно объяснять, что если хочешь стать PHP программистом, то PHP — это то, что нужно знать, как свои 5 пальцев. Что касается версии, с которой следует начать, то рекомендую не ниже PHP 5.0 (не думаю, что вам попадется вакансия, где придется работать на версии ниже этой).

Чем глубже вы изучите язык PHP, тем лучше для вас, ведь в будущем это будет ваш основной рабочий инструмент. В какой последовательности изучать, и что конкретно, вы можете узнать, пройдя курсы по PHP, воспользовавшись Интернетом или литературой по программированию.

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

Хранилище данных. Сомневаюсь, что, зная один PHP, у вас выйдет найти хорошую работу. Практически все вакансии требуют от программистов умения работать с хранилищами данных. Ничего против других СУБД не имею, но лично от себя рекомендую остановить свой выбор на MySQL, так как именно он фигурирует в массе вакансий.

HTML + CSS. Если вы решили стать PHP программистом с нуля, но, как и с чего начать, не решили, то советую вам получить базовые знания по HTML и CSS, ведь язык PHP связан с генерацией страничек HTML и CSS стилями.

JavaScript. Может показаться, что этот клиентский язык программирования уж никак не может понадобиться PHP программисту, но рынок труда решил иначе. После ознакомления с синтаксисом языка JavaScript, рекомендую сразу же перейти к изучению фреймворков, например, JQuery или ExtJS.

ОС. Так как большинство хостинговых серверов, написанных на PHP, работают под эгидой Linux или Unix, то, соответственно, лучше ознакомиться с данными ОС. Мой вам совет — установите на своем рабочем компьютере Linux (лично я пользуюсь Linux Ubuntu). На сегодня в этом дистрибутиве установка и настройка LAMР сделана так, что не вызовет у вас никаких трудностей. Далее рекомендую поработать с командной строкой.

Веб-сервер. Легче всего начать с Apache, ведь на данный момент — это самый распространенный веб-сервер. Но особо углубленно изучать его тонкую настройку нет смысла, так как лучшим по производительности будет дуэт Ngix + PHP-fpm.

Если вы будете работать в режиме фрилансера, то рекомендую поучиться работать в Photoshop и поглубже изучить HTML + CSS, ведь вам придется самим делать кроссбраузерную верстку. Так как большая часть заказов, скорее всего, будет подразумевать исправление и добавление функционала распространенных CMS, рекомендую уделить внимание изучению WordPress, Drupal, Joomla, DLE или Bitrix.

Где получить образование PHP программиста?

Конечно, практически во всех технических вузах есть специальности, связанные с IT, но в 99%, чтобы стать профессионалом своего дела, вам не хватит этих знаний и придется постоянно подучиваться.

Беда в том, что в мире программирования все настолько быстро меняется, что институты просто не успевают совершенствовать программу обучения и преподавать актуальную информацию. Поэтому, даже если у вас есть диплом о высшем образовании по специальности программист, не стоит на этом останавливаться.

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

Где искать работу?

Если вы начали изучение PHP программирование с нуля, то не надейтесь, что вас возьмут в крупную компанию и сразу же дадут сложный высокооплачиваемый проект. Для начала найдите IT компанию, которая готова выращивать специалистов. Как правило, сначала вам придется браться за любую работу, которую вам дадут, и со временем вы сможете рассчитывать на сложные и интересные проекты.

Прекрасным местом трудоустройства может стать IT-контора. Здесь вам гарантирован карьерный рост и неплохая зарплата. Став уверенным в себе профессионалом, вы сможете даже рискнуть и попробовать устроиться в Яндекс, Лабораторию Касперского или другую гигантскую компанию. Если же вы не хотите коротать свои будни в офисах, можете работать фрилансером, выполняя временные заказы.

Напоследок хочу добавить, что обучение PHP программированию — процесс достаточно длительный и трудоемкий. Если у вас не получится сразу понять, что к чему, не стоит бросать дело на полпути, ведь только преодолевая трудности вы сможете насладиться результатом.

Друзья, если вам понравилась моя статья и вы хотите узнать еще больше о самых популярных интернет-профессиях, то подписывайтесь на этот блог и следите за его обновлениями. До новых встреч!

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Нужно ли asp.net программисту знать css, javascript, jquery, ajax

20.06.2012, 06:06

jQuery ajax + asp.net webForms
Привет, друзья. У меня возникла следующая дилемма. В разработке серверной части проектов нет.

Что нужно иметь виндам XP, чтобы работали ASP, не ASP.NET, а просто ASP?
Что нужно иметь виндам XP, чтобы работали ASP, не ASP.NET, а просто ASP? Или все уже есть? Я имею.

Functions JavaScript, JQuery, AJAX
Задали 2 проекта, вроде не сложные, но в ТЗ было несколько уточнений, которые привели меня в.

css asp контроллеров в Jquery
Здраствуйте, Как можно именно в файле JS в Jquery/JavaScript менять или добавлять css для asp.

Книги по JQuery(JQuery UI) и Ajax в Asp.Net
Добрый день! Посоветуйте пожалуйста хорошую книгу по использованию JavaScrip на клиентской части.

20.06.2012, 13:18 2

если в конторе отдельно люди верстают, отдельно frontend и backend то тратьте время на вашу специфику, у нас все делают разработчики(что печально) и нужно все знать

ответ конечно же 100% — да, тогда ничего не будет смущать, есть ситуаций которые не решаются стандартными средствами. в WinRT, походу, можно уже и на JS синтаксисе прогать, так что ничего плохого не случится.

20.06.2012, 15:13 3 20.06.2012, 17:08 4

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

20.06.2012, 23:56 [ТС] 5

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

Кстати посмотрел Expression Web, чем-то мне напомнил фронтпейдж. Как-то не мое, даже в студии, не знаю почему стили приятнее руками писать, как-то в голове себе представляешь, а потом быстренько пишешь, логичнее что ли получается. Да и мне не нравится как студия стили вставляет, все в html. Не люблю я бардак, мне кажется, что лучше вставлять стили в отдельный файл, и для поиска лучше будет и для читабельности. Хотя если этим не заморачиваться, можно все в 2 клика сделать.

JQuery классный фремворк, очень нравится, прям чувствуется будущее, такая красота, я даже задумываюсь, а стоит ли углубляться в силверлайт. Я такие эффекты видел, даже флеш отдыхает. До Ajax руки никак не дойдут. А Javascript я знаю только синтаксис, не углублялся, я не понимаю, зачем писать руками если есть все готовое, фиг знает, хватит этих знаний мне по жизни.

JavaScript. Уровень 3б. AJAX. Разработка веб — приложений для Web 2.0

Веб-программирование

Этот курс в нашем Центре
успешно закончили
1400 человек!

AJAX. Web 2.0 Application Developing

AJAX, состоящий из HTML, JavaScript и DOM-модели — это замечательный подход, который помогает создать вместо тяжеловесных Веб-интерфейсов интерактивные AJAX-приложения. В рамках курса Вы сможете сделать чрезвычайно эффективную веб-разработку повседневной реальностью. В ходе обучения Вы узнаете основные концепции AJAX, включая особенности объекта XMLHttpRequest, различные подходы к взаимодействию с сервером и эффективные способы проектирования сложных приложений. Вы научитесь создавать AJAX сайты, узнаете о различных способах обмена данными, и после окончания курса сможете сделать свои сайты быстрыми и динамичными. В предлагаемом курсе Вы рассмотрите все аспекты построения современных AJAX приложений. Вы узнаете принципы и подходы к разработке, поэтому этот курс будет интересен любому веб-мастеру.

Программа курса соответствует требованиям профессионального стандарта «Программист».

вы научитесь создавать AJAX сайты, узнаете о различных способах обмена данными, и после окончания курса сможете сделать свои сайты быстрыми и динамичными.

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

По окончании курса Вы будете уметь:

  • создавать высокоэффективные сайты Web 2.0;
  • использовать объект XmlHttpRequest для выполнения синхронных и асинхронных запросов к серверу;
  • передавать и обрабатывать данные на сервер всеми доступными методами;
  • использовать JSON нотацию для передачи данных;
  • использовать XML-PRC протокол в AJAX приложениях;
  • взаимодействовать с XML Web сервисами по протоколу SOAP;
  • выполнять аутентификацию и авторизацию пользователя различными методами;
  • понимать вопросы безопасности AJAX-приложений;

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

Продолжительность курса — 24 ак. ч.

Преподаватели курса

Отзывы о курсе

Cлушатель: Ларина Елена Юрьевна

Даже при наличии приличной, для данного курса начальной подготовки значительно помогло расставить всё по своим местам, упорядочить знания, прояснить имеющиеся вопросы.

Cлушатель: Носков Михаил Юрьевич

Предварительная подготовка

Требуемая подготовка: Успешное окончание курса JavaScript. Уровень 2. Расширенные возможности или эквивалентная подготовка.

Требуемая подготовка: Успешное окончание курса Настройка веб — сервера Nginx и протокол HTTP или эквивалентная подготовка.

Рекомендуемая подготовка (необязательная): Успешное окончание курса PHP. Уровень 1. Основы создания сайтов или эквивалентная подготовка.

Рекомендуемая подготовка (необязательная): Успешное окончание курса XML и XSLT. Современные технологии обработки данных для ВЕБ или эквивалентная подготовка.

Получить консультацию о необходимой предварительной подготовке по курсу Вы можете у наших менеджеров: +7 (495) 232-32-16.

Наличие предварительной подготовки является залогом Вашего успешного обучения. Предварительная подготовка указывается в виде названия других курсов Центра (Обязательная предварительная подготовка). Вам следует прочитать программу указанного курса и самостоятельно оценить, есть ли у Вас знания и опыт, эквивалентные данной программе. Если Вы обладаете знаниями менее 85-90% рекомендуемого курса, то Вы обязательно должны получить предварительную подготовку. Только после этого Вы сможете качественно обучиться на выбранном курсе.

Рекомендуемые курсы по специальности

Чтобы стать профессионалом, мы рекомендуем Вам вместе с этим курсом изучить:

Программа курса

Тема Ак. часов
Модуль 1. Основы AJAX приложения


  • Что такое AJAX?
  • Механизмы взаимодействия с сервером
  • Объект XmlHttpRequest
  • Синхронные и асинхронные запросы
  • Получение данных с сервера

Лабораторная работа:

  • Получение текстовых данных с сервера
4 Модуль 2. AJAX и HTTP
  • Методы передачи данных на сервер
  • Передача простых данных методом GET
  • Управление кэшированием ответа
  • Метод HEAD
  • Лабораторная работа: Запрос простых данных методом GET
  • Передача простых данных методом POST
  • Получение и разбор комплексных данных

Лабораторная работа:

  • Использование методов POST и HEAD
4 Модуль 3. Передача сложных типов данных. JSON
  • Недостатки простых текстовых форматов
  • Сериализация сложных данных
  • Что такое JSON
  • Разбор JSON пакета в браузере
  • Разбор JSON пакета на сервере (PHP)
  • Получение данных с сервера

Лабораторная работа:

  • Авторизация пользователя на сайте
4 Модуль 4. Использование XML. XML-RPC
  • Проблемы текстовых данных и JSON
  • Другие способы передачи структурированных данных
  • Обзор XML технологий
  • Клиент-ориентированная и сервер-ориентированная архитектура
  • Протокол XML-RPC
  • Формирование XML-RPC запроса
  • Преобразование XML данных

Лабораторная работа:

  • Расчет суммы товаров электронного магазина
4 Модуль 5. Использование XML веб-сервисов. SOAP
  • XML веб-сервисы
  • Проблемы XML-RPC
  • XML схемы (обзорно)
  • SOAP (обзорно)
  • Формирование и разбор SOAP сообщений
  • Пример работы с XML веб-сервисами

Лабораторная работа:

  • Сценарий выбора и добавления книг в корзину
4 Модуль 6. Безопасность и эффективность AJAX приложений
  • Вопросы безопасности AJAX приложений
  • Аутентификация и авторизация пользователя
  • Лабораторная работа: Аутентификация пользователя
  • Проблемы юзабилити AJAX приложений
  • Производительность AJAX приложений

Лабораторная работа:

  • Загрузка больших объемов информации
  • Обзор решений AJAX
  • Подведение итогов
4 Аудиторная нагрузка в классе с преподавателем 24 +12
бесплатно
По окончании обучения на курсе проводится итоговая аттестация. Аттестация проводится в виде теста на последнем занятии или на основании оценок практических работ, выполняемых во время обучения на курсе.

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

  • утренним группам с 8:30 до 10:00
  • дневным группам — по 1 ак.ч. до и после занятий (13.15-14.00, 17.10-17.55)

Ближайшие группы


Данный курс вы можете пройти как в очном формате, так и дистанционно в режиме онлайн. Чтобы записаться на онлайн-обучение, в корзине измените тип обучения на «онлайн» и выберите удобную для вас группу.
Чем онлайн-обучение отличается от других видов обучения?

Ajax — Нужен программист/преподаватель для конкретной темы

«Я соскучилась. Мои электронные мозги начинают познавать счастье, когда ты заходишь чаще», — напоминает виртуальный учитель Parla корреспонденту РБК об очередном занятии. По-русски он говорит хуже, чем по-английски, зато скоро освоит испанский.​

На первый взгляд Parla — это очередное мобильное приложение для изучения английского языка. Но это не совсем так — в основе проекта лежит программа, которая адаптируется под ученика и обучается вместе с ним.

Во время регистрации Parla анализирует аккаунт пользователя в социальной сети и на основе его интересов составляет индивидуальный план обучения. Корреспонденту РБК достались тематические блоки «бизнес», «технологии», «медиа». Виртуальный учитель предлагает выбрать уровень сложности, а затем следит за выполнением тестов и заданий, анализирует ошибки. Если ученик не справляется, предлагает повторить материал. Решает без ошибок — пропускает дальше. Эмоции боту тоже не чужды: Parla ругает за пропуски занятий и хвалит за успехи в учебе — почти как живой учитель.

Разработчики Parla предрекают гибель традиционных методов обучения. Вслед за учителем английского они планируют выпустить приложения для изучения физики, математики, биологии и других предметов.

Язык на вырост

Аналитики J’son & Partners Consulting выяснили, что за последние пять лет рынок онлайн-образования в мире вырос на 23% и составляет, по данным Global Market Insights, $165 млрд — это примерно 3% мирового рынка образования. В «Исследовании российского рынка онлайн-образования и образовательных технологий» говорится, что ежегодно рынок будет расти в стране не менее чем на 5%. В России в 2020 году сегмент обучения языкам с помощью игр оценивался в $315,7 млн. По данным компании Skyeng, английский занимает 76% российского рынка изучения иностранных языков, немецкий — 10%, французский — 7%. По данным Technavio, объем мирового рынка цифрового изучения английского языка в 2020 году составил $4,83 млрд. К 2021 году прогнозируется рост до $13,8 млрд.

Попался в нейросети

Parla — новый проект 28-летнего Алексея Спасского. Компьютеры интересовали предпринимателя с раннего детства. В восемь лет он сумел сам переустановить Windows, а в семнадцать, будучи студентом механико-математического факультета МГУ, открыл бизнес по починке «железа» и установке программ.

Затем Спасский решил изучить, как работает большой бизнес. Сначала работал в аудиторской компании ФБК, а после занял пост инвестиционного менеджера фонда Softline Venture Partner, побывал членом экспертного совета Фонда Бортника, РВК, участвовал в государственных программах развития предпринимательства. Но этот опыт разочаровал предпринимателя: Спасский считает, что бюрократия в крупных компаниях, и особенно госструктурах, убивает креативность.

В 2011 году он познакомился с инвестором Игорем Мацанюком и устроился инвестиционным менеджером в его фонд IVI.VC. Параллельно предприниматель развивал собственные проекты, а в 2014 году открыл IT-компанию Phobos с офисами в Москве и Вильнюсе. Начинал с разработки софта на заказ, в 2020 году оборот компании достиг 80 млн руб. На базе R&D-подразделения Phobos Спасский открыл компанию для разработки собственных IТ-продуктов для широкой аудитории — Deimos. Фокус был сделан на нейросетях и технологиях из области искусственного интеллекта. Пробоем рынка стало приложение для рыбаков Deep.Fish, в который компания Спасского и Игорь Мацанюк инвестировали $1 млн.

Теперь предприниматель решил освоить новую нишу. Идею для бизнеса подсказали частые путешествия. Спасский заметил, что уровень английского языка во многих странах хромает. Не каждый может оплатить услуги учителя или репетитора по английскому языку, особенно в Азии и Латинской Америке, а востребованность иностранного языка с годами только растет. «Мир становится одной большой страной, и нужно уметь как-то договариваться», — объясняет предприниматель.

Спасский убежден, что традиционное образование лет через 20 изживет себя. Обычно в школе материал подается по стандартной методике, программы устаревают. Успевающему ученику становится скучно, а отстающему приходится догонять одноклассников, оставляя пробелы в знаниях. Способности ученика, темп освоения материала и интересы редко учитываются. К тому же преподавателям приходится вступать со смартфонами в борьбу за внимание учеников на уроке.

Образовательные онлайн-программы вроде Lingualeo или EasyTen помогают в игровой форме изучать язык, но неспособны поддержать диалог с учеником, заменить живого преподавателя. Выходом может стать частная школа или репетитор: там и комплексный подход, и индивидуальный план, и достижение поставленной цели. Но персональный учитель не каждому по карману. По данным компании Skyeng, ценник на 90-минутное занятие с репетитором в Москве начинается от 2 тыс. руб. Стоимость курса в обычной московской языковой школе на срок шесть месяцев — от 50 тыс. до 100 тыс. руб.

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

В 2020 году компания работала над концепцией и деталями нового проекта, разработка стартовала в начале 2020 года. Команду из 15 разработчиков возглавил программист Владимир Клюенков, который ранее работал в Центральном аэрогидродинамическом институте и авиационном холдинге Sukhoi, где занимался вычислительными экспериментами с аэродинамикой перспективных летательных аппаратов.

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

Первым делом разработчики прогнали через виртуального учителя массив англоязычной литературы: архивы газет, академическую и художественную литературу — в общей сложности около 4 Гб текстов. Вся эта работа была проделана для того, чтобы виртуальный учитель знал и содержание толковых словарей, и особенности живого языка. Затем программа разделяла слова по темам, запоминала синтаксические конструкции и особенности употребления. Она училась запутывать пользователя. Например, у слова table есть значение «стол» и «таблица» — первое употребляется в быту, а второе — в бизнесе. Разработчики хотели сделать хитрый алгоритм, чтобы ученики не зубрили слова, а различали смысловые оттенки.

Иногда машина давала неожиданные результаты. Начитавшись газет про стену, которую Дональд Трамп намеревался воздвигнуть между США и Мексикой, среди синонимов значения слова «стена» она стала выдавать «мексиканцы». После знакомства с переводами романов Достоевского и экзистенциалистов нейросеть каждому второму слову давала синоним «смерть». Такие ошибки приходится вылавливать вручную.

После сбора лингвистической базы разработчики задумались о методике преподавания. «Мы всегда искали компромисс между опытом живого учителя, который невозможно сейчас алгоритмизировать, но возможно использовать для обучения нейросетей, и теми данными, которые позволят понять об ученике даже больше, чем это может понять учитель», — рассказывает Клюенков.

Чтобы узнать, как люди учатся, разработчики сделали в июне Telegram-бота для тренировки грамматики английского языка, а в сентябре запустили бета-версию приложения. Чтобы привлечь первых пользователей, размещали ссылки на специализированных стартап-ресурсах вроде Betalist и Product Hunt, а также в тематических сообществах и группах для изучающих язык.

8 сентября приложение Parla заняло третье место в категории «продукт дня» на сервисе Product Hunt. Это привлекло внимание публики и привело новых пользователей. «Сыграла роль публикация на Product Hunt, где мы собрали больше голосов, чем известные приложения для изучения языков Duolingo и EasyTen, а также публикации в СМИ Латинской Америки, где очень интересуются доступными способами изучения английского языка», — рассказывает Спасский. Сейчас бета-версию приложения используют 20 тыс. человек в основном из стран Латинской Америки.

На этапе бета-тестирования разработчики анализировали поведение и предпочтения пользователей, чтобы выяснить, когда ученика нужно поощрять, когда напоминать о достижениях, когда люди устают и как это влияет на желание учиться дальше. «Наша задача — автоматизировать мотивацию, дисциплину, чтобы людям было легко учиться. Для этого мы используем данные, смотрим, как люди учатся, и на основе результатов, то есть безличных и объективных характеристик, находим правильный подход», — объясняет Клюенков.

Чтобы «оживить» виртуальную учительницу, решили придать ее фразам эмоциональности. Техническое задание поначалу поставило разработчиков в тупик: «Искусственный интеллект должен давать объяснения всем своим рекомендациям, оно должно быть логичное, но непредсказуемое».

Чтобы оживить диалог виртуальной учительницы с пользователями, разработчики наделили нейросеть пятью эмоциями — они привязываются к метрикам учеников. Если человек справился — учительница радуется, нет — грустит. Но и этот механизм потребовал тонкой настройки. Разработчики говорят, что поначалу учительница вела себя как истеричка: то пела дифирамбы, то неистово ругала.

Деньги на старт

В 2020 году о проекте узнал Олег Гуцол, основатель фотохостинга 500px и партнер фонда O2 Ventures. Идея ему понравилась, в феврале 2020 года он и другие инвесторы вложили в проект €2 млн. «Я решил проинвестировать в Parla, поскольку мне очень понравилась команда и то, что они делают. Ребята не просто создают очередное приложение, а ставят перед собой благородную цель — дать людям возможность учить английский бесплатно при помощи карманного учителя на своем смартфоне», — говорит Гуцол.

В середине сентября 2020 года разработчики выложили приложение в Google Play. Базовый функционал, действительно, бесплатный. Монетизировать Parla собираются через продажу дополнительных услуг — достижение конкретных целей в изучении языка, например, постановку профессионального английского для юриста или медика. Цена будет варьироваться в зависимости от страны, в среднем $5–15 за занятие. К середине 2020 года проект планирует выйти на самоокупаемость.

«Скоро мы собираемся запустить обучение испанскому языку для американцев и активно продвигать продукт на рынке США», — рассказывает Спасский. Поэтому офис компании разместили в Америке.

Взгляд со стороны

«Полная замена учителя компьютером случится очень нескоро»

Александр Ларьяновский, управляющий партнер онлайн-школы изучения английского языка Skyeng

«Мы используем машинное обучение и нейросети для составления учебного контента под интересы пользователей, а также ведем эксперименты по подбору пар «учитель — ученик» с помощью систем компьютерного зрения и машинного интеллекта. А вот полная замена учителя компьютером случится, на наш взгляд, очень нескоро: преподаватель — это не говорящая голова, а тот, кто мотивирует человека учиться и добиваться. Когда ребенок, ударившись, побежит за сочувствием к планшету, а не к маме; когда компьютер будет лучшим собутыльником, чем человек, только тогда искусственный интеллект заменит учителя».

«Идея довольно перспективная»

Николай Давыдов, основатель фонда Gagarin Capital

«Искусственный интеллект как технология несомненно изменит глобальную экономику, заменит многие рабочие места и создаст новые. Точно так же, как это сделали паровоз, компьютер и интернет.

Безусловно, это коснется и сферы образования, вытеснив учителей как передатчиков знаний и сделав сферу образования доступной каждому. Учителя не делают ничего такого, что нельзя было бы научить делать нейронные сети. И сейчас скорость важна как никогда: чем быстрее захватишь долю рынка — тем больше получишь данных и тем лучше будет твой продукт. Если у Parla это получится, то есть все шансы заменить учителей. Идея довольно перспективная».

«Потребуется минимум несколько лет»

Алексей Моисеенков, сооснователь Prisma

«Я люблю искусственный интеллект (AI. — РБК) и очень верю в него. И мне нравятся идеи, которые делают этот мир лучше. Идея при помощи AI улучшить процесс образования мне нравится. Если действительно в Parla смогут сделать качественные технологии, которые помогут изучить языки, а потом ​еще и другие науки, то это будет круто.

Но вопрос в реализации — нужно посмотреть, что у ребят получится. Мне кажется, что для создания превосходящей человека технологии в этой сфере потребуется минимум несколько лет. В целом возможность всего этого мне кажется вполне реальной. Мир меняется, и AI проникнет в разные сферы экономики. Рано или поздно это коснется и образования, где AI вполне может дополнить учителей как передатчиков знаний и сделать сферу образования доступной каждому».

«Поостерегусь делать на это ставку»

Андрей Себрант, директор по маркетингу «Яндекса»

«Мне не кажется, что алгоритмическое решение здесь оптимально. Я неплохо знаю изнутри, как работает, например, Skyeng с живыми преподавателями, подбор которых и структура курса для каждого ученика оптимизируются с помощью машинного обучения. Посмотрим, как полетит у Parla — если будет взрывной рост аудитории, то будет интересно понаблюдать, как AI «сделал» живых преподавателей. А сейчас поостерегусь делать на это ставку».

«Искусственный интеллект эффективнее человека выступает в роли помощника учителю»

Аркадий Итенберг, сооснователь сервиса онлайн-подготовки к ЕГЭ «Экзамер»

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

Работа программист ajax

1-20 из 16644 результатов

Получать новые вакансии на почту

Веб- программист

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Ведущий Java- программист

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист

90 000 — 180 000 руб.

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист Битрикс24

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист

80 000 — 100 000 руб.

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Помощник WEB программиста

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист Битрикс

Полезная ли была для вас вакансия?


Пожалуйста, опишите проблему

Web- программист

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Инженер- программист

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист разработчик Bitrix ( PHP)

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист

60 000 — 150 000 руб.

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Web- программист

Специальный Технологический Центр

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист

60 000 — 85 000 руб.

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист

60 000 — 85 000 руб.

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист C#

80 000 — 100 000 руб.

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист Битрикс

Полезная ли была для вас вакансия?

Пожалуйста, опишите проблему

Программист

Бердышев Павел Геннадьевич

50 000 — 120 000 руб.

PH, JS, MySQL, Ajax, Опыт работы с сайтами на различных конструкторах. Условия: Питание Проживание З/п высокая по результатам .

Форум

Справочник

Поиск по форуму
Расширенный поиск
К странице.

Введение в Ajax

В этой статье AJAX описывается на уровне возможностей и примеров. Рассмотрены особенности асинхронного взаимодействия и примеры использования, но с минимумом технических деталей.

Надеюсь, она будет полезна для понимания, что такое AJAX и с чем его едят.

Что такое AJAX ? Пример реализации.

AJAX, или, более длинно, Asynchronous Javascript And Xml — технология для взаимодействия с сервером без перезагрузки страниц.

За счет этого уменьшается время отклика и веб-приложение по интерактивности больше напоминает десктоп.

Например, при нажатии кнопки голосовать — из браузера на сервер будет отправлено сообщение, а сервер ответит браузеру, что голос принят.

Технология AJAX, как указывает первая буква A в ее названии — асинхронна, т.е браузер, отослав запрос, может делать что угодно, например, показать сообщение
об ожидании ответа, прокручивать страницу, и т.п.

Вот код кнопки в примере выше:

При нажатии она вызывает функцию vote , которая отправляет запрос на сервер, ждет ответа, а затем показывает сообщение об этом в div ‘е под кнопкой:

Далее мы разберем, как она работает, более подробно.

Для обмена данными с сервером используется специальный объект XmlHttpRequest , который умеет отправлять запрос и получать ответ с сервера. Кроссбраузерно создать такой объект можно, например, так:

Более подробно о деталях реализации AJAX с использованием XmlHttpRequest и других транспортов можно почитать в разделе про общение с сервером.

Здесь мы не будем на этом останавливаться и перейдем сразу к функции vote :

Поток выполнения, использованный vote, довольно типичен и выглядит так:

  1. Функция создает объект XmlHttpRequest
  2. назначает обработчик ответа сервера onreadystatechange
  3. открывает соединение open
  4. отправляет запрос вызовом send (ответ сервера принимается срабатывающей в асинхронном режиме функцией onreadystatechange )
  5. показывает посетителю индикатор состояния процесса

Серверный обработчик, к которому обращен AJAX-запрос (в примере это vote.php) по сути ничем не отличается от обычной страницы. AJAX-запрос, отправляемый XmlHttpRequest , ничем не отличается от обычного запроса.

Просто текст, который возвращает сервер, не показывается как HTML, а читается и обрабатывается функцией onreadystatechange .

Смысл AJAX — в интеграции технологий

Технология AJAX использует комбинацию:

  • (X)HTML, CSS для подачи и стилизации информации
  • DOM-модель, операции над которой производятся javascript на стороне клиента, чтобы обеспечить динамическое отображение и взаимодействие с информацией
  • XMLHttpRequest для асинхронного обмена данными с веб-сервером. В некоторых AJAX-фреймворках и в некоторых ситуациях, вместо XMLHttpRequest используется IFrame, SCRIPT-тег или другой аналогичный транспорт .
  • JSON часто используется для обмена данными, однако любой формат подойдет, включая форматированный HTML, текст, XML и даже какой-нибудь EBML

Типичное AJAX-приложение состоит как минимум из двух частей.

Первая выполняется в браузере и написана, как правило, на JavaScript, а вторая — находится на сервере и написана, например, на Ruby, Java или PHP .

Между этими двумя частями происходит обмен данными через XMLHttpRequest(или другой транспорт).

Что я могу сделать с помощью AJAX ?

Смысл AJAX — в интерактивности и быстром времени отклика.

Небольшие элементы управления

В первую очередь AJAX полезен для небольших элементов, связанных с элементарными действиями: добавить в корзину, подписаться, и т.п.

Динамическая подгрузка данных с сервера.

Например, дерево, узлы которого подгружаются по мере раскрытия.


Незаметные для пользователя действия.

Например, при редактировании статьи — каждые 10 минут результаты автосохраняются на сервере.

Непрерывная подзагрузка информации с сервера.

Самый типичный пример — чат. В окошко постоянно поступают все новые сообщения, непрерывно подгружаемые с сервера. И, опять же, через AJAX, без перезагрузки страницы, пользователь может
отсылать сообщения на сервер.

Существуют другие предложения подобного рода, например, отображающие биржевые котировки в реальном времени.

Пример. Google suggest.

Google — одна из первых систем, которая предложила «живой поиск», live search. Пользователь печатает поисковую фразу, а система автодополняет ее, получая
список самых вероятных дополнений с сервера.

Код, который это обеспечивает, работает следующим образом.

  • Активируется примерно при каждом нажатии клавиши
    • Время посылки последнего запроса отслеживается
    • Для «обычной» скорости печати — запрос отсылается при каждом нажатии
    • Для «программистской» скорости — каждые несколько нажатий
  • Создается скрытый DIV, который показывается при начале печати
  • DIV заполняется ответом сервера
    • Текущий результат подсвечен, можно перемещаться и выбирать
    • При нажатии правой стрелки, поиск в подрезультатах
  • Результаты кэшируются
    • при нажатии на «удалить», обращения к серверу не происходит
  • Время на осуществление запроса отслеживается для управления частотой запросов к серверу
    • Обычный модем будет обращаться к серверу меньше,
    • Подключение по выделенной линии — запросы идут чаще.

Пример. Gmail.

Раз уж взялись за Google — рассмотрим почтовый сервис той же компании, http://gmail.com.

На момент его появления он явился единственным открытым почтовым сервисом, использующим AJAX для следующих фич.

    Проверка ошибок ввода формы ДО сабмита

Результат: обширная популярность, высокий спрос на account’ы с момента открытия.

Синхронная модель VS Асинхронная модель

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

Условно говоря, мы действуем так:

  1. закидываем удочку
  2. ждем, когда клюнет
  3. клюнуло — включаем подтяжку спиннинга

При асинхронном подходе мы:

  1. вешаем на удило специальный детектор клева, задаем ему тянуть спиннинг, когда клюнет
  2. закидываем удочку
  3. занимаемся другими делами
  4. детектор клева срабатывает, запуская подтяжку спиннинга

Т.е, в синхронном случае удочка постоянно приковывает наше внимание. Ловля рыбы — последовательный процесс.

В асинхронном варианте — мы сначала задали программу, что делать при клеве, а затем опустили удочку ловить и занялись другими делами.
Например, поставили еще 5 таких удочек.

Асинхронное программирование сложнее, чем синхронное, и поначалу непривычно, т.к в нем заранее задается то, что сработает после.
Т.е, программу «что делать, когда клюнет» нужно задать до того, как клюнуло, и вообще неизвестно, есть ли в водоеме рыба.

Существуют приемы, облегчающие асинхронное программирование, например, отложенный объект Deferred (Twisted,Dojo,Mochikit), но об этом — в отдельной статье.

Синхронная и асинхронная модель в AJAX

Вернемся к нашим баранам: браузеру, серверу и, скажем, базе данных.

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

Все процессы выполняются последовательно, один за другим.

Сетевые задержки включены во время ожидания, обозначенное на схеме серым цветом.

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

В асинхронной модели запрос отсылается («удочка поставлена»), и можно заняться чем-то другим. Когда запрос выполнился («клюнуло») — запускается заранее
подготовленная программистом функция («подтянуть спиннинг») показа сообщения сервера.

Здесь сервер сразу же уведомляет браузер о том, что запрос принят в обработку и освобождает его для дальнейшей работы. Когда ответ будет готов — сервер перешлет его, и на браузере будет вызвана соответствующая функция показа, но пока этот ответ формируется и пересылается — браузер свободен.

Пользователь может написать комментарии, заполнить и отослать форму и т.п: Могут производиться новые асинхронные запросы.

Асинхронная модель характеризуется почти мгновенной реакцией на действия пользователя, так что создается впечатление удобного и быстрого приложения.

Например, в примере с голосованием выше — кнопка срабатывает сразу, хотя реальный учет голоса происходит позднее, после обработки сообщения сервером.

Из-за такого разрыва между действием и реальным результатом приложение становится гораздо более чувствительно к ошибкам.

Особенно в случае нескольких одновременных асинхронных запросов, нужно заботиться об очередности выполнения и ответа (race-conditions) и, в случае ошибки, оставлять приложение в целостном (consistent) состоянии.

Особенности асинхронной модели

  • Сложность в реализации
    • Недостаточные возможности браузера (javascript)
    • Асинхронная модель сложнее для отладки
  • Race conditions
    • Неопределена последовательность выполнения
    • Можно делать много одновременных задач («удочек»), но задача, начатая первой, может окончиться последней.
  • Реакция тут же, но неизвестно, какой будет результат. Усложнена обработка ошибок
    • Ошибок коммуникации — разрыв связи, и т.п.
    • Пользовательских ошибок — например, не хватило привилегий
  • Контроль целостности (bugproof)
    • Например, редактор отправил асинхронный запрос на удаление ветки дерева. Добавление в нее нужно отключить, пока не придет ответ сервера. Если вдруг не хватило привилегий, то операция не удалась.
  • Интерактивность
  • Быстрый интерфейс

Плюсов всего два, зато какие! Овчинка стоит выделки.

Асинхронный drag’n’drop.

Иногда для асинхронных операций необходимо делать различные «финты ушами». Например, хочется сделать drag’n’drop в дереве, т.е перетаскивать статьи из одного раздела в другой мышкой, и чтобы они на сервере в базе данных меняли родителя.

Drag’n’drop — это «взял мышей объект — положил куда надо — готово». Но в асинхронной модели не может быть все прям сразу «готово».
Надо проверить привилегии на сервере, проверить, существует ли еще объект, вдруг его удалил другой пользователь.

Надо как-то показать, что процесс пошел, но результат «ща будет..». А как? В асинхронной модели указатель мыши не может просто так зависнуть над объектом, превратившись в часики.

В таком случае применяют либо синхронные запросы к серверу — и тогда все действительно подвисает, либо оригинальный выход — положить объект, как будто он перенесен, и проинформировать анимированной иконкой об ожидании ответа.
Если ответ отрицателен — обработчик ответа переносит объект обратно.

Stale context, устаревший контекст

В примере с drag’n’drop также затронута проблема «stale context» — устаревшего контекста.

Веб — многопользовательская среда. Если для навигации используется,
скажем, дерево статей, то над ним работают много человек. Один из них может удалить ветку дерева, над которой работает другой: конфликт.

Как правило, для преодоления таких казусов используются следующие средства:

Политика редактирования

Это когда все знают кто чего делает и на уровне деления полномочий и личного общения такие удаления согласовывают. Вариант заведомо небезопасный, но обычно работающий.

Локинг и/или версионный контроль

Локинг — блокирование редактируемых документов.


Версионный контроль — каждый новый документ становится версией, так что изменения никогда не теряются. Версионность влечет за собой конфликты, когда Петя начал редактировать документ раньше Васи, а сохранил — позже. При этом в последней версии изменения Васи оказались потеряны, хотя предпоследняя (Васина) версия в системе обязательно есть.

Более подробно о локинге и версионности можно почитать, например, в документации к системе версионного контроля Subversion.

Автообновление контекста

Проблема устаревшего контента может быть на 99% решена при помощи мгновенного автообновления.

Браузер держит постоянное соединение с сервером (или делает время от времени корректирующие запросы) — и нужные изменения отсылаются по этому каналу.

Например, в раскрытую ветку дерева иногда подгружаются новые статьи, в открытый почтовый интерфейс — новые письма.

Вообще, проблема устаревшего контекста напрямую относится к задаче целостности данных. За конечную проверку целостности, как и при валидации форм, в любом случае несет ответственность сервер.

Всё это уже знал, но статья так легко и интересно написана что прочел еще раз =) 5+

Все это конечно интересно, но где взять конкретные примеры допустим ajax авторизации?

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

Я знаю для чего нужен Ajax! Вот только не знаю с чего начать его изучение!

А что Вы хотите научиться делать? Поконкретнее, если можно.

Интересует очевидное — считывание блока контента без перезагрузки всей страницы. Начать можно с того, что юзверь клюкнул кнопку меню. На сервант через Post/Get передана сцылка на запрашиваемую страницу. Движок нашел в базе нужный контент. Что далее, если Ajax ?
Можно даже на примере работы этого сайта. Вот например сделать хреф рядом с Антиспам-вопросом с title=’не знаю ответа’ . Чтобы при нажатии его, с серванта подгружался калькулятор. А на стороне браузера — выводить его в , а то ведь не все помнят математику (ещё бы интегралов понаписали).
ЗЫ Ещё можно отправлять текст модеру сайта, по мере заполнения текстареа свыше 80%, чтобы неуспев дописать вопрос, юзверь получал ответ :-D

в примере, который указан выше есть все ответы.
запрос отсылается на «/ajax_intro/vote.html»
результат req.responseText можно вставлять куда угодно, хоть в statusElem.innerHTML

или Вы не об этом?

1. Содержимое файла «/ajax_intro/vote.html» ?
2. Можно догадаться, что на событии onClick кнопки Submit подвешена функция Vote() . Вот с этого места поподробнее, если можно.
3. Где вообще форма? Или её отменили в Ajax?
Если был источник, пож укажите.

1. По этому адресу находится серверный скрипт, который засчитывает голос и выдает текст ответа. Текст ответа можно получить в responseText.

2. Да, на клик подвешена функция vote. При клике она вызывается, передает голос на сервер и возвращает ответ.

3. Формы никакой нет, и самбита нет. Есть вызов сервера через XmlHttpRequest.

По поводу источника — вы читаете оригинал статьи.

Функция результата голосования возвращает по return значение, которое ПЕРЕДАЁТСЯ в браузер, где присваивается переменной responceText. Потом innеrHТМL передаст его в div, так?
А где задается значение «Ожидается ответ сервера»?

PS. Не спорю, что в Вашем варианте оно работает «без гвоздей». А у меня движок, в котором кое-как сваяли модуль поддержки Ajax.

Не заметил сразу прямую выдачу в div через innerHТМL — прошу прощения

Спасибо, все фукционирует

А например кнопку подгружаемую по условию можно сделать ?

// создать объект для запроса к серверу, функция getXmlHttp будет дана ниже
напишите пожалуйста getXmlHttp. а может я просто неувидел?
заранее спасибо

«Вешаем на удило специальный детектор клева»
Я плачу Браво )))

все прекрасно понятно =)
только вот чего начать изучение?
допустим php . поставь apache+mysql+php = изучай а тут не пойму с чего начинать =( что ставить?

Я так подозреваю, что для самого конкретно AJAX`a вообще ничего ставить не нужно. Просто нужен какой-нить блокнот с подсветкой синтаксиса. Ну а для серверной части подойдёт Denwer, но это как вы уже сказали (apache+mysql+php).

оч клево написано

Класс, изучаю вот. Только если нажать на голосовать второй раз (подождав от первого прилично), то ответ придет от сервера настолько быстро, что в итоге у вас залипает фраза «Ожидаю ответа сервера. «. Это можно решить как-то?

Единственный вариант, который приходит в голову — send(null) вернуло закешированный ответ, который тут же обработался — и все это до 2й строки.. Но это очень странно, получается что запрос обработался фактически синхронно.

Классно всё расписано . а где взять пример аякса для генерации дерева ?

Примеры дерева — в программе Visual DataFlex 16.1 — после установки и загрузки библиотеки AJAX Library 2.3 — есть примеры в директории Examples

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

Классно написано, автору респект!

Хорошая статья мне понравилось и про ajax теперь все ясно стало

Зе бест!
Суть аякса я понял.
теперь думается — нужно разобраться с синтаксисом языка и попробовать сделать замену фрэймов.

Вопрос-уточнение! я нуб! Если я хочу скачать контент с конкретного сайта, используя свою html-форму (то есть ту, которая на моем компе), а не форму этого сайта, то это подпадает под кросс-доменный скриптинг? или это можно закрыть типовым XmlHttpRequest.

Спасибо за статью!
Отлично разжеванный материал, наконец-то мне стало все ясно с этим аяксом

Очень хорошая статья, но у меня возник вопрос, если надо передать не null запрос а например ассоциотивный массив
ну как blablabla.ru/test.php?key1=var1&key2=var2

как тогда строить req.send
?

В данном случае просто делаешь URL: /test.php?key1=var1&key2=var2

Первая выполняется в браузере и написана, как правило, на JavaScript, а вторая — находится на сервере и написана, например, на Ruby, Java или PHP.

А не могли бы написать для примера с голосованием скрипт PHP? Я поняла, что отправка идет методом GET, а вот как это «ловить» на сервере…
Спасибо

Направлять запрос соответствующему скрипту и в нем все делать. Скажем, /ajax/vote.php

То есть используем метод POST или Get указывая скрипт обработки на сервере там он как то преобразовует данные с ajax в php и тут php связываеться с бд. Так получаеться?

Убейся, что ты здесь вообще делаешь??

Чудесная статья . Все понял, кроме одного момента: что на ходится в файле vote.php? Там функция вызывается или что? И как аякс понимает что сервер что то вернул? return или что то другое? Хотелось бы поподробнее.

Присоединяюсь к предыдущему вопросу

Добавил в статью информацию, содержащую ответ на ваш вопрос.

У автора статьи есть чувство юмора)

Спасибо за статью. Все бы так писали. Надо ещё разок почитать. хочется влезть в детали.

А как решать проблему с кодировками? Мне требуется посылать ответ написанный кирилицей. В этом случае браузеры отображают билеберду.

Возможно есть более продвинутые способы, но я в php-скрипте, который возвращал мне ответ, все русские буквы прогонял через функцию iconv и менял кодировку

XmlHttpRequest всегда приходит в UTF. Тут уж ничего не поделаешь — либо переходить на UTF-8, либо перегонять iconv .

В php.ini
default_character_set=cp1251
подобная строчка должна быть где-то в файле.

Все преимущества использования AJAX на лицо. Очень хорошо статья написана.

день добрый, а как можно реализовать прогрузку контента с помощью ajax, если:
Станичка использует фрэймвок mootools.
На ней разные эффекты, соответственно.
Есть, допустим, место —

А туда нужно ajax’oм подгрузить не просто текст, а несколько «виджетов» mootools, которые после подгрузки связались бы с фрэймвоком и стали бы работать.

Передай вместо тек4ста ссылки на виджеты с параметрами

Давно искал пример проверки логина при регистрации без перезагрузки страницы. Нигде не мог найти внятного обьяснения или рабочего примера. Сделал по типу описаного тут голосования, всё заработало. Короч, наманая статья

В чем суть Ajax? Вижу только конструкции явыскрипт и пиашпи!

Отличная статья! Спасибо автору

ajax все больше укрепляет свои позиции в реализации интерактивности сайта
Статья 5+

Скопировал ваш код с кнопкой «Голосовать», на страничку, которая у меня на винчестере. Запустил — надпись «ОК» в теге появилась, но никакой alert не появляется. Стал изучать, оказывается req.status равно нулю. Почему? Что не так?

Я изменил строчку адреса на такую:

Или что я не правильно делаю?

$en ? echo ‘privet’ : echo ‘paka’;

У меня вопрос. как изменить кодировку сообщения, приходящего с сервера.
Все вроде бы нормально, но ответ, который потом выдается Alert-ом содержит в себе «Сервер ответил: (тут куча непонятных иероглифов)»

p.s. все файлы сохранены в кодировке Windows-1251

Извиняюсь, так не получится.

Хотя, если посылать заголовок скриптом, то прекрасно работает

всё крута) пасиба) счаЗ буду делать вход на сайт через
Ajax
)
можно сделать кнопку Просмотр в диве через Ajax)

Sniper
внимательно вчитываемся ‘частые проблемы > кеширование’ на xmlhttprequest.ru
там описан еще один вариант обхода кеша, немного больше кода зато больше эффективности

там же, чуть ниже, можно посмотреть разбор кода


а почему если нажать на кнопку Голосовать в начале статьи ВТОРОЙ раз то логика нарушается: сначала возникает алерт что типа все ок а потом Ожидаю ответа сервера. и тишина.

отвте как увидел позже есть))

Используйте запросы POST, потому что браузер их не кеширует и они более защищены!

Статья самодостаточна! Кратко и в то же время объемно. Теперь ясно, что Ajax — это ни удочка, ни сети, ни гарпун, а только способ пользоваться всем этим барахлом. И очевидно, что этот способ — для профессионалов рыбной ловли :-)

почему не вылетает alert .

Млин, все же все-равно не понятно как через POST отправить пусть скрипту vote.php данные из формы. Ну например, пусть тоже голосование, только есть еще варианты ответов (то есть есть форма с radio), так вот как скрипту vote.php передать значение одного из radio??

Вы пишете «Браузер держит постоянное соединение с сервером (или делает время от времени корректирующие запросы) — и нужные изменения отсылаются по этому каналу»

Можно поподробнее, что значит «держит постоянное соединение»? Ведь наскольо мне известно браузер сокетное соединение не устанавливает, и все реал-тайм обновление через ajax — это просто запросы, отсылаемые серверу автоматически с некой периодичностью. Или я не прав?

Не понял юмора насчет проблем со «старым контентом». Технологии распределенных баз данных насчитывают уже десятки лет. Неужели пользователи аяхи избавлены от этого накопленного опыта и знаний?

Здравствуйте! Прежде всего, спасибо за крайне полезный цикл статей.

Есть, однако вопрос.
А можно ли через XMLHttpRequest получить с сервера простой текстовый файл (не HTML, XML и пр.) в кодировке cp1251?

До сих пор пробовал — он его читает, но упорно пытается вернуть в utf8. Соотв., вместо русских букв получается абракадабра.

Как решить проблему с использованием серверных компонент (на сервере крутится ASP) — примерно представляю. Интересно, решаема ли она без (т.е. исключительно на стороне клиента).

Буду ОЧЕНЬ признателен, если кто подскажет!

Спасибо большое. Перелистав почти десяток «учебников» только на этой статье наконец «въехал» в технологию.

Ам.. не понятно откуда берутся вот эти цифры?

if (req.readyState == 4)
.
if(req.status == 200)

пардон, вопрос снят )) У кого будут такие же глупые вопросы, смотреть http://xmlhttprequest.ru/

Я тоже не понял как отправлять данные методом POST. Точнее понятно, но какой индекс тогда будет у массива $_POST с тем что я отправил? если бы я отправлял кнопкой submit через форму, в которой поле ввода, например с аттрибутом name=»test», то в скрипте бы я обратился $_POST[«test»]. А с XMLHttpRequest так не работает. ЗЫ только что со страницы http://xmlhttprequest.ru/, там тоже ничего не сказано

Я тоже был на http://xmlhttprequest.ru/
читаем внимательнее:

send()
Отсылает запрос. Аргумент — тело запроса. Например, GET-запроса тела нет, поэтому используется send(null), а для POST-запросов тело содержит параметры запроса.

// Пример с POST
.
var params = ‘name=’ + encodeURIComponent(name) + ‘&surname=’ + encodeURIComponent(surname)
xmlhttp.open(«POST», ‘script.php’, true)
.
xmlhttp.send(params)

Вопрос только в том остался, что когда я в script.php
выполняю
echo $_POST[«name»]
выводится пустая строка .

установи http-заголовок вот так вот: req.setRequestHeader(‘Content-Type’,’application/x-www-form-urlencoded’);

Есть вопрос, ajax-технология базируется на языке Java Script, что будет если пользователь отключит у себя в браузере Java Script? Я так понимаю ajax-отвалится и весь труд накроется медным тазом( а чтобы такого не случилось надо писать запасной код который сработает в любом случае ). Я правильно понимаю?

С одной стороны Да, все отвалится, но сдругой стороны как ты напишиь запасной код. Проще тебе вывести сообщение пользователю о том, что у него не контачит javascript.

у меня вот тоже такая же проблема:
вместо vote.php я отправляю запрос some.jsp
В some.jsp у меня запускается exe и ловится все, что он выдает в строку, потом выводится на страничку
( out.print(stroka) )
Первый раз все запускается, а потоооом.
Почемуто ответ приходит моментально и содержит результат предыдущего вызова some.jsp .

Не подскажите,как мне при помощи ajax сделать, чтобы при нажатии ссылки в меню слева(меню новостей например), новость отображалась в главной таблице

Отличная статья! Спасибо!

Автор, большое спасибо за чудесную статью! Всё очень толково разьяснено. Респект

> Пример. Google suggest.
DIV заполняется ответом сервера

  • Текущий результат подсвечен, можно перемещаться и выбирать
  • При нажатии правой стрелки, поиск в подрезультатах

Как перехватывать нажатия клавиш? В строке поиска Яндекса так же можно перемещаться по выданным возможным вариантам с помощью клавиш курсора. Но я никак не могу разобраться как это реализовано? Подскажите в каком направлении копать.

Вот у меня такой вопос.

Я все сделал, работает супер! но есть одна фигня. Текст с сервера не выводиться. в вместо него одно слово: undefined.

В сервере содержиться:

Не подскажет, где я ошибся?

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

«не выводиться»;
«содержиться».

Может сначала в школу, а потом текст с сервера выводить?

помоему респонс текст должен идти со стартом, а не с инком

Отличная статья!
«Смысл AJAX — в интерактивности и быстром времени отклика.»
Подскажите пожалуйста, насколько быстро работает AJAX? Можно ли с помощью данной технологии создать динамичную онлайн-игру?

Думаю скомпилированные приложения все равно будут работать быстрее (Flash)

Не работает(((
Скопировал даже код предпредыдущего сообщения, на что IE выдал:
Сведения об ошибке на веб-странице
Сообщение: ‘null’ — есть null или не является объектом
Строка: 35
Символ: 5
Код: 0

Вот тебе по легче,тоже создаём XMLHttpRequest

А вообще статья чёткая,понравилась 5+

Ramzil_Nixon, я статью еще не доконца прочел, пока разбираюсь. Мне показалось что правильней назначать обработчик перед отправкой запроса:

у Вас:

start.send(null); // Отправляем запрос в сервер
inc.innerHTML = ‘Ждем ответа сервера’;
start.onreadystatechange = function() .

Мне кажется, лучше так:
start.onreadystatechange = function() .
start.send(null); // Отправляем запрос в сервер
inc.innerHTML = ‘Ждем ответа сервера’;

Подскажите пожалуйста, не работает в ИЕ8 (у меня такая стоит в других не проверял). В остальных браузерах все нормально.

срабатывает изменение в БД но нет анимации. В шаблоне прописал стили которые проверяют значение в БД и соответственно при нажатии F5 если элемент заблокирован то он остается в полупрозрачном виде. Так вот в ИЕ при нажатии кнопки + потом F5 элемент полувиден, а вот обратно не работает и анимации нет. Спасибо

Илья, сделайте, пожалуйста, учебник по AJAX более подробным, так сказать «для начинающих». После прочтения учебника по JS этот материал кажется слишком сжатым и «не измельченным», непонятным. Стоит добавить больше примеров, расписать более подробно. Например, в каких случаях нужно использовать GET, а в каких POST? Какой вариант транспорта выбрать, если у меня на странице есть форма для выставления рейтинга, а на другой — большая HTML-форма из 50 разных элементов (поля, списки, флажки. ) для загрузки на сервер? Как взаимодействовать с БД, например, с mySQL + php ? На этой странице хотелось бы увидеть пример не с примитивным

а с ветвлением на стороне сервера, например, та же голосовалка: выбираешь «5», сервер возвращает «Вы выбрали 5» и т.д.

Здравствуйте, а как ajax применять в ASP.NET, не MVC? Что служит обработчиком, вместо страница.php?

Доброго времени суток, Илья. Хочу обратиться к Вам за разъяснениями по поводу XMLHttpRequest, т.к. в интернете не нашел ответ на свой опрос (может и не правильно искал).
Суть вопроса такова, примерно:
есть функция, которая возвращает объект xhr (кроссбраузерно). При этом я написал ее таким образом, что если уже есть готовый объект она возвращает его. Но тут возникли проблемы — если первый запрос еще не отработал и создавать второй, то первый абортится (Aborted), печально ((
Решил переделать ф-кцию, чтоб возвращала всегда новый объект XMLHttpRequest, но тут возник вопрос, а не будет ли утекать память. Что происходит с объектом XMLHttpRequest после того как он отработал.
Может, после обработки результата от запроса объект XMLHttpRequest нужно явно удалять при помощи delete?
Буду очень признателен вам за помощь в данном вопросе.

«Многим вешают лапшу на уши». Реально ли устроиться программистом после окончания IT-курсов?

Манящая зарплата – до 4000 долларов, колоссальный спрос – на одного программиста приходится 5 открытых вакансий. Такие доводы приводятся на сайтах популярных сегодня курсов, которые обещают в короткие сроки сделать человека незаменимым специалистом в сфере IT. Хлеб программиста еще никогда не казался таким легким и доступным.

В 2014 году, по результатам первого полугодия, средняя зарплата в сфере IT составила 17 188 372 рубля, или около 1620 долларов. С такой серединой «потолок» кажется и вовсе заоблачным. Неудивительно, что желающих переквалифицироваться в специалистов IT становится все больше.

Помимо профильных факультетов вузов, программистов и тестировщиков сегодня готовят на многочисленных образовательных курсах. Их продолжительность редко превышает 2-3 месяца. За это время слушателям предлагается пройти один образовательный уровень, например, познакомиться с основами программирования на языке C++, Java или PHP.

Далее обучение можно продолжить или попытаться найти работу. Некоторые учебные центры гарантируют трудоустройство, другие – ограничиваются общими фразами из разряда: «С каждым годом спрос на программистов растет», «В случае успешного завершения тренингов мы прилагаем максимум усилий, помогая с трудоустройством». В среднем цена одного курса колеблется от 1,5 до 3 млн

Любопытно, что ряд учебных центров не специализируются на подготовке IT-специалистов. Наряду с курсами программирования можно пройти школу дизайна, красоты или рукоделия. Особняком стоят учебные программы от ведущих IT-компаний в Беларуси, которые имеют четкую специализацию и ориентируются на внутренние потребности в кадрах.

Неудачный опыт: «Где-то к середине поплыл»

29-летний Дмитрий Бурак окончил БНТУ по специальности «инженер по информационным технологиям». Работал кладовщиком, менеджером по продажам, несколько лет назад устроился в техподдержку интернет-провайдера. Решил пойти на курсы программирования, чтобы «за доступные деньги проверить свои способности». Выбрал одно из самых популярных сегодня направлений – «основы java-программирования». Весь курс длился 40 часов – по 2 занятия в неделю.

– Я думал: а вдруг я сразу начну во всем классно разбираться и через год зарабатывать три косаря, – иронизирует Дмитрий. – Но оказалось, что вряд ли. Я, конечно, доходил до окончания курсов, ведь деньги уже заплачены. Но где-то к середине «поплыл», вообще перестал понимать, о чем там рассказывают. Возможно, нужно было уделять этому больше времени.

Дмитрий вспоминает тех, кто вместе с ним прослушал курс по одному из самых популярных сегодня языков программирования. В группе собрались представители самых разных профессий: врач скорой помощи, который за месяц до начала курсов устроился работать в одну из компаний тестировщиком, менеджер по продажам с забытым инженерным образованием, системный администратор, которому «надоело лазить под столами», опытный программист, владеющий другими языками и пожелавший подтянуть java. Мужскую компанию на первых занятиях разбавляла своим присутствием молодая девушка, но к концу первого месяца, рассказывает Дмитрий, она исчезла.

По окончании курсов все слушатели крайне плохо сдали итоговый тест. После пересдачи Дмитрий Бурак уже не интересовался результатами. Оценивая затраченное на курсы время, он признается: полученные знания никак не пригодились в жизни. Тем не менее собеседник не считает занятия бесполезными для всех.

– Кто действительно хочет научиться, тому есть смысл обращаться. Наш преподаватель, к примеру, всегда был онлайн в скайпе. Можно было в любое время обращаться за консультацией. Что касается трудоустройства, нам сразу было сказано, что только базовый уровень пройти недостаточно. Вот если пройдешь три курса, классно сдашь экзамен, тогда трудоустройство возможно.

Будущие программисты: «На 6 млн, наверное, соглашусь»

За удачными примерами мы отправились прямиком на курсы. Учебный центр Bigsoft в отличие от большинства других IT-курсов не гарантирует выпускникам обязательного трудоустройства. Здесь предлагают пройти обучение по целому ряду направлений: тестирование, программирование java, основы JavaScript и AJAX, основы PHP, разработка под Andro >

Большая часть аудитории, в которой изучали java-программирование, оказалась корпоративными клиентами – их направили на курсы от компании, в которой они работают. Самостоятельно пришли учиться всего несколько человек.

Дина Назарчук – студентка 3 курса БГУИР. Проходит программирование в университете, но решила самостоятельно углубить свои знания по языку java.

– Это самый популярный и часто используемый сегодня язык для разработок. В университете курс у нас только начался. Хотелось бы развиваться дальше, поэтому и пришла сюда. О зарплатах пока не думаю.

Алексей Лысенок – студент 3 курса БГУ. Пришел к выводу, что материала, который дают в университете, недостаточно.

– Самообразование в этой сфере необходимо. Пока я еще не работаю, но собираюсь в скором времени искать. Зарплата для меня сейчас не самый важный фактор. Могу начать и с 200, и с 300 долларов.

Артем окончил БГУИР по инженерной специальности, сейчас отрабатывает распределение на «Интеграле». Зарплатой категорически не доволен, поэтому решил поискать себя в другой сфере. Как только закончится отработка, планирует устроиться программистом. Свои планы афишировать руководству пока не хочет, поэтому фотографироваться отказался.

– Я знаком с программированием на языках HTML и CSS, но хочу изучить языки более высокого уровня. Можно сказать, что начинаю с нуля. В школе мне нравилось программировать, я решил, что это меня занимает, что я могу и хочу работать в этой сфере. Когда поступал в университет, к сожалению, думал о другом… Стартовая зарплата? На 6 млн, наверное, соглашусь.


Будущие тестировщики: «Готова работать за 300 долларов, но недолго»

На курсах тестирования людей, которые решили переквалифицироваться, оказалось значительно больше. Многие из них отказывались фотографироваться и давать комментарии: «У нас есть другая работа, мало ли, как жизнь сложится».

Ольга, 21 год, учится на биолога. По специальности работать не планирует. В IT-сферу решила пойти по совету друзей. Компьютером владеет на уровне «юзера».

– Я уже перевелась на заочное отделение, биология для меня – запасной аэродром. Хочу устроиться на работу сразу после окончания курсов, то есть через 2 месяца. Нас, конечно, сразу предупредили, что будет большая конкуренция и, чтобы тебя взяли, нужно хорошо потрудиться. Стартовая зарплата, с которой готова начинать, – это 300 долларов. Готова работать за эти деньги, но недолго, – смеется собеседница. – Это всего лишь третье занятие, понимание у меня пока есть, оцениваю себя хорошо. Но чем больше ты узнаешь, тем больше понимаешь, что ничего не знаешь.

Олег Салей, 24 года. Учится в БНТУ на заочном отделении, работает грузчиком. Пробовал изучать программирование самостоятельно. Но на курсах предпочел изучать тестирование.

– Отучусь – и буду сразу пробовать устраиваться на работу. Пока опыта не наберусь, готов работать за 300-500 долларов. Но несколько лет жить на эти деньги, конечно, не готов. Думаю, что зарплата вырастет гораздо быстрее.

Валентина (имя изменено) согласилась пообщаться, но отказалась фотографироваться. Она проектирует сети связи, но в своей профессии не видит дальнейших перспектив.

– Потолок зарплаты в моей области – 1,5 тысячи, я зарабатываю меньше, но и не по 500. Потолок в тестировании значительно выше. Минимум, с которого готова начинать, – те же «по пятьсот». Я знаю, куда я иду, знакома с работой тестировщика. Через 2 месяца планирую попробовать куда-нибудь устроиться.

Зарплата начинающего программиста стартует с 200 долларов

Оказалось, что директор учебного центра Игорь Шумский когда-то тоже переквалифицировался из бухгалтера в айтишника, окончив подобные курсы. Но устроиться на работу не смог. Какое-то время работал во фрилансе, а затем решил сам заняться обучением IT-специалистов.

Возможно, одной из причин создания курсов была обида за обман, который мне довелось пережить в свое время. На занятиях на меня не обращали внимания. Поскольку раньше я никогда не был связан с IT, мне было тяжело, хотелось, чтобы на занятии тренер уделил мне больше времени.

Свой учебный центр Игорь Шумский открыл в 2011 году. В тренеры пригласил действующего программиста с 10-летним опытом использования языка java, который разработал программу.

– Мы открывались, когда в мире был экономический кризис, и очень много людей хлынуло на курсы по программированию. Конечно, среди них было немало тех, кто совершенно не понимал, что это такое, для чего это нужно, и шли на курсы исключительно по материальным мотивам. В первые полгода мы обратили внимание, что где-то процентов 20-30 людей отсеиваются, то есть попросту не доходят до конца курсов. Поэтому нашей задачей было свести число случайных людей к минимуму. Сегодня у нас в группе единицы не доходят до конца занятий.

Игорь Шумский уверяет, что, несмотря на возможные обещания тренеров, после прохождения первого уровня (2-3 месяца) устроиться на работу практически нереально. Основы программирования он сравнивает с изучением алфавита. Чтобы успешно работать, нужно владеть не синтаксисом, а технологиями. По мнению специалиста, для этого нужно пройти не менее 3 уровней – основы, продвинутый курс и IT-лабораторию (практическая работа). И даже это не гарантирует успешное трудоустройство: человек должен быть высоко мотивирован, с хорошо развитым логическим мышлением. А вот для тестирования иногда достаточно одного уровня.

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

– Я знаю, что многим вешают лапшу на уши. В реальности, если у вас хороший английский, есть техническое образование и вы успешно окончили курсы, можно устроиться программистом примерно на 400-500 долларов. И возраст желательно, чтобы был до 30 лет. Без технического образования и языка зарплата может начинаться и с 200 долларов. Тестировщик, который переквалифицировался с другой специальности, без хорошего знания английского тоже может рассчитывать максимум на 200–300 долларов (со старта). Если есть английский, это могут быть 400-700 долларов.

Игорь Шумский подчеркивает, что бояться этих цифр не нужно, потому что речь идет о старте карьеры.

– Наш выпускник, который закончил год назад курсы java, начинал с зарплаты 300 долларов в большой международной компании. Прошел ровно год. Сейчас у него 1600 долларов. Но это человек, который глубоко мотивирован, то есть он постоянно учится, получает дополнительное образование. Были у нас строители, бухгалтеры, экономисты, которым удавалось впоследствии найти работу. А есть те, кто устроившись впоследствии программистом, бросали работу и возвращались в ту сферу, из которой ушли. Нужно изначально понимать, что не все могут работать программистами. Я всегда советую тем, кто далек от сферы IT, начинать свой путь в профессии с тестирования.

Пример успеха: «Я готова была пойти работать бесплатно»

Татьяна Жвалик, senior-тестировщик в iTechArt. По образованию экономист, окончила нархоз в 2008 году. По распределению работала в универмаге сначала продавцом, администратором, затем бухгалтером. В торговле не видела для себя никаких перспектив, поэтому в 2011 году решила сменить сферу деятельности. О профессии тестировщика была наслышана от знакомых. Считает, что программирование требует очень глубоких технических знаний и их лучше получать на профильных факультетах.

После 2-месячных курсов по тестированию разослала резюме по различным компаниям. Была приглашена в EPAM с предложением пройти тестовую лабораторию с последующим трудоустройством (очередные курсы, но уже бесплатные). Татьяне Жвалик повезло: после собеседования ее сразу взяли на проект. Прошло около месяца после окончания курсов – такой результат удивил даже тренера учебного центра.

– Я попала на финансовый проект. А поскольку по образованию я экономист, менеджер посчитал, что я смогу с этой работой справиться. А еще мне кажется, что во время собеседования на моем лице читалось, что я готова работать даже бесплатно, только бы меня взяли.

Начинала Татьяна Жвалик с 400 долларов, что было несколько меньше обычной бухгалтерской зарплаты. Через полгода ее повысили до «mid-специалиста». А еще через полгода она перешла в компанию iTechArt, где уже «выросла» до senior-тестировщика и получает за это достойные деньги.

– Человек должен понимать, что в самом начале он ничего не знает и ничего не умеет, и ему еще нужно долго учиться. Я ходила на все тренинги, на которые меня записывали, бралась вообще за любую работу, просто чтобы накопить опыт, старалась читать специализированную литературу дома. На самом деле, в этой сфере усилия никогда не остаются незамеченными. Но зарплата у всех растет по-разному. Если человек рассчитывает, что он будет просто нажимать одну кнопку и ему будут каждые полгода повышать зарплату, то это не так. Нужно очень много работать над собой.

Специалисты топовых IT-компаний: профессионалов без профильного образования немного

Алена Бабенко, HR Manager в EPAM Systems:

– Несмотря на то, что мы все-таки делаем упор на выпускников и студентов технических специальностей, у студентов других специальностей тоже есть шансы устроиться к нам на работу. Около 2 лет назад компания EPAM открыла первую IT-лабораторию в нетехническом вузе – в Минском государственном лингвистическом университете, где студенты проходят тренинги по тестированию ПО. До этого студенты нетехнических факультетов тоже приходили к нам на курсы – они поступали по результатам собеседований и вступительных тестов. После окончания учебной программы в лабораториях компании мы предлагаем большинству выпускников трудоустройство.

Отношение к курсам вне наших лабораторий среди моих коллег – профессиональное. Там тоже занимаются люди, которые потом приходят в сферу IT, и тем самым растет выбор у нас, компаний-работодателей. На мой взгляд, решающую роль имеют личные качества слушателей, которые приходят на тренинги. Могут быть шикарные курсы, очень квалифицированные преподаватели, но если человек изначально не склонен к тестированию или программированию (рассеян, не может сконцентрироваться, не обладает усидчивостью и вниманием), для него сертификат будет просто бумажкой.

Процесс приема на работу с рынка, я имею в виду тех, кто закончил какие-то курсы и находится в свободном поиске, совершенно прозрачен и открыт. Список вакансий размещен у нас на сайте. Если соискатель видит, что по списку требований и навыков подходит, он спокойно (и уверенно!) может подавать заявку на общих основаниях. Профессиональный уровень проверяется во время вступительных тестов и технических интервью. Случаи, когда люди пришли в IT из других сфер, сейчас встречаются не так уж и редко. Не скажу, что их много, но бывают. Я бы сказала, что это в очередной раз доказывает, что учиться никогда не поздно.

Вероника Кесова, директор Viber Media в Беларуси:

– Откровенно говоря, мы не принимаем на работу людей сразу после курсов, потому что ищем только «сеньоров», очень опытных людей. Главное значение имеет только опыт, а не профильное образование как таковое. Если у человека за плечами большой опыт, но из образования – только курсы, мы будем рассматривать его кандидатуру. Такие уникумы у нас есть, правда, всего несколько человек.

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

Иван Живица, специалист по связям с общественностью компании Wargaming:

– Все зависит не столько от курсов, сколько от навыков, которые вообще есть у специалиста. Если вкратце, то мы смотрим скорее не столько на профессиональный уровень, который, конечно, важен, сколько на человека в целом. Здесь больше оценивается психология, желание человека работать именно в нашей компании и какой-то сторонний опыт за плечами. Нужно накопить какой-то опыт, чаще всего во фрилансе, либо принести какие-то конкретные предложения, как этот человек видит себя в компании, что он хочет поменять, что хочет предложить.

Неправильный, но быстрый способ стать программистом

Хотите стать программистом? Даже если вы не новичок в IT, то эта затея потребует от вас много времени и усилий, и далеко не факт, что вы окажетесь на коне. Но если у вас совсем нет времени и вы в душе авантюрист, то существует несколько хоть и неправильных, зато действенных способов, которые помогут вам пройти собеседование в IT-компанию и удержаться на плаву. Остальное за вами!

Возможно, вам по какой-то причине вдруг резко захотелось стать программистом. Надеюсь, не из-за хороших денег, которые платят в этой отрасли. Хорошая новость заключается в том, что, поняв систему, можно научиться проходить собеседования и выживать первые месяцы на работе.

Плохая новость заключается в том, что от азбуки программирования вы всё равно никуда не денетесь, и чтобы чувствовать себя на новой должности комфортно, вам придётся в срочном порядке доучивать всё то, что вы, как предполагается, и так знаете как свои пять пальцев.

Разумеется, речь в статье пойдёт исключительно о моём личном опыте, который позволял мне проходить собеседования даже в такие топовые компании, как Luxoft.

Как я стал программистом

С компьютером я впервые познакомился в 6 лет. В 13 лет у меня уже был свой персональный веб-сайт. В школе учился плохо, в универе тоже. На втором курсе мой друг нашёл работу Java-программистом и настоятельно рекомендовал мне сделать то же самое. Идея заинтриговала. Нужен был план.

Первый шаг — резюме

Первая и основная проблема, с которой сталкиваются новички, — резюме. Без адекватного, цепляющего резюме вас не будут приглашать на собеседования. Но как быть тем, у кого совсем нет опыта работы? Для того чтобы «не с пустыми руками» идти к HR, мы с моим другом вписали мне в резюме целый год опыта работы над его проектом, над которым мы якобы вместе трудились.

Зарплатная политика

Следующим важным моментом в резюме после востребованных технологий и английского языка был желаемый оклад. Недолго думая, мы с другом решили играть по-крупному и написали заоблачную по тем временам сумму в тысячу долларов, которая должна была отсеять «компании-нищеброды».

Позор и стыд

Первые собеседования были провальными. Надо мной буквально смеялись. На первом же техническом собеседовании, где мне дали пару задачек на бумаге, меня раскусили в два счёта. Кто-то даже по-отечески посоветовал книгу Thinking in Java.

Первая работа

В конце концов меня пригласили на собеседование в филиал одной датской компании, где я ответил на фундаментальные вопросы и приятно удивил всех своим английским. Меня взяли на должность Junior Java developer с одним условием — первые три месяца я буду проходить курс SCJP (Sun Certified Java Programmer), который восполнил бы мои пробелы и выковал бы из меня более подготовленного специалиста. Что может быть лучше, чем оплачиваемая стажировка без нужды работать (выдавать свою некомпетентность)? В этой компании я проработал полгода, чтобы через несколько месяцев пойти на повышение в компанию покрупнее.

На основе своего горького, но всё же бесценного опыта я приведу список рекомендаций, которые помогут товарищам-авантюристам относительно быстро найти работу программистом.

Рекомендации для начинающих программистов

  1. Резюме. Оно должно быть правильно отформатированным и написанным исключительно на английском. Если не хватает опыта, то его можно (и нужно) придумать, но следует подготовиться отвечать за каждое написанное в резюме слово. Например, если у вас там написано JMS (Java Message Service), то вам как минимум следует пройти хоть одну обучалку и поиграться с JMS, поделать какие-нибудь примеры, пускай это и будет банальное «Hello, world!». Теперь вам будет удобнее пускать пыль в глаза, вы ведь и правда «работали с JMS».
  2. Выучите азбуку программирования. Если вы ещё можете позволить себе «плавать» на глубоких уровнях каких-нибудь комплексных технологий вроде Struts и Spring, то неправильные ответы на элементарные вопросы вам никогда не простят. Если вас ночью разбудить, то вы должны уметь рассказать про ООП, наследование, инкапсуляцию, полиморфизм и другие базовые концепции, а также суметь объяснить это всё на примерах.
  3. Практика. Научиться программировать можно, только лишь программируя. Это больно и неприятно (если вы не программист), но другого пути нет. Единственный способ перестать бояться задачек на собеседованиях — порешать их дома самостоятельно.
  4. Читайте книги и проходите туториалы по Java только на английском. Абсолютно все термины программирования проще понимать на языке оригинала, то есть на английском. Читать техническую литературу по Java на русском — себя не уважать. Почему? Потому что, чтобы понимать что-нибудь в духе «…модуль таблицы во многих смыслах представляет собой промежуточный вариант, компромиссный по отношению к сценарию транзакции и модели предметной области», нужно быть поистине гением, которым вы вряд ли являетесь.
  5. Выучите, наконец, английский! В первую очередь это касается разговорного английского. Сложно сосчитать то огромное количество толковых программистов, которых на моей памяти забраковали по одной единственной причине — неудовлетворительный уровень разговорного английского. Нет, если вы, конечно, собираетесь работать программистом где-нибудь в «Киевстаре» или в другой отечественной компании, то ваш уровень языка не будет играть важной роли. Но если вы хотите попасть на работу в международную компанию, то сам бог велел выучить язык. Уровень вашего английского будет конвертироваться в дополнительные сотни долларов прибавки к вашей зарплате.
  6. Знайте рынок. Походите по вакансиям, почитайте требования, поспрашивайте друзей-программистов, сколько они получают. Используйте сервисы, которые позволят составить вам более полную картину о рынке IT. Вы были бы удивлены, узнав о том, насколько велико количество талантливых программистов, которые получают в два раза меньше, чем могли бы, только лишь по причине своей лени и нежелания держать нос по ветру.
  7. Торгуйтесь. Нет ничего предосудительного в том, чтобы торговаться за зарплату. Вашим аргументом в споре может быть как хороший английский, так и предложение о работе в другой компании. Последний аргумент особенно хорошо работает: «Да, но мне в Luxoft предлагают на 300 долларов больше, почему я должен соглашаться на ваши условия? Может, мы могли бы найти компромиссный вариант?». В своё время мне пару раз удалось выторговать дополнительную сотню долларов к своей зарплате, и через год эта сотня долларов дала мне дополнительные 1 800 долларов дохода на ровном месте. Вы должны понимать, что даже для небольших зарубежных IT-компаний лишняя сотня баксов как капля в море.
  8. Найдите себе ментора. Хорошо, если у вас будет более опытный товарищ, который сможет помочь советом и ответить даже на самые глупые вопросы. Благодаря его опыту и моральной поддержке вы будете продвигаться в программировании быстрее, чем в одиночку. Если нет ментора, то неплохо бы сходить на какие-нибудь курсы по программированию, которые не только дадут вам более полную картинку того, чем занимается программист, но и позволят познакомиться с более опытными людьми. Кто знает, может быть, кто-нибудь из них захочет стать вашим ментором.
  9. Начните свой проект. Даже если он будет образцом самых худших практик кодинга и вы его никогда не закончите, по крайней мере у вас будет то дело, ради которого вам захочется разбираться в программировании и изучать новые технологии. Кроме того, у вас появится дополнительная тема для задушевных бесед на собеседованиях.
  10. Ищите работу летом. Во-первых, когда все в отпусках, в компаниях более остро ощущается нехватка кадров и повышается вероятность того, что вас позовут на собеседование. Во-вторых, поскольку ваши конкуренты-соискатели тоже на отдыхе, у вас опять-таки повышаются шансы быть замеченным HR.
  11. Никогда не сдавайтесь. Даже если вам кажется, что вы заваливаете собеседование, важно проявить стойкость и продолжить попытки решить задачу, какой бы сложной она ни казалась. Кто знает, может быть так, что вас именно в этот момент проверяют на усердие в работе!
  12. Избегайте заданий на компьютере. Нет способа быстрее раскусить непрофессионала, чем сразу же бросить его в пекло программирования. Ваша задача — постараться перевести все беседы на высокий уровень, где обсуждаются общие подходы и концепции, но никак не конкретная реализация в решении той или иной задачи. Если вам дали бумагу и ручку и попросили записать решение, то попросите возможность нарисовать его схематически. Таким образом, удалившись от синтаксиса конкретного языка, вы не только убережёте себя от каких-нибудь режущих глаз ошибок, но и покажете, что способны мыслить абстрактно, не вдаваясь так уж сильно в детали.
  13. Начинайте говорить первым. Избегайте ситуаций, когда в воздухе виснет пауза, во время которой в мозгу у интервьюера может созреть очередной коварный вопрос. Как только происходит какая-либо заминка, следует начать рассказывать что-нибудь из того, что вы хорошо знаете. Постарайтесь навязать интервьюеру свою игру.
  14. Старайтесь говорить правду. Если вы никогда не писали PL/SQL процедуры, то лучше об этом сказать прямо. Возможно, в этом для вас будет минус, однако вы убережёте себя от нужды выкручиваться, отвечая на вопрос, в котором ничего не смыслите. Опытный интервьюер за версту почувствует ваши пробелы в знаниях.
  15. Бойтесь маленьких компаний. В небольших компаниях, как правило, небольшие команды. Чем меньше в команде людей, тем быстрее вас раскусят. Ваша цель — большая и неповоротливая корпорация, где вы сможете выиграть для себя немного времени.
  16. Соблюдайте дресс-код. Если вы придёте на собеседование на должность программиста в шикарном костюме, то это вызовет больше подозрения, чем если вы явитесь в шортах или потёртом свитере. Не лишним будет также нацепить очки, мол, «эдакий я книжный червь».

Конечно, кто-то знающий может отметить, что приведённый выше рецепт — это скорее способ стать кодером, чем программистом, и он где-то будет прав. Однако дело всё в том, что вы никогда не найдёте вакансию с заголовком «Требуется плохой кодер». Всем нужны программисты. Желательно senior. У которых более пяти лет опыта работы на корпоративных проектах и которые одинаково хорошо владеют сразу несколькими языками программирования, при этом досконально разбираются в СУБД, умеют писать bash-скрипты, хранимые процедуры, знают в совершенстве Linux, TCP/IP, обладают лидерскими качествами, стрессоустойчивостью, коммуникабельностью и ещё массой навыков, «без которых никак».

Такие люди существуют, я их сам видел. Но их слишком мало, чтобы полностью покрыть нужды вечно голодного рынка IT-специалистов. А это значит, что у вас всегда есть шанс, эдакий вы авантюрист.

Как нанять php программиста в 2020 не потеряв лишнего времени

Так сложилось, что я не часто менял работу и не имел большого опыта прохождения собеседований. Зато у меня был большой опыт проведения технических интервью (здесь и далее синоним собеседования). Статья не претендует на открытие чего-то нового. В феврале с некоторым шумом закрылся стартап, где я работал в качестве тимлида. Я искал работу до середины мая. За это время я прособеседовался в десятках компаний. Это был великолепный экскурс на обратную сторону диалога соискателя и работодателя. Я был удивлен до какой степени банальные вещи пропускаются hr-ами даже в крупных агентствах.

Далее рассказ как правильно с точки зрения программиста организовать собеседование.

Базовой ситуацией стоит считать, что у hr есть резюме программиста.
Работодателю необходимо составить и опубликовать (или отправить соискателю) текстовое описание вакансии. Бесполезно сразу звонить и голосом описывать вакансию.

Повторюсь, в этом нет ничего нового. Но пару раз в телефонном звонке сразу после названия фирмы меня звали на собеседование и просили сообщить доступное время.
Из наименования вакансии “старший/ведущий php-разработчик” можно догадаться только о том, что предстоит разрабатывать на php. А если по телефону пытаться рассказывать больше, то ничего из этого не запомниться. Единственное когда стоит сперва звонить — если соискатель сам об этом явно просит. Например выставив желаемый способ связи на известном сайте.

Итак что указывать в вакансии?

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

  • название
  • текстовое описание фирмы и ее деятельности — тут у hr не возникает обычно проблем
  • текстовое описание основного вида деятельности и задачи отдела/должности будущего работника
  • обязательный технический стек — что должен знать соискатель
  • сопутствующий технический стек — с чем еще предстоит работать соискателю
  • условия труда — если вас их постоянно спрашивают, значит можно дополнить
  • тестовое задание

Почему название важно?

Что вы первое прочли в этой статье? Так или иначе, скорее всего дойдя до этого места название вы уже видели. Но я расскажу почему название важно для разработчика.

Во первых подавляющему числу соискателей все равно написано в вакансии “php-разработчик”, “php-developer”, или даже “PHP-инженер-программист”. Не загромождайте название синонимами. Добавьте что-то важное для вас. Или что-то важное для соискателя. Самый простой способ дать более точное название вакансии, это уточнить с чем придется работать (часть обязательного стека). Например укажите базу данных или фреймворк: “php+mysql developer”, “php (symfony) developer”. Среди моих знакомых много тех, кто ориентируется на основную используемую базу данных и фреймворк.

И особенно много тех кто избегает использования всем известного отечественного “фреймворка”

Что делать-то предстоит?

Складывается ощущение, что hr надеются скрыть проблемы будущей должности и не пишут эту часть. В результате основные задачи выясняются уже на очном собеседовании. На что здесь обращает внимание программист. В основном тут ожидаются следующие фразы “code review”, “легаси код” (обычно даже так: “умение разбираться в чужом коде”), “трекер задач”, “управление командой”, “планирование сроков и ресурсов”.

Обычно эти фразы разбросаны по простому тексту, но бывает и представлены в виде списка. Так или иначе здесь стоит быть наиболее откровенным с будущим работником. Его стоит предупредить о сложностях командного взаимодействия и о текущих проблемах.

Если проблемы продукта это как раз задача разработчика, то командное взаимодействие уже не такой однозначный вопрос. Здесь стоит обозначить все те аспекты с которыми придется работать в любом случае. Например:

  • Работа с фрилансерами и/или фирмой подрядчиком — мне достаточно часто встречались такого рода вакансии. Обычно есть уже некая собранная удаленная команда, над которой ставится штатный сотрудник.
  • Ограничение службы безопасности. Может в офисе работодателя действует особый пропускной режим, а на машинах стоит только windows и все сотрудники лишены административных прав.

Используемый стек технологий

Есть старый анекдот “Если бы водителей нанимали как программистов”. Современные реалии все же несколько приятнее. В большинстве вакансий есть разделение требований на 2 списка (обязательный и дополнительный). Проблема в том что заголовок дополнительного списка “Будет плюсом знание:” мало информативен. У соискателя возникает ряд вопросов:

  • Если я что-то знаю из этого списка меня с большей вероятностью возьмут или больше зарплату дадут?
  • Это используемый стек? Или планируемый? Или наоборот это стек предыдущего решения, которое нужно переписать?
  • А не технологический ли зоопарк тут?

Обозначайте применимость дополнительного списка.

Пишите только реально используемые версии софта (включая минорную). “PHP 7.1” — гораздо более информативная запись нежели “PHP 5-7”.

Тестовое задание, тест в браузере, или просто вопросы по телефону.

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

На самом деле здесь многое зависит от возможностей фирмы. Все способы дают приемлемый результат при должной подготовке задания. Если статья будет интересна аудитории, в следующей расскажу как составлять тестовые задания для php программистов.

Так или иначе задание должно выполняться за достаточно короткий промежуток времени (от 15 минут до 4х часов). Если вы до очного собеседования берете на себя обязательства по проверке решения задания, вы формируете ожидание у соискателя, что он получит результат проверки. Сказать “нет, не правильно” уже будет недостаточно.

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

Звонки и почта как способ избежать собеседования.

Еще выступая на стороне работодателя, я обратил внимание, что все больше соискателей предлагают первую встречу провести в видео чате. А в начале своих поисков работы я не сразу догадался до такого же приема. Переломным моментом стал визит на очное собеседование в известное технологическое представительство одного банка на вакансию “web-разработчик”. Где по просьбе собеседующих я рассказал немного о себе, а после услышал вопрос: “А как у вас с js?”

Как оказалось этому тех. представительству нужен был фронтенд разработчик. А все дело в том, что в вакансии не был указан предполагаемый род деятельности и не было никакого предварительного общения — сразу собеседование.

В итоге я как и многие другие разработчики стал предлагать сперва пообщаться удаленно. Кроме того я подготовил список критичных для себя вопросов, на которые можно ответить даже по почте. Этот список может дополняться вопросами, возникшими после прочтения описания вакансии:

  • На сколько пунктов по тесту Джоэла оценивает себя команда? https://habr.com/company/jugru/blog/159689/
  • Какой текущий/планируемый состав команды разработки (технические специалисты)?
  • Команда расширяется или ищется замена ушедшему сотруднику? (Что случилось с занимавшим эту должность сотрудником? / В связи с чем расширение штата?)
  • Используется ли база данных? Пишутся ли миграции? Кто и как проверяет миграции базы данных перед релизом?
  • Как настроен ci/cd? Если никак, готовы и потратить месяц на настройку?
  • Кто и как ставит задачи?
  • На какой машине придется работать?
  • Есть ли что-то еще о чем я не спросил, но мне стоит это знать?

К этим и прочим вопросам нужно быть готовым еще при первом звонке/письме.

Ожидаемо что вопросы есть и к соискателю. Стоит задавать вопросы так чтобы соискатель мог наиболее коротко и однозначно на них ответить. На самом деле первый диалог с соискателем HR должен воспринимать как способ проверить ценность будущей встречи. У вас никогда не было ситуации что собеседование перестает иметь смысл уже после 2-4 вопросов? Записывайте вопросы которые привели к досрочному окончанию встречи. Ниже приведу краткий перечень таких вопросов, накопленных личным опытом.

  • (Кратко озвучиваются основные положения вакансии) все верно?
  • Почему уходите с предыдущего места работы?
  • Как скоро вы готовы выйти к нам в случае получения предложения?
  • При выходе на работу потребуется паспорт, трудовая … (перечень необходимых документов). С этим проблем не возникнет?
  • Готовы ли вы выполнить небольшое тестовое задание на очном собеседовании?

Если HR может оценить правильность ответов на технические вопросы это замечательно и этим нужно пользоваться. Такие вопросы должны подразумевать краткие ответы. Да и сами вопросы должны легко восприниматься на слух. Опять же спрашивайте максимально близкие темы к востребованной ежедневной работе специалиста. Ниже приведу пример некоторых таких вопросов:

  • *nix/cli: Как посмотреть последние несколько строк текстового файла (лога)? А как следить за его наполнением?
  • *nix/cli: Вы написали php скрипт для запуска в консоли. Как посмотреть существует ли процесс?
  • *nix/cli: Есть папка с изображениями как узнать ее размер?
  • php: Какой вариант проверки существования данных в массиве наиболее быстрый? Почему?
  • php: Используете ли вы declare(strict_types=1)? Почему?
  • sql: Спрашивайте общие вопросы не зависящие от конкретной реализации базы данных, если речь идет о наборе не специалиста узкого профиля.
  • sql: Есть таблица с комментариями. У коментариев есть оценка (целое положительное число).Как выбрать топ 10 комментариев? Как выбрать все комментарии с максимальной оценкой?
  • sql: Какие индексы существуют?
  • sql: Какие виды блокировок существуют?
  • sql: Что такое ACID? Какие уровни изоляции существуют?

На самом деле диалог о технических навыках соискателя стоит записывать. Т.к. ответ может оказаться правильным, но сложным для HR, сверяющего ответы с подготовленным “листочком”. И не забудьте, что о записи разговора нужно предупредить.

Очное собеседование

Итак, пора назначить встречу с соискателем. Будьте последовательны. Предупредите кандидата о длительности встречи, о предполагаемом составе, о тестовых задачах. Спросите о удобном времени для собеседования. В идеале у вас уже должен быть размечен весь доступный временной интервал — все участники собеседования в офисе + свободная переговорка.

Не стоит удивляться, что сейчас кандидаты зачастую могут приехать только с 19 часов. Иногда поступают предложение провести собеседование в выходные. В таких случаях можно предположить, что соискатель работает и однозначно не уверен в том, что хочет перейти именно к этому работодателю. Видимо предыдущие письма и звонки не были достаточно убедительными. Собеседование в нерабочее время уже не новинка. Но обеим сторонам нужно быть уверенными, что оно не закончится через 4 минуты фразой “вы нам не подходите”.

Так или иначе после согласования даты и времени по телефону обязательно пришлите приглашение на встречу по почте (с указанием адреса и схемы проезда).

Кто должен присутствовать на встрече

Сейчас уже ни для кого не секрет, что очное собеседование делится на 2-3 части по составу собеседующих (hr, технический специалист, руководитель). Действительно такое разделение во времени помогает использовать ресурсы оптимально. Этот подход взят на вооружение почти везде и никого не смущает. Но есть различное понимание как эти части должны быть отделены. И зачастую предполагается несколько очных собеседований. В моем понимании, это плохая практика. Работодатель таким образом заставляет соискателя потратить время на 4-6 поездок. В случае крупных городов это легко может в сумме превысить время рабочего дня.

Ёмко, а не быстро.

Идеальная ситуация в найме технического специалиста это всего 2 письма (описание вакансии и приглашение на встречу) , один телефонный звонок (уточнение всех вопросов и назначение даты встречи), и одна встреча в офисе фирмы. Этого на самом деле достаточно. Если у вас более сложный поток обработки вакансий — переносите его на почту и звонки.

Каждый контакт двух сторон должен приводить большему пониманию будущих взаимоотношений. В идеале, до встречи с соискателем вы уже должны быть уверены, что можете взять его на работу.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Тема: Нужен программист ajax + php для небольшой работы

Опции темы
Отображение
  • Линейный вид
  • Комбинированный вид
  • Древовидный вид

Нужен программист ajax + php для небольшой работы

Работа связана с граббингом.

Skype — zhuk-vitaliy
Аська снизу.
Примеры готовых грабингов могу показать.

парсер я сам делать не буду, причину знаеш, но намекнуть, как его нужно делать, могу.

Припустим, что форум находится по адресу: http://domain.com
Отсюда, можно сказать, что страница просмотра всех сообщений юзера выглядит так:
http://domain.com/forum/user/<$number_user>/post/all/ , где $number_user — номер юзера.
Теперь, нужно подключится и достать список всех страниц.
Для подключение, можеш использовать:

  • Здесь сразу переданы куки пользователя и браузер мозилла.
    Вот прмер:
  • Теперь нужно достать список всех страниц.
    Вот функция:
  • Теперь, таким же макаром подключаешся вот по такой ссылке:
    /forum/user/$number_user/post\/all/?PAGEN_1=$page
    Думаю объснять это не нужно.
    Далее сложиваеш регулярку для парсера сообщений, после чего вытаскиваеш ссылку и номер поста.
    Вот припустим ссылка:
    http://domain.com/forum/f35/t2439/m26733#message26733
    Здесь:
    http://domain.com/forum/f35/t2439/m26733 — ссылка
    message26733 — пост

    Далее, опять подключаешся ко всем найденным ссылкам и делаеш парсер именно контейнера и > После того, там должен быть припустим такой код:

    Вытаскиваеш 2 и 3 атрибут функции.
    И отправляеш на
    http://domain.com/bitrix/components/. ION=voteAction
    Где:
    ENTITY_TYPE_ID — второй атрибут функции
    ENTITY_ID — третий атрибут функции
    VOTE_ACTION — plus|minus — что делать.

    В результате получиш данные в формате json, далаеш парсер и узнаеш, прошло или нет.

    Последний раз редактировалось ZhukV; 22.11.2010 в 14:20 .

    Цукерберг рекомендует:  Html5 - Ищу команду веб-разработчиков для вёрстки сайтов
  • Понравилась статья? Поделиться с друзьями:
    Все языки программирования для начинающих