Pull to refresh
-1
0
Никита Дементьев @Neutral

Пользователь

Send message
Думаю, стоит подписаться на RSS всех python-проектов, которые сможете найти. Я бы не отказался наблюдать новости проекта Eve, например.
И, конечно, стоит следить за твиттером.
В моём случае, цветная бумага клеилась на толстый картон. Это как PlayStation Slim.
«Энциклопедия» вышла в свет годом позже, так что это она расширенная, а не «город» урезанный. Я на неё в библиотеке наткнулся спустя пару лет после знакомства с «компьютерным городом» — хороша, конечно, только ностальгии уже не вызывает.
Когда мне было четыре года, отец продемонстрировал простенький исходник на бейсике, который потом запустил. Я копипастнул этот код в тетрадочку и с тетрадочки обратно. Заработало: программа рисовала на чёрном экране белые кружочки внахлёст. Формально, мой опыт программирования приближается к 20 годам :)
Чуть позже он научил меня азам пайки. Всё детство я хотел стать схемотехником, но к 15 годам окончательно перешел на тёмную сторону.

Сейчас компьютеры повсюду, и сами по себе интерес у ребёнка вряд ли вызовут — нужно показывать что-то редкое. Не обязательно хайтек (хотя Augmented Reality, думаю, хорошо подходит), просто что-то, чего он прежде не видел вблизи.

И больше качественной научной фантастики. «Приключения Алисы» Кира Булычёва — когда появятся дети, обязательно соберу всю коллекцию, первыми книгами которой зачитывался сам. Хотя, по слухам, за 40 лет работы над серией, автор планку приспустил.
Потом как-нибудь ненавязчиво подсуну ребёнку что-нибудь из Стругацких. Совсем ненавязчиво. Если бы отец так активно мне не впаривал «Трудно быть богом» — я бы гораздо раньше приобщился к их творчеству.

И подавать пример до конца собственных дней.
Спасибо, ушел играться.
Кстати, было бы неплохо добавить в статью ссылки на страницу проекта, api и примеры.
Статистика подсчитывается и хранится в отдельных таблицах, из которых удобно потом делать выборки.
Интересно, какие данные хранятся в этих сводных таблицах, какую аналитическую ценность они представляют и каким образом обновляются (на лету или периодически).
Движок таблицы MyISAM, поэтому блокирующие запросы вполне объяснимы. На innodb перейти не получилось, при бэкапе вешался сервер.
А движок MEMORY рассматривался как вариант?
Хочется узнать больше технических подробностей:
  • стек технологий и как он менялся со временем, какие варианты рассматривались и что повлияло на выбор
  • конфигурация серверов
  • в чём заключается упомянутая ненадёжность репликации mysql
  • какой движок использовался таблицей, хранившей переходы
  • как собирается статистика

Было бы славно услышать историю разработки, которая подводит к озвученным в статье выводам, с некоторыми из которых я пока не могу согласиться.
Ваша правда.
В любом случае, если дело дошло до выполнения php-кода злоумышленником, эффективность запрета отдельных функций вызывает у меня сомнения.
6. disable_functions = eval, create_function
Один момент: eval — конструкция языка, а не функция, заблокировать её с помощью disable_functions не получится, нужно использовать suhosin.
Потихоньку начинаю понимать плюсы такого подхода.
Спасибо за информацию для размышления.
Я читал где то, что если Вы делаете POST и передаете
параметр action это почти всегда плохо.
Речь о параметре в URI, или вообще в запросе?
И в целом
уже несколько лет такое правило мне здорово помогает.
Помогает чем?
Лучше делать POST /api.cfm/archive и в теле запроса message=8
В случае с добавлением в архив это может быть уместно, но что делать если нужно просто произвести манипуляцию над документом? Например, конвертировать все изображения документа в формат png, указав при этом необходимые характеристики конечного изображения.
В ответ сервер возвращает ID транзакции по которому можно
опрашивать состояние операции.
Такой подход актуален для операций, которые могут затянуться по времени. Для быстрых операций, на мой взгляд, это избыточное решение.
Не уверен, что совсем понял вопрос, но:
есть python-фреймворки flask и bottle — каждый из них позволяет повесить на один маршрут обработчики для разных http-методов: bottle с помощью декораторов, flask — c помощью декораторов, либо с помощью отдельных методов объекта, представляющего ресурс.
Ну а работа с http-заголовками и аргументами запроса не представляет труда во многих популярных фреймворках.
Я погорячился, сказав слово «подразумевает» — как справедливо заметил marapper: REST — это принцип построения архитектуры, строгой спецификации не существует. Зато существует куча руководств в стиле best practices — сегодня только ленивый (вроде меня) не написал собственный гайд по «правильному» REST.

Мне по душе пришлись ресурсы restapitutorial.com (и их RESTful Best Practices), и Thoughts on RESTful API Design.
Как указывать действие в запросе — руководства оставляют решение этого вопроса на плечах разработчика.
Наверное, у меня не совсем верное представление о понятии «RESTful» — я думаю, что это просто набор лучших практик реализации REST-архитектуры, и в первую очередь — использование по полной возможностей протокола HTTP.

На самом деле, я считаю, что указывать действие стоит вообще в http-заголовках, а не параметрах URI — но уж лучше в параметрах, чем в пути.
Но, если над сущностью можно сделать больше операций, чем обычно, то куда логичнее это сделать отдельным ресурсом, т.к. смешение в POST редактирования и, например, привязки другой сущности — странно.
Вы не хотите смешивать в одном методе привязку сущности и редактирование, а я не хочу смешивать в ресурсе сущность и действия. Метод POST просто подразумевает отправку данных, ничего более, на то он и метод. Кто-то вообще отождествляет метод POST с созданием сущности — не думаю, что это правильно. А для привязки сущности есть http-метод LINK :)

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity