Andrey Lapin: все записи

0

Плюсы и минусы гугл-плюса

Andrey Lapin
5 июля 2011 года

Не так давно была запущена социальная сеть от Google. Про нее многие
писали здесь: http://habrahabr.ru/blogs/google/123088 и здесь: http://habrahabr.ru/blogs/google/123141/, но в этих сообщениях мало конкретики и много воды. Попробую и я рассмотреть G+

Плюсы:

  1. Все контакты разбиваются на круги и можно писать достаточно большой группе в отличие от Facebook, где существует ограничение на количество адресатов и назначать адресатов значительно сложнее.
  2. Сообщения по умолчанию приватны и всегда явно видно, кому ты пишешь сообщение. Поэтому G+ можно рассматривать как удобный инструмент для взаимодействия внутри групп.
  3. Само по себе разбиение на круги больше соответствует действительности, поскольку человек живет одновременно в разных социумах. Это может быть работа, семья, друзья с предыдущей работы, друзья по интересам.

Минусы

  1. Круги общения носят личный характер. Круг может называться у разных людей одинаково, но там будут разные люди. Это неудобно, если круг или группа носит официальный характер. Например неудобно использовать такой подход для организаций, поскольку там более логично иметь администратора группы, который будет следить за составом группы. В G+ за составом группы должен следить каждый участник, что неэффективно с точки зрения временных затрат.
  2. G+ пока ни с чем не интегрируется. Нет API для интеграции, нет приложения для iPhone. Последнее скорее всего появится, но API появится значительно позднее. Если вы наблюдаете за работой поискового гиганта, то можете заметить, что он не любит партнерства с кем-либо. Google стремится установить свою монополию во всем. Поэтому, лишь только из-за того, чтобы уменьшить монополизм Google, я бы не рекомендовал пользоваться G+.
  3. Один очевидный минус в том, что если вы несовершеннолетний и решили подключиться в G+, то будьте уверены, что ваш Gmail будет заблокирован как впрочем и G+. Пруфлинк
  4. Очень редко есть необходимость вести человеку массовую рассылку информации сразу в нескольких приватных кругах общения. Поэтому разбиение на круги хоть и естественно, но не является необходимым.
  5. Для разных кругов общения можно использовать разные социальные сети. Я, например, использую Facebook и Twitter — для работы. Одноклассники — для одноклассников и коллег с предыдущих мест работы. Вконтакте — для некоторых молодых родственников и родителей одноклассников сына.

Метки:

Оставить комментарий
0

От PHP к Python за 15 минут

Andrey Lapin
30 июня 2011 года

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

Python — это не .Net и не Java, где приходится осваивать довольно сложную библиотеку базовых классов. Здесь нет сложности в настройки IDE. Как-то работая в проекте на Java мне необходимо было потратить два дня только на настройку Netbeans.

Python идет в одном ряду с PHP и Perl. Чем-то похож на VB.NET. Кроме того он еще проще в освоении, чем PHP. Чтобы начать программировать в языках такого уровня необходимо только скачать бинарники и тупо начать, даже если вы ничего не знаете. Знания будут добываться по мере решения проблем.

Давайте рассмотрим, чем же отличаются PHP и Python. Я не буду описывать все тонкости, отмечу лишь самые главные моменты, которые помогут преодолеть барьер сложности.
Читать дальше »

Метки:

Оставить комментарий
0

Протокола REST не существует

Andrey Lapin
15 июня 2011 года

 

Много раз встречал, что пишут про некий протокол REST. Давайте расставим все точки над i. Протокола REST не существует.

Есть архитектура REST. Описание данной архитектуры предполагает, что
может быть использован не только протокол HTTP. Ключевая особенность
REST в том, что она предполагает наличие множества ресурсов. Каждый
ресурс соответствует отдельной операции. Если используется протокол
HTTP, то ресурсы — это URI.

Есть понятие «REST-сервисы». Это веб-сервисы, построенные на базе
архитектуры REST, работающие по протоколу HTTP. Из 4-х методов протокола
как правило используются только два стандартных: GET и POST.

REST-сервис не предполагает использование конкретного формата данных. Это могут быть XML, JSON или YAML. Т.е. в отличие от SOAP или XML-RPC данные могут быть в абсолютно произвольном формате.

Хороший обзор походов к взаимодействию приложений есть здесь:
http://michaeldehaan.net/2008/07/17/xmlrpc-vs-rest-vs-soap-vs-all-your-rpc-options/

Метки:

Оставить комментарий
0

Типичные ошибки программиста в проектировании интерфейсов

Andrey Lapin
9 июня 2011 года

Источник

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

Проблемы, связанные со структурами данных.

  • Использование имен переменных или технических терминов для текстовых меток. Такие имена мало значимы для пользователей. Например, подумайте, сколько человек знает, что такое полный дуплекс?
  • Злоупотребление текстовыми полями. Простое текстовое поле предоставляет слишком много вариантов пользователю. Если поле типа String это не значит, что необходимо всегда использовать TextBox.
  • Ограничения по хранению значения в коде переносятся в формы.
    Например, телефон должен всегда храниться в определенном формате. Но это
    не значит, что необходимо запрещать пользователю вводить телефон в
    другом общеупотребимом формате. Пусть программа автоматически
    преобразует текст в нужный формат.
  • Избыток сообщений об ошибках. Часто выводят сообщения об ошибках при малейших проблемах вне зависимости от сложности проблемы и понимания ее пользователем. Необходимо выводить сообщения об ошибках, которые пользователь сам может легко исправить.
  • Выдача специальных значений переменных. Часто используют спец. значения для переменных для обозначения отсутствия значения. Например «-1» для натуральных чисел.
    Необходимо выдавать понятный текст, а не спец. значение и позволять
    вводить это спец. значение с помощью кнопки, либо еще как-нибудь.

Читать дальше »

Метки:

Оставить комментарий
8

Как стать web-программистом за 1 год?

Andrey Lapin
3 мая 2011 года

На написание этой статьи меня вдохновила статья J.P. Stacey

Не все советы подходят для российского программиста, поэтому я решил ее адаптировать.

  • УЧИТЕ английский. На русском языке значительно меньше полезной и актуальной информации,чем на английском. Если даже вы не слишком хорошо знаете английский, пусть вас это не останавливает. Чем больше вы будете читать на английском, чем быстрее вы его освоите.
  • ЧИТАЙТЕ: Hacker News — очень важный источник полезной информации в наши дни. Это аналог Digg для программистов и предпринимателей в IT. Многие участники работают в Силиконовой Долине. Иногда там бывают общие разговоры о карьере программиста и индустрии. Публикуются новинки и стартапы, интересные для разработчиков.
  • ЧИТАЙТЕ: Stack Overflow. Это большая база данных, содержащая решения проблем в области разработки. Часто гугл в поиске дает ссылки на этот ресурс (если вы делаете поиск на английском).
  • ТАКЖЕ ЧИТАЙТЕ: Wired, Techcrunch, 37signals, UXMovement, Coding HorrorDiveintomark. Избегайте: Slashdot и The Register; сейчас эти ресурсы полны информационного мурора.
  • УЧАСТВУЙТЕ: в конференциях по веб-разработке типа http://devconf.ru/. Включайтесь в сообщество программистов. Лучше всего, если вы будете работать в компании, где есть чему научиться.
  • ПРАКТИКУЙСЯ. Делай пусть небольшие, но работающие проекты. Получай отзывы от коллег и пользователей. Сейчас можно купить достаточно недорогой хостинг, чтобы начать размещать в интернете свои проекты.
  • ИССЛЕДУЙ. Посмотри, как работают облачные сервисы. Это сервисы от Амазона: EC2, S3. Альтернативные сервисы: Rackspace. VM hosting from e.g. Bytemark. Google App Engine. Посмотри на их API, по крайней мере составь представление о том, что там можно делать. Изучай новые технологии. PHP все еще черезвычайно популярен, но не останавливайтесь только на нем. Ruby (on Rails) и Python (Django) набирают популярность и показывают себя довольно хорошо. Изучите, как работает принцип MVC в этих фреймворках. Познакомьтесь с AOP (разновидность событийно-ориентированного программирования) и другими не MVC-моделями. Популярные CMS наших дней — это Drupal и Joomla являются зрелыми и богатыми возможностей продуктами. WordPress проще, но более популярный. Попробуйте что-нибудь написать с их помощью, чтобы оценить их возможности. MySQL все еще является стандартом в вебе, но обратите внимание на решения NoSQL типа CouchDB.
  • ИССЛЕДУЙ Dive into HTML5 — это великолепный ресурс по web-стандартам. Изучи возможности CSS3 и способы создания динамического контента без Flash. Javascript вкупе с jQuery дает вам богатые возможности по созданию интерфейсов. В качестве систем управления версиями (VCS) все большую популярность набирают распределенные системы типа git и mercurial.
    Поставьте для себя правилом использование VCS. Мне лично нравится Git. Для его изучения рекомендую Pro Git book.
  • ПРИСОЕДИНЯЙСЯ к сообществам разработчиков через TwitterLinkedIn, Github
  • ИГРАЙ. Выберите язык, с которым вам хотелось бы поиграться. Мой персональный выбор — это Python. Python — объектно-ориентированный язык с возможностями функционального программирования. Имеет строгую, но динамическую типизацию.
  • ПИШИ много кода. Пробуй на вкус фреймворки и языки. Составляй примеры. Делай разработки на базе существующих проектов, коих сейчас бесчисленное множество.
  • ОТТАЧИВАЙ мастерство. Выбери что-нибудь почитать отсюда: these recommendations off Stack Overflow. Я бы также предложил почитать The Pragmatic Programmer и Mythical Man Month. Если у вас еще останется свободное время, почитай в википедии про принципы разработки: Agile, XPScrum, Kanban и т.д., чтобы вы могли работать по этим принципам, если предоставится такой случай

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

Метки:

Оставить комментарий