Pull to refresh
0
0

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

Send message

Полноценный REST API для перфекционистов за 5 минут

Reading time 15 min
Views 229K


Привет, Хабр! Меня зовут Владимир, мне 28 лет и я наркоман наркоман. Мой наркотик – простота. На простоту я подсел из-за своего перфекционизма, которым меня наградили при рождении.

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

Мир вокруг не идеален, сложную вещь сделать простой – невероятно сложно, поэтому всё чрезмерно усложнено. Людям нравится чувствовать себя профессионалами, поэтому они оперируют сложными терминами, когда в этом нет необходимости, так они ощущают свою значимость и заполняют пустоту, которая образовалась из-за страха потерянного времени.
Читать дальше →
Total votes 49: ↑41 and ↓8 +33
Comments 78

Песочница и шпаргалка по изучению Python

Reading time 3 min
Views 53K

Изучать Python3 я начал с документации на официальном сайте. Мне понравились примеры кода, но, к сожалению, они были там не интерактивными. Хотелось попробовать выполнить код самостоятельно, с разными входными данными и посмотреть на выводимый результат. Так же мне лично легче запоминаются конструкции языка, если я их набрал несколько раз вручную. Python консоль для этого подходит отлично, но хотелось так же иметь своего рода шпаргалку, к которой можно было бы вернуться при написании программ в дальнейшем, если, например, возникнет вопрос, как в Python-е написать цикл for и т.п. И последней каплей стало желание автоматической проверки стиля написания кода в соответствии с существующими стандартами. Читать и вникать в них было лень, поэтому хотелось чтобы проверка кода была автоматической и подсказывала какие ошибки я делаю и как их исправить.


В итоге все свои эксперименты я вылил на GitHub.


Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Comments 20

С чего начать изучение Python: книги для начинающих

Reading time 4 min
Views 246K
image

Друзья, забирайте в закладки подборку из 17 книг по Python.

Подборка поможет вам освоить язык программирования с нуля или с минимальными знаниями.
Готовы приступить к изучению Python?

Тогда начнем!
Читать дальше →
Total votes 25: ↑23 and ↓2 +21
Comments 16

Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

Reading time 25 min
Views 1.4M

Регулярные выражения в Python от простого к сложному




Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

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

Надеюсь, вам удастся из него извлечь что-нибудь новое и полезное, даже если вы уже в ладах с регулярками.
Читать дальше →
Total votes 99: ↑98 and ↓1 +97
Comments 66

REST API Best Practices

Reading time 7 min
Views 419K
Привет, Хабр! Представляю вашему вниманию перевод статьи "REST API Best Practices" автора Krishna Srinivasan.

REST становится общим подходом для представления сервисов окружающему миру. Причина его популярности заключается в его простоте, легкости использования, доступе через HTTP и другие. Существует неправильное представление о том, что все данные, доступные через сеть, считаются REST, но это не так. В этой статье я собираюсь объяснить вам некоторые best practices, которые вы должны всегда помнить при реализации собственного REST приложения. Я бы хотел услышать ваш опыт в REST приложениях, поэтому если вы знаете best practies, которые не упомянуты в этой статье, пожалуйста, поделитесь с нами в комментариях.

Disclamer: все best practies основаны на моем личном опыте. Если вы имеете другое мнение, не стесняйтесь отправлять его мне на email, и мы обсудим его.

Здесь представлен список best practices, которые будут обсуждаться в этой статье:

1. Конечные точки в URL – имя существительное, не глагол
2. Множественное число
3. Документация
4. Версия вашего приложения
5. Пагинация
6. Использование SSL
7. HTTP методы
8. Эффективное использование кодов ответов HTTP
Читать далее
Total votes 55: ↑48 and ↓7 +41
Comments 195

Создание архитектуры программы или как проектировать табуретку

Reading time 25 min
Views 678K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

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

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →
Total votes 88: ↑85 and ↓3 +82
Comments 45

DPI-дайджест: Анализ трафика, блокировки, платформы и производители систем DPI

Reading time 3 min
Views 12K
В первых материалах, которые мы опубликовали в своем блоге на Хабре, мы рассказывали как о самой технологии DPI, так и о различных сценариях, которые позволяют ее использовать, а еще мы затрагивали тему оборудования.

Сегодня мы решили подвести промежуточный итог цикла вводных материалов и подготовили для вас DPI-дайджест. Теорию мы постарались разнообразить информационно-развлекательными материалами из тематического блога VAS Experts.

Total votes 14: ↑13 and ↓1 +12
Comments 1

Введение в DPI: Сценарии использования системы

Reading time 4 min
Views 9.6K
Вчера мы начали рассматривать базовые элементы DPI и поговорили о составе системы и схемах подключения. Сегодня мы решили взглянуть на реальные варианты использования DPI и поговорить о технических сценариях, которые позволяют операторам обеспечивать высокое качество услуг.


/ Flickr / Yuri Samoilov / CC
Читать дальше →
Total votes 15: ↑12 and ↓3 +9
Comments 8

Введение в DPI: Состав системы и схемы подключения

Reading time 3 min
Views 15K
Привет, Хабр! Мы в VAS Experts специализируемся на создании и внедрении сервисов в области контроля и анализа интернет трафика. В нашем блоге мы будем делиться собственным опытом работы и рассказывать о том, как устроены те или иные технологии, имеющие отношение к нашей сфере деятельности.


/ Flickr / Andrew Hart / CC

Глобальный рынок систем глубокого анализа трафика (DPI) в 2013 году оценивался практически в 742 млн долларов США. По прогнозу аналитиков, к 2020 он вырастет более чем в 6 раз и будет оцениваться в 4,7 млрд. DPI-системы в основном применяют интернет-провайдеры и операторы связи, которые стремятся защитить своих абонентов и оптимизировать полосу пропускания до клиента за счет фильтров, приоритетов и кешей.

DPI выполняет анализ всех проходящих через неё пакетов вплоть до 7 уровня модели OSI и распознает приложения, не использующие для обмена данными заранее известные заголовки и структуры. Однако система DPI сама по себе не решает проблемы и задачи, описанные выше. Она взаимодействует с другими устройствами и сервисами сети передачи данных оператора. Об этом сегодня и поговорим.
Читать дальше →
Total votes 24: ↑19 and ↓5 +14
Comments 10

Как сдают ISTQB® Foundation Level на русском: шпаргалка по сертификации тестировщика

Reading time 5 min
Views 69K
На написание данной статьи подтолкнуло не столько недавнее получение заветного статуса ISTQB Certified Tester, сколько собирание по крупицам материалов для подготовки к экзамену. Например, последняя статья на Хабре по этой теме была в 2012 году. Плюс большинство материалов подразумевает проведение экзамена на английском, а я предпочел сдавать на русском (как оказалось в дальнейшем, в один день со мной сдающих на английском не оказалось вовсе).

И хотя в сети существует устоявшееся мнение, что пробных экзаменов на русском языке нет, это не соответствует действительности. Поэтому если вы готовитесь к экзамену ISTQB Foundation Level на русском — добро пожаловать под кат.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 16

30+ инструментов для профессиональной разработки приложений под Android

Reading time 6 min
Views 48K
image

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

Эти инструменты помогли мне сэкономить много драгоценного времени из моей повседневной жизни, а также помогли мне создавать более качественные приложения. Поэтому, не теряя времени, давайте познакомимся с новыми и потрясающими инструментами для профессиональной разработки приложений под Android.
Читать дальше →
Total votes 30: ↑26 and ↓4 +22
Comments 7

Каких ответов я жду на собеседовании по тестированию

Reading time 15 min
Views 898K
Я провожу собеседования на тестировщиков. У меня иногда болит голова.

Долго собирался написать статью… И вот, наконец, выполнил свое намерение. Вопросы, поднимаемые в статье, обсуждались уже не раз и не два, но усердные поиски компиляции ответов на эти вопросы так и не увенчались успехом. Но, как подсказывает мой опыт, такая компиляция очень нужна. Прежде всего она требуется юниорам, ибо в сети по запросу «тестирование» на них (соискателей) обрушивается огромный объем информационного мусора, который плохо структурирован и часто противоречит сам себе.
Читать дальше →
Total votes 64: ↑43 and ↓21 +22
Comments 70

Лекции Техносферы. 2 семестр. Методы обеспечения качества и тестирования web-приложений

Reading time 4 min
Views 85K
Лето только начинается, но это не повод прекращать учиться. Предлагаем вам ознакомиться с очередной порцией знаний в рамках проекта «Лекции Техносферы». Цель курса — ознакомить студентов с актуальными методологиями тестирования и обеспечения качества современных веб-приложений. Курс позволит слушателям получить достаточные знания для овладения и применения на практике эффективных приемов построения процесса тестирования и обеспечения качества.

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


Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Comments 1

SQL: пара приемов в SELECT-запросах

Reading time 3 min
Views 24K

Автор: Юрий Цыганенко, Senior QA

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

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

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

Аналогичные задачи и их разбор — под катом.
Читать дальше →
Total votes 16: ↑11 and ↓5 +6
Comments 7

Как устроено тестирование «тяжелого» банковского софта в немецкой фирме

Reading time 11 min
Views 22K
Добрый день, Хабр. В этой статье я хочу показать жизненный цикл тестирования клиентского портала разрабатываемого изначально для крупнейшего немецкого банка (Deutsche Bank) и далее для ведущих банков в немецкоязычной Европе (UBS – Швейцария, Raifeissen – Австрия), а также для других банков работающих по европейскому стандарту EBICS.

Вначале немного предыстории.
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 20

Бесплатные курсы, книги и прочие материалы по разработке

Reading time 4 min
Views 80K


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

Необязательно проходить всю программу университета, чтобы научиться программировать. Онлайн-курсы, конечно, требуют самоконтроля, усердия и ответственности. Но, если есть цель и стремление, то все приложится. В компании таких же «вольных» слушателей по сети вы наверняка сможете пройти курс успешно.
Читать дальше →
Total votes 47: ↑38 and ↓9 +29
Comments 52

Станислав Лем: Безопасна ли техника без опасности

Reading time 9 min
Views 11K
Сегодня Лему исполнилось бы 95.

Безопасна ли техника без опасности?

Впервые опубликовано: Литературная газета №127 от 26 октября 1965 года стр. 4

Сейчас много пишут о герое научной фантастики — человеке будущего. Тема эта выводит нас далеко за границы литературы. Кроется в этой теме известное противоречие, я бы сказал даже — антиномия. С одной стороны, все мы хотели бы, чтобы человек будущего был смелым, отважным, способным к самопожертвованию, творчески ищущим, но с другой, — делаем все, чтобы воспрепятствовать проявлению именно таких его черт. В самом деле, развитием цивилизации создаются условия, в которых различные явления, осложняющие человеческое существование, дают о себе знать все меньше и меньше. Как известно, то, что люди делают, всегда важнее того, о чем они думают и говорят. А «делают» они — точнее сказать, создают — современную технику, главная тенденция которой — автоматизация различных операций, привычно выполняемых самим человеком. Если бы в моей повести «Непобедимый» чисто технические средства, которыми располагает общество, были бы более совершенными и мощными, чем я это показал, то угрожающие людям феномены «мертвой эволюции» на пустынной планете можно было бы обуздать и обезвредить без чьего-либо вмешательства, без какого-либо самопожертвования и даже без какой бы то ни было надобности подвергать опасности человеческую жизнь. В то время, когда это происходило бы, люди могли бы спокойно читать книги или вести дружеские беседы. Никакой героизм не был бы здесь нужен вообще.
Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Comments 22

1 000 000 жилых домов России

Reading time 2 min
Views 68K
Есть прекрасный сайт www.reformagkh.ru. На нём можно найти, управляющую компанию, закреплённую за домом, сколько денег, на что тратится и всё такое. Но кроме этого можно узнать разные интересные вещи о нашей стране в целом, например, для каждого дома на сайте указана дата его постройки, поэтому можно посмотреть, как строилась Москва с 1900 года:



Ещё более эпичная картинка получается, если посмотреть на Россию целиком:


Читать дальше →
Total votes 86: ↑78 and ↓8 +70
Comments 118

Palantir, мафия PayPal, спецслужбы, мировое правительство

Reading time 8 min
Views 71K
«Лучший способ избавиться от дракона — это иметь своего собственного»



На Хабре нет ни одного упоминания о Palantir`е, в русской Википедии об этом проекте нет статьи, Mithgol молчит — что-то идет не так. Или так.

А между тем Palantir стала второй крупнейшей частной компанией Кремниевой Долины с оценкой в 20 000 000 000$ (уступив Uber). Среди прочих заслуг Palantir`а — раскрытие крупных китайских разведывательных операций Ghostnet и Shadow Network.
Журналист: — В «Википедии» говорится, что вы входите в управляющий комитет Бильдербергского клуба. Правда ли это, и если да, чем вы там занимаетесь? Организуете тайное мировое господство?

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

Приходится собирать информацию о Palantir`е по крохам. И такая жирная кроха прячется в книге Питера Тиля «От нуля к единице» (хотя в этой книге множество намеков и информации между строк, так же как в легендарном курсе и его переводе на Хабре, спасибо zag2art).

Питер Тиль: Цель, которую я ставил перед собой, читая стэнфордский курс о стартапах и предпринимательстве, заключалась в том, чтобы донести все те знания о бизнесе, которые я приобрел за последние 15 лет в Кремниевой долине как инвестор и предприниматель, собрать их воедино. С книгой то же самое.

Надеюсь, благодаря этой статье и комментам хабрачитателей, положение дел относительно Palantir`а станет чуточку яснее.
(Есть многомиллиардный рынок, связанный с аналитикой и ИБ, а мы ничего про него не знаем.)
Читать дальше →
Total votes 56: ↑44 and ↓12 +32
Comments 22

Как делаются видео с НЛО

Reading time 2 min
Views 53K
Ещё не так давно снять НЛО было довольно проблематично, но с современными технологиями это можно делать даже в высоком разрешении. Например, так:



Основные этапы:
  1. Трекинг камеры по заданным точкам на видео.
  2. Создание 3D-модели и имитация освещения.
  3. Рендеринг.
  4. Композитинг (компоновка картинки и постобработка), цветокоррекция.

Всё это можно делать с помощью бесплатного и открытого Блендера.

Демонстрация процесса, упакованная в короткое видео:



Далее — более подробно о каждом этапе.
Читать дальше →
Total votes 75: ↑72 and ↓3 +69
Comments 50

Information

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