Search
Write a publication
Pull to refresh
13
0
d1pr3d @d1pr3d

User

Send message

Разработка web API

Reading time9 min
Views291K

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

В тексте попадаются комментарии переводчика, они выделены курсивом.

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
/dogs для работы со списком собак
/dogs/12345 для работы с отдельной собакой
Дальше

PHPUnit: простой синтаксис для создания mock-объектов

Reading time3 min
Views20K


  1. почему не mockery
  2. основное преимущество — синтаксис
  3. моки — нативные
  4. создание stub-объектов
  5. мокирование свойств класса
  6. mock injection
  7. удобные методы для работы с Reflection
  8. как добавить в проект

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

Symfony 2.3.0! Первый релиз с долгосрочной поддержкой!

Reading time4 min
Views13K
image

Symfony 2.3.0


Мы все долго этого ждали, многие из нас работали последние 4 года что бы это произошло. Сегодня, Symfony 2.3.0 доступна и это первый релиз с долгосрочной поддержкой(LTS) для Symfony 2.

Я очень счастлив, что мы достигли этой точки в жизни Фреймворка. Спасибо вам, что сделали это возможным!
Читать дальше →

Секретный ингредиент хорошего архитектора

Reading time6 min
Views33K
Что посеешь, то и пожнешь
Из желудя вырастет дуб,
Из семени репейника — только репейник
Профессиональное образование —
это семена, которые мы сеем...


Поиск высококлассных специалистов — один из самых сложных вопросов в бизнесе, связанном с разработкой ПО. Несмотря на все сложности мировой и отечественной экономики, квалифицированных кадров не хватает катастрофически. Количество проектов, требующих высокой квалификации, растет значительно быстрее, чем “зреют” специалисты (разработчик — 2-3 года, ведущий разработчик — плюс 2 года, архитектор решения — плюс 3–5 лет ...).

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

WebSocket (Sec-WebSocket-Version: 13) — тонкости реализации, в частности на PHP

Reading time7 min
Views87K
Собственно, изучая данную тему, было перерыто много сайтов, но нигде толком ничего не объяснялось, либо информация была по устаревшим ныне протоколам. Это и послужило своеобразным пинком для создания этого HowTo. Это будет не детальный разбор всех возможных проблем, но немного теории и описание некоторых вещей которые для кого-то являются банальщиной, а у кого-то (вроде меня) вызвали трудности и потерю времени на поиск решения. Сразу предупрежу — здесь не рассматривается как поднять сокет-сервер на PHP, подобной информации в интернете навалом. Буду исходить из того, что сокет-сервер уже существует и надо лишь научить его общаться через вебсокеты.
Итак, хватит лирики, теперь к делу!
Читать дальше →

Ежедневная работа с Git

Reading time40 min
Views895K
Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
  • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
  • будет ли менеджер и заказчик удовлетворён этим процессом?
  • будет ли легко работать разработчикам?
  • смогут ли новички быстро включиться в процесс?
  • можно ли процесс относительно легко и быстро изменить?


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

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

Изучая Rails (ну, и Ruby)

Reading time8 min
Views45K
Я знаю PHP. Не просто знаю, а действительно знаю. Не только синтаксис, или идиомы и особенности, но еще и почему — почему что-то работает именно так как оно работает, понимаете, под капотом. И скорее всего я тем или иным образом принимал участие в принятии того или иного решения. Все таки, тринадцать лет с языком — это долгий срок. Но я работал не только с PHP.

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

PHP создан, чтобы умирать

Reading time8 min
Views157K
Дисклеймер: у меня за спиной более десяти лет разработки на PHP. Я начал использовать его, когда PHP4 был совсем малышом, а PHP5 — только мечтой компании Zend. С помощью него я сделал многое, я любил его, проклинал и не без стыда наблюдал за тем, как он растёт и развивается. Я всё ещё использую его в некоторых доставшихся по наследству проектах, но предпочитаю больше его не применять. Также хочу отметить, что я не сотрудничаю с создателями фреймворков или инструментов, упомянутых в статье.

TL;DR (англ. too long; didn't read. Так, в частности, говорят, когда лень читать статью целиком — прим. пер.): если ваш проект основан на функциях фоновых процессов (фоновых служб, демонов — прим. пер.), избегайте PHP.

По-моему, в большинстве случаев ненавистники PHP упускают один весьма важный момент: PHP создан, чтобы умирать. Это не значит, что довольно способный (в какой-то степени) язык программирования исчезнет в никуда; это всего лишь означает, что ваш PHP код не может выполняться вечно. В настоящее время, спустя 13 лет после первого официального релиза в 2000 году, эта мысль до сих пор кажется мне вполне обоснованной.
Читать дальше →

NoName Framework или Как я велосипед изобретал

Reading time13 min
Views24K

Привет тебе, хабраюзер!

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

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

Определение расстояния между географическими точками в MySQL

Reading time3 min
Views68K
При разработке современного сайта часто возникает необходимость реализовать функционал вывода близлежащих географических точек. Самым оптимальным способом решения этой задачи является перекладывание работы по реализации определения точек на плечи MySQL. Если конкретней, то нам будут нужны возможности пространственных расширений MySQL (до версии 5.0.16 эти расширения были доступны только для MyISAM, более поздние версии MySQL поддерживают работу пространственных расширений с InnoDB, NDB, BDB и ARCHIVE).

Расстояние между точками будет вычисляться по формуле гаверсинусов. Формула позволяет получать расстояние между точками с очень низкой погрешностью (величина погрешности прямо пропорциональна расстоянию между точками, и не превышает 10-20 километров при вычислении очень больших расстояний, например между штаб-квартирой Google в Калифорнии (37.422045, -122.084347) и оперным театром в Сиднее, Австралия (-33.856553, 151.214696)).

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

Разработка мобильных приложений: с чего начать

Reading time10 min
Views470K


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

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

Правила проведения эффективных совещаний

Reading time5 min
Views68K
Как часто ты сидел на совещаниях, которые, перевалив по длительности за 2 часа, пытались решить одновременно все проблемы на свете? Когда люди, красные от духоты, теряя самообладание от усталости, начинают пытаться перекричать друг друга в попытке найти правильное решение? Когда каждое совещание кончается ничем, а все участники клянутся себе, что больше никогда снова не соберутся на эти бессмысленные встречи?
И как с этим бороться?

Особенности работы или «За что я люблю JavaScript»: Замыкания, Прототипирование и Контекст

Reading time17 min
Views104K
Зародившись как скриптовый язык в помощь веб-разработчикам, с дальнейшим развитием JavaScript стал мощным инструментом разработки клиентской части, обеспечивающий удобство и интерактивность страницы прямо в браузере у пользователя.

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

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

В данном топике будут рассматриваться:

  1. Замыкания
  2. Прототипирование
  3. Контекст выполнения

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

Зачем пользователи GIT-а редактируют свои коммиты

Reading time2 min
Views57K
В последних двух выпусках Радио-T ведущие пытались обсудить GIT. Евгений (@Umputun) задавался вопросом зачем нужен rebase и очень удивился, когда я спросил, редактирует ли он коммиты. На мой взгляд, чтоб понять GIT, достаточно вникнуть в процесс разработки Linux Kernel, т к создавался он именно для этого.
Читать дальше →

Мобильная веб-разработка: жесты, фреймворки, цифры

Reading time4 min
Views63K
Продолжая тему веб-разработки мобильных сайтов и приложений под мобильные устройства нельзя не затронуть такую тему как Фреймворки для манипуляции DOM и отправкой асинхронных запросов.
Стандартом на десктопе уже давно стал jQuery, но он никуда не годится для разработки под мобильную платформу. Давайте посмотрим, как jQuery дружит с мобильными устройствами.

Посмотреть

«Интернет по-русски» (Компьютерра, март 1997)

Reading time34 min
Views32K
Всю первую половину 1990-х Интернет в России оставался забавой для гиков: «чтобы запустить используемые протоколы, одного высшего образования мало». Позже, когда Интернет уже стал доступнее и популярнее, его поджидала другая напасть — чехарда с поддержкой кириллицы. Различных кодировок было достаточно, чтобы потеряться.

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

(Пользуясь поводом, упомяну и свой двухгодовалой давности топик о Кате Лажинцевой, официальном создателе CP-1251.)

Олег Татарников

Крестоносцы

Ты так гонишься за тенью, что теряешь наличие.
Из книги Иова


Концепции Интернета, первоначально разработанные в унитарной, централизованной армейской системе министерства обороны США, быстро вышли из «диктаторских пут» и воспринимаются сегодня как идеи всемирной общедоступной информационной магистрали. Любые попытки ограничения доступа, цензуры и внешнего воздействия на Сеть однозначно воспринимаются мировым сообществом в штыки. За широким внедрением Интернета в нашу жизнь не стоит никакая организация: это самоорганизующаяся система, и главный ее двигатель — все человечество. В этом основное отличие всемирной Сети от коммерческих сетей, в этом ее привлекательность для миллионов и ее сила. В таком свете неприглядно выглядят сторонники массовой «коизации» информационного обмена в России, стремящиеся загнать всех российских пользователей в прокрустово ложе единой кодировки. Тем более что носители этой идеологии составляют абсолютное меньшинство российских пользователей Интернета, пусть даже и самое активное. Причем благие намерения, которыми они при этом руководствуются, никак не служат оправданием для насильственного ограничения свобод и причинения дополнительных неудобств огромной армии пользователей, число которых продолжает стремительно расти. Ибо известно, куда таковыми намерениями обычно мостятся дороги.

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

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

Пять полезных советов при составлении коммит сообщения

Reading time2 min
Views12K
image
Итак, Вы готовы сделать свой великолепный коммит, который, безусловно, делает код чуточку лучше, либо фиксить какой-то баг, а может, Вы и вовсе решили поменять переходы строк на Windows/Unix-Style? Естественно, Ваш код безупречен и достоин всевозможных похвал! Браво! Достойно ли Ваше сообщение Ваших трудов? Смогут ли потомки разобрать, что Вы сделали через месяц? Через год? Десять лет?

Прошу под кат!

Контекстно-зависимая форма в Yii

Reading time6 min
Views27K
При работе с фреймворками всегда приходится создавать основной функционал самим, желательно, используя при этом возможности фреймворка (зачем тогда он нам нужен). Как понятно по заголовку речь пойдет про контекстно-зависимые формы в Yii. В статье описана реализация подобной формы, используя модальное окошко. Надеюсь, что кому то будет полезен именно такой вариант.

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


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

Information

Rating
Does not participate
Location
Estepona, Málaga, Испания
Date of birth
Registered
Activity