Search
Write a publication
Pull to refresh
0
0
Mirror @Mirror

User

Send message

F3: маленький PHP-фреймворк с огромными возможностями

Reading time7 min
Views27K


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

Fat-Free чем-то похож на известный Ruby-фреймворк Sinatra. Автор Fat-Free помешан на минимализме и чистоте кода, что положительно отразилось на этом простом каркасе для разработки самых разнообразных приложений.

Fat-Free состоит из одного файла и весит всего 55KB. При этом фреймворк обладает таким функционалом: специфический и довольно удобный шаблонизатор, гибкое кеширование, автоматическая защита от спама, интегрированные средства для юнит тестов, профайлер кода.

Он настолько маленький и быстрый, что даже может использоваться для контроля траффика Web-сервера.

Это, также, единственный фреймворк, который защищает Ваше приложение от хотлинкинга и DoS атак.
Читать дальше →

Карты ePassporte больше не работают

Reading time2 min
Views6.4K
Многоголосый стон вебмастеров сегодня утром разнесся по планете.
Владельцы карт Visa от популярной среди тех, кого обходит вниманием PayPal, платежной системы ePassporte не могут ни оплачивать покупки, ни снимать деньги в банкоматах. Т.е. их деньги по сути заморожены.
Так как эта платежная система активно используется многими партнерками для выплаты партнерских комиссий, у многих там зависли достаточно большие суммы (бьюсь головой о стенку).
Вот такое сообщение все владельцы карт от ePassporte получили сегодня при попытке войти в систему:
Читать дальше →

Сообщаем о ремонтных работах на сервере

Reading time1 min
Views4.6K
Обновление Хабра, проходившее вчерашним вечером, побудило написать краткую заметку. Во время тех.работ Хабр вывешивает одностраничную заглушку, текст на которой гласит о происходящих работах. Заглушка отдается по всем запрошенным адресам. Никакого редиректа: по какому адресу статьи не зайди — везде одинаковый текст о ремонте. При этом ответ сервера сопровождается статусом «HTTP/1.1 200 OK». Так делает большинство известных мне сайтов. И если человеку, по большому счету, все равно, то поисковик, проводящий индексацию сайта в этот момент, видит, что по адресу со статьей обновилось содержание — надо обновить индекс.

Это всё модальные окошки, которые придумали программисты:
[произошла какая-то фигня] — [OK] — Да это же ни фига не ОК!
@mad_escape

Решение придумано до нас и давно стандартизировано

Ruby on Rails 3 — Заметки к финальному релизу

Reading time19 min
Views5.6K

Оглавление

  1. Переход на Rails 3.0
    • Rails 3 требует Ruby 1.8.7+
    • Объект Application в Rails
    • script/* заменен на script/rails
    • Зависимости и config.gem
    • Процесс перехода
  2. Создание приложения на Rails 3.0
    • Включение гемов
    • Жизнь на грани
  3. Архитектурные изменения
    • Перезарядка Railties
    • Все компоненты ядра Rails теперь независимы
    • Абстракция Active Model
    • Абстракция контроллеров
    • Интеграция Arel
    • Извлечение Mail
  4. Документация
  5. Интернационализация
  6. Railties
  7. Action Pack
    • Абстрактный контроллер
    • Action Controller
    • Action Dispatch
    • Action View
  8. Active Model
    • Абстракция ORM и интерфейс c Action Pack
    • Валидации
  9. Active Record
    • Интерфейс запросов
    • Усовершенствования
    • Патчи и устаревшие методы
  10. Active Resourсe
  11. Active Support
  12. Action Mailers
  13. О создателях
Читать дальше →

HTML5 для веб-дизайнеров. Часть 1: Краткая история языка разметки

Reading time7 min
Views14K
HTML5 для веб-дизайнеров

  1. Краткая история языка разметки
  2. Модель HTML5
  3. Мультимедиа
  4. Формы 2.0
  5. Семантика
  6. HTML5 и современные условия


HTML — язык, объединяющий всемирную сеть. Всего лишь посредством набора простых тегов, человечеству удалось создать несравнимую ни с чем по своим масштабам систему связанных между собой страниц и веб-узлов: от Amazon, eBay и Википедии, до личных блогов и сайтов, посвященных котам, похожим на Гитлера.

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

Как и всемирная сеть вообще, HTML — язык разметки гипертекста (HyperText Mark-up Language) — является детищем сэра Тима Берненс-Ли (Sir Tim Berners-Lee). В 1991 году он написал работу, озаглавленную «HTML Tags», в которой описал чуть меньше двух дюжин тегов, предложенных им для разметки веб-страниц.

Идея использовать для этого кодовые слова внутри треугольных скобок, впрочем, не принадлежит сэру Тиму. Такая система на тот момент уже существовала и использовалась в SGML (Standard Generalised Markup Language, стандартный обобщённый язык разметки), и вместо того, чтобы изобретать что-то с нуля, сэр Тим посчитал более рациональным взять за основу уже существующие решения. Аналогичный подход применялся и вообще на всем пути к HTML5 в процессах разработки.

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

Виртуальные карты: месяц в продаже, полет нормальный

Reading time2 min
Views8.8K
Месяц назад мы запустили новую услугу — продажу виртуальных карт MasterCard PrePaid.
Сегодня мы смотрим на статистику платежей вместе с нашим партнером, банком Интеркоммерц, и хотим рассказать вам о том, как идут дела.

В номинации «самые популярные магазины» первые три места ожидаемо заняли PayPal, App Store и Amazon.
Это и понятно: PayPal помогает переводить средства в другие страны, в App Store продается уже четверть миллиона приложений для iPhone и других яблочных продуктов, а на Amazon`е огромный выбор литературы на английском.

Популярнее всего у наших пользователей магазины, расположенные в США, Англии, Нидерландах… и, конечно, в Люксембурге.
А всего наши пользователи платили виртуальными картами в 38 стран, включая Японию, Исландию и Гибралтар.

Самый крупный платеж по виртуальной карте — на 449 долларов — в магазине радиоуправляемых моделей. Напомним, что максимальный номинал нашей MasterCard PrePaid — 14 000 рублей, что связано с требованиями российского законодательства.

Самый частый вопрос пользователей: «А можно мне довключить SMS-оповещение?»
Дело в том, что SMS-оповещение обязательно нужно, например, для привязки виртуальной карты к PayPal, а «довключить» его потом нельзя.
Мы очень постарались и снизили стоимость услуги до 19 рублей. Подключайте смело!

Самый большой неудавшийся платеж — 48 500 рублей. При этом на счете самого пользователя в Яндекс.Деньгах даже не было такой суммы — вероятно, дописались несколько случайных ноликов.

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

Мы видим, что сервис востребован пользователями, и решили не повышать комиссию с 1 сентября. Комиссия по-прежнему составляет 1,99% (но не менее 19 рублей). Напомним, что виртуальные карты MasterCard PrePaid можно купить ежедневно и круглосуточно в рублях, долларах или евро, а максимальный номинал карты — эквивалент 14 000 рублей.

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

Жизнь после Google: 15 стартапов, основанных бывшими сотрудниками

Reading time6 min
Views1.3K
В процессе накопления более чем 10000 сотрудников по всему миру, у Google также появилось немало бывших сотрудников.

Многие из этих Xoogler-ов (да, именно так бывшие работники называют себя) решили создать собственные стартапы. Стартапы, основанные Xoogler-ами, известны во всем мире, поскольку были либо приобретены Google, либо его конкурентами, либо находили финансирование у других Xoogler-ов и пробивали новые тропы в Интернете.

image

Здесь — описание 15 компаний, которые возникли в сознании когда-то работавших на веб гиганта людей.
Читать дальше →

Редирект после POST запроса

Reading time2 min
Views48K
Каждый веб-разработчик знает, что после POST сабмита формы желательно сделать редирект, чтобы предотвратить повторную отправку данных, когда пользователь захочет обновить страницу. В основном это критически необходимая операция, так как данные формы могут сохраняться в базе данных или участвовать в платёжной транзакции. И тогда данные не только продублируются, но и спишутся лишние деньги.

Но речь не о деньгах, а о правильном редиректе…
Читать дальше →

Web-сервер Cherokee

Reading time2 min
Views7.4K
imageЗдравствуйте, хабрапользователи!

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

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

Наш опыт участия в 10K Apart или как ужать 40 Кбайт кода в 10

Reading time6 min
Views8.7K
Не так давно на Хабре уже писали о контесте 10К Apart — соревновании на лучшее веб-приложение общим объемом до 10К, созданное с использованием только клиентских технологий: (HTML, CSS, Javascript, SVG и т.д).

image

Я хочу представить вашему внимаю нашу работу для этого контеста, которую мы с private_face делали по вечерам в течение двух недель: адвенчуру в стиле dungeon-crawler под названием «Fontanero» (исп. водопроводчик).
Читать дальше →

Системы управления проектами. Ищем альтернативы Basecamp

Reading time8 min
Views111K
imageНа написание поста меня сподвигла найденная на просторах хабра ссылочка на сайт с альтернативами Basecamp. Уверен многие уже заходили и смотрели предлагаемые альтернативы. Я же решил просмотреть их все. По результатам просмотра было выбрано 4 (+ 1 бонусная) системы управления проектами, которые можно назвать реальными альтернативами Basecamp. Из них три являются чуть менее, чем полностью неизвестными на просторах хабра (поиск дает практически нулевой результат), что дает мне надежду на то, что данный топик сообщит вам что-то новое. Критерии выбора и краткий обзор систем под катом (осторожно скриншотный трафик ~0.5 Mb).

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

Декартово дерево: Часть 1. Описание, операции, применения

Reading time15 min
Views158K

Оглавление (на данный момент)


Часть 1. Описание, операции, применения.
Часть 2. Ценная информация в дереве и множественные операции с ней.
Часть 3. Декартово дерево по неявному ключу.
To be continued...

Декартово дерево (cartesian tree, treap) — красивая и легко реализующаяся структура данных, которая с минимальными усилиями позволит вам производить многие скоростные операции над массивами ваших данных. Что характерно, на Хабрахабре единственное его упоминание я нашел в обзорном посте многоуважаемого winger, но тогда продолжение тому циклу так и не последовало. Обидно, кстати.

Я постараюсь покрыть все, что мне известно по теме — несмотря на то, что известно мне сравнительно не так уж много, материала вполне хватит поста на два, а то и на три. Все алгоритмы иллюстрируются исходниками на C# (а так как я любитель функционального программирования, то где-нибудь в послесловии речь зайдет и о F# — но это читать не обязательно :). Итак, приступим.

Введение


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

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


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

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

Лайфхак для сисадмина, когда не работает «ping ya.ru»

Reading time1 min
Views53K
Многие для проверки доступности интернетов используют простое и короткое «ping ya.ru», но что делать если не работает днс или недоступен сам ресурс ya.ru? Есть легко запоминающийся ip адрес одного из днс серверов.

ping 4.2.2.2

upd: перенесено в «системное администрирование»

microToDo — проще некуда

Reading time1 min
Views2.5K
microToDOВ последнее время стало популярно делать разные вещи для увеличения КПД рабочего времени. Всевозможные todo листы, пинарики и прочее. И чем дальше тем сложнее они становятся. А вот этот сервис из всего одной html странички прекрасно справляется с хранением списка дел и мотивацией их выполнения. Все просто — добавляете задачу и тут же начинается отсчет времени. Никакой паузы, никаких скидок…
Читать дальше →

Окна и буферы

Reading time2 min
Views46K
В vim 7 появились табы — привычный способ навигации по файлам. Когда я работал в eclipse я не раз замечал, что часто скакать между табами не удобно, а знакомство с буферами в emacs натолкнуло на прочтение документации по окнам/буферам в vim.

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

Снова про формы: значения по умолчанию

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

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

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

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

Монетизация доменов: частичная аренда

Reading time2 min
Views5.5K
Хотелось бы обсудить данный вопрос, ибо тема частичной аренды доменов еще не освещалась на Хабре.

А суть в том, что не так давно на Mashable был рассказ о новом стартапе (Root Orange) с достаточно уникальной моделью монетизации доменов — аренда, основанная на географическом расположении. Работает это так:
image
1) Вы являетесь владельцем московского интернет-магазина best-futbolki-v-moskve.ru. Домен не из лучших, но это все что было.
2) Вы заходите на сайт (в США это RootOrange.com) и смотрите базу доменов, которые сдаются в аренду. После поиска по ключевым словам — вам удалось обнаружить что домен futbolki.ru можно арендовать.
3) Так как ваш магазин оперирует только в пределах Москвы — вам нет смысла иметь в своем распоряжении весь домен futbolki.ru — вы можете арендовать его только для Московских IP адресов, например, всего за $30 в месяц.
4) Таким образом — юзер зашедший на futbolki.ru из Москвы (по IP) — увидит контент вашего сайта (best-futbolki-v-moskve.ru). Соответственно юзер, зашедший из Минска, увидит совершенно другой контент (если кто-то уже арендовал этот домен в Минске). Помимо этого, вам будет присвоен адрес moskva.futbolki.ru на тот случай, если будет сбой в определении по IP адресу.
Читать дальше →

Карты Payoneer, кто выдает?

Reading time2 min
Views9.7K
image Предыдущая новость о картах Payoneer вызвала неподдельный интерес и кучу коментариев, среди коментарие попадались вопросы — «А у кого можно получить карту Payoneer?» Вот я и решил потратить немного своего времени и сделать развернутый список партнеров компаниии Payoneer которые выдают карты. Но прежде чем перейти к списку, хочу сообщить две сравнительно свежие новости от компании Payoneer:
1. С недавних пор снято ограничение на работу Payoneer только с американскими партнерами, т.е. если у вас есть свой сервис и вам надо выплачивать деньги своим партнерам вы без труда можете подключить для выплат карты Payoneer, если кому надо прямой email русскоязычного менеджера — пишите в ПМ.
2. В течении последних месяцев Payoneer перешел на новые карты с повышенными лимитами, теперь по новой карте можно ежедневно снимать из банкомата 2500$ и 2500$ тратить при оплате картой.
Теперь пожалуй перейдем к самому списку партнеров из за чего и затевался этот топик, идем под кат и внимательно изучаем.
Читать дальше →

Полиморфус — самозатвердевающий пластик с низкой температурой плавления

Reading time1 min
Views54K
Не далее как сегодня koka опубликовал статью «Делаем «Самое бесполезное устройство» сами». При изготовлении девайса он использовал весьма заинтересовавший меня материал — самозатвердевающий пластик «Полиморфус» (upd — сам полимер называется поликапролактон, спасибо noonv за ссылку). Лично мне (да думаю и многим хабровчанам) давно не хватало чего-нибудь подобного для мелкого ремонта или DIY-ствования.

imageimageimage

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

Делаем «Самое бесполезное устройство» сами

Reading time1 min
Views65K
Наверняка многие из хабралюдей уже видели модель «Самого бесполезного устройства». Кто не помнит, это замечательное устройство выглядит вот так:


Обычно такие занимательные вещи хочется попробовать сделать самому…
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity