Как стать автором
Обновить
0
0
Шариков Владислав @vladsharikov

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

Отправить сообщение

6 способов: как добавить security для Rest сервиса в Java

Время на прочтение10 мин
Количество просмотров127K

В данной статье я попытаюсь описать несколько способов, а точнее 6, как добавить security для rest сервиса на Java.



Перед нашей командой была поставлена задача найти все возможные способы добавить security к rest сервису. Проанализировать все за и против и выбрать наиболее подходящий для нашего проекта. Когда я начал искать такую статью в Гугле ничего подходящего не нашел, а были лишь фрагменты и мне пришлось собирать эту информацию по крупицам. Так что думаю, данная статья будет полезна и другим Java разработчикам, пишущим back-end. Я не буду утверждать, что какой-то из этих способов лучше или хуже, все зависит от поставленной задачи и конкретного проекта. Поэтому какой из шести способов подходит больше всего вашему проекту решать только Вам. Я постараюсь описать принцип каждого из подходов и дать небольшой пример с использованием Java и Spring Security.

6 способов
Всего голосов 26: ↑21 и ↓5+16
Комментарии16

Как я боролся с adware в Google Play и проиграл

Время на прочтение11 мин
Количество просмотров97K

За последние сутки сотни новостных сайтов (клац и тыц) перепечатывают одну интересную новость, рассказывающую про обнаружение очередных зловредных приложений в Google Play. На этот раз adware показывало назойливую рекламу каждый раз при разблокировке устройства и было установлено на миллиарды миллионы телефонов и планшетов. К счастью, антивирусная компания Avast вовремя обнаружила угрозу и приложения были удалены.

Под катом я расскажу свою версию событий: как я вычислял и искал adware в Google Play, декомпилировал код adware sdk, можно ли дождаться ответа от поддержки Google, почему мобильные антивирусы бесполезны и как им удается на горячем инфоповоде сделать себе хорошую бесплатную рекламу.
Читать дальше →
Всего голосов 136: ↑134 и ↓2+132
Комментарии49

Нестандартный Top10 событий в сфере IT-безопасности 2014 года

Время на прочтение9 мин
Количество просмотров31K
В нашей рабочей терминологии есть одно устоявшееся английское выражение «threat landscape». На русский язык оно нормально не переводится (ландшафт угроз, ага). Если все предельно упростить, то это такая штука, на основе которой компании делают выбор: закупить еще железа или потратить деньги на защиту существующей инфраструктуры. Зависимость тут прямая: если ваши поезда постоянно сходят с рельс, то решается это вовсе не закупкой новых локомотивов.

Оценивать ландшафт (ну вот, опять) по шкале от приветливого до угрюмого можно по-разному. Вот, например, версия от наших экспертов по безопасности: итоги 2014-го, прогноз на 2015-й и, для любителей цифр, цифры. А что думают сами компании? Мы их регулярно об этом спрашиваем (подробнее тут), но в этом году решили использовать еще один нестандартный метод.

Отслеживанием всех значимых новостей в сфере IT-безопасности у нас занимается редакция сайта Threatpost. Мы решили отобрать 10 событий уходящего года (для версии сайта на английском) по единственному критерию: популярности соответствующих статей. И получили интересный набор новостей, актуальный для айтишников, наших нынешних и потенциальных клиентов и безопасников. В нем абсолютно нет политики (то есть историй про Сноудена и NSA), и довольно мало тем стратегического плана. Зато на первый план вышли проблемы, которые необходимо учитывать при оценке этого самого ландшафта уже сейчас. Подробнее – под катом.
Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Комментарии12

Выразительный JavaScript: Функции

Время на прочтение17 мин
Количество просмотров231K

Содержание




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

Дональд Кнут


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

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

Средний взрослый русскоговорящий человек знает примерно 10000 слов. Редкий язык программирования содержит 10000 встроенных команд. И словарь языка программирования определён чётче, поэтому он менее гибок, чем человеческий. Поэтому нам обычно приходится добавлять в него свои слова, чтобы избежать излишних повторений.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии7

Проблемы даты и времени в JS

Время на прочтение3 мин
Количество просмотров88K


Редкому программисту случается избежать работы с датой и временем. Вообще, дата/время — базовое понятие и в основной массе языков существуют встроенные механизмы работы с этим типом данных. Казалось бы, JS не исключение, есть встроенный тип Date, есть куча функций в прототипе, однако…
Читать дальше →
Всего голосов 52: ↑38 и ↓14+24
Комментарии55

Как я искал работу в славном городе Нью-Йорк

Время на прочтение5 мин
Количество просмотров138K
Несколько месяцев назад я сменил работу. Весь процесс от принятия решения о поиске и первого интервью в первой подвернувшейся компании до принятого предложения занял 8 месяцев. Перед началом марафона я имел за душой опыт смены работы 8-летней давности, но в России. Этот рассказ о том, как мои ожидания встретились с американской действительностью.

Прежде чем уйти в детали – краткий обзор меня. Я – разработчик с примерно 10-летним стажем, пишу для .NET платформы. Первые семь лет я базировался в Санкт-Петербурге и 3 года назад переехал в штаты.

Итак, поехали!
Читать дальше →
Всего голосов 172: ↑163 и ↓9+154
Комментарии167

Необычные материалы в DIY. Стоматология + электроника =? Часть 1

Время на прочтение8 мин
Количество просмотров203K
Нет ничего прекраснее, чем сидеть в лаборатории и гладить толстую плешивую крысу в поисках вдохновения.



Итак, сегодня у нас будет немного необычный DIY-пост. Делать руками мы ничего не будем. Arduino и прошивок в 30 строк на Brainfuck тоже не будет. Мы попробуем взглянуть на привычные вещи под необычным углом.
Все мы привыкли к классическим для этой области материалам вроде текстолита, оловянного припоя и прочих радостей любителей повыпиливать лобзиком потравить платы. В этой статье мы попробуем найти интересные альтернативы привычным техпроцессам в несколько непривычной области — стоматологии. Зубные техники и стоматологи работают с целой кучей полимеров, композитов и много с чем еще. Я не буду давать конкретных рецептов применения, а просто дам общее направление для самостоятельных экспериментов.

В сегодняшней программе:
Материалы
  • Силиконы. Как кремний, только интереснее.
  • Супергипс. Гипсее всех гипсов.
  • Пластмассы. Отличный розовый цвет.


В следующей части:
Материалы
  • Фотокомпозиты. Сам себе 3D принтер.
  • Ортофосфорная кислота для травления

Оборудование и инструменты
  • Алмазные и твердосплавные боры
  • Портативные микромоторы. Замена дремеля
  • Обратные пинцеты, зонды и другая мелочь

Читать дальше →
Всего голосов 197: ↑191 и ↓6+185
Комментарии171

Как мы в Мосигре обрабатываем баги и косяки — разборы конкретных случаев

Время на прочтение8 мин
Количество просмотров71K


Прошлый раз я писал про чужие баги. Честно будет написать теперь про наши. Они бывают трёх основных типов:

  1. Когда косякнули мы, и это реально мы.
  2. Когда виноват внешний курьер, почта или кто-то ещё — но клиент всё равно считает это косяком магазина (и, в целом, прав в этом).
  3. Когда есть брак в товаре, и виноват производитель – но клиент брал у нас, поэтому ответственность за косяк должна быть тоже на нас.

Когда-то мы думали, что достаточно уменьшить до минимума количество косяков первого типа, и всё будет отлично. Но нет, этого оказалось мало. Дело в том, что покупатель не особо разделяет в своём мировоззрении товар, продавца и доставку. И если в 6:15 утра в Иркутске в его дом стучит страшное небритое лицо с посылкой – это тоже лицо компании.

Теперь давайте расскажу с примерами, в том числе по обратной связи с Хабра.
Читать дальше →
Всего голосов 204: ↑200 и ↓4+196
Комментарии131

30 полезных сервисов для веб-разработчика

Время на прочтение2 мин
Количество просмотров163K
Решил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
Читать дальше →
Всего голосов 180: ↑156 и ↓24+132
Комментарии48

О здравом смысле и руководстве компаний

Время на прочтение12 мин
Количество просмотров87K
Мы все знаем, что при росте организации решения руководства обычно становятся все более и более неоптимальными, все дальше отходят от здравого смысла. Это связано с общим законом сложных иерархических систем, в которых руководство не выбирается, а назначается (в результате назначаются люди, худшие, чем назначающий руководитель).

Это все понятно, но почему руководство в больших организациях зачастую принимает не просто неоптимальные, но абсурдные решения? Почему не руководствоваться ну хотя бы здравым смыслом?
Под катом несколько примеров из трудовой биографии старого опытного программиста.
Читать дальше →
Всего голосов 112: ↑106 и ↓6+100
Комментарии109

Часть 4.2 Возвращаем зрение. От очков до эксимерного лазера

Время на прочтение11 мин
Количество просмотров250K
Пацаны, есть лазер. Он вгрызается в ваш глаз. Но раньше, чтобы лазер мог начать работу, надо было аккуратно зачистить глаз скальпелем. Скальпель со временем становился меньше, а лазер — круче. Поэтому давайте посмотрим на эволюцию методов.

Эпиграф от Milfgard



Заключительная часть цикла, посвященная непосредственно оставшимся методам коррекции зрения. В этой части мы рассмотрим ортокератологию, все варианты лазерной коррекции зрения, замену хрусталика и несколько других методов. Если вы не читали цикл с самого начала, я очень рекомендую ознакомиться с частями 2 и 4.1, в которых подробно рассматриваются те проблемы, с которыми сталкивается современный офтальмохирург. В этой статье я постараюсь развеять уже поднадоевший страх, связанный с фильмом «Пункт назначения 4» и сошедшим с ума лазером. Также я постараюсь ответить на заданные вопросы читателей, как и обещал.

Предыдущие части


Часть 1. Unboxing VisuMax — фемто-лазера для коррекции зрения
Часть 2. Сколько мегабит/с можно пропустить через зрительный нерв и какое разрешение у сетчатки? Немного теории
Часть 3. Знакомьтесь — лазер по имени Amaris. Переезды и первое пробуждение VisuMax
Часть 4.1 Возвращаем зрение. От очков до эксимерного лазера
Читать дальше →
Всего голосов 173: ↑167 и ↓6+161
Комментарии233

Как пользователи ведут себя на сайте?

Время на прочтение4 мин
Количество просмотров52K
image

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

Читать дальше →
Всего голосов 49: ↑38 и ↓11+27
Комментарии15

Принцип цикады и почему он важен для веб-дизайнеров

Время на прочтение6 мин
Количество просмотров233K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →
Всего голосов 696: ↑682 и ↓14+668
Комментарии119

Composer — менеджер зависимостей для PHP

Время на прочтение10 мин
Количество просмотров404K
Composer (getcomposer.org) — это относительно новый и уже достаточно популярный менеджер зависимостей для PHP. Вы можете описать от каких библиотек зависит ваш проект и Composer установит нужные библиотеки за вас! Причём Composer — это не менеджер пакетов в классическом понимании. Да, он оперирует с сущностями, которые мы будем называть «пакетами» или библиотеками, но устанавливаются они внутрь каждого проекта отдельно, а не глобально (это одно из основных отличий от старого-доброго PEAR).

Кратко, как это работает:
  1. У вас есть проект, который зависит от нескольких библиотек.
  2. Некоторые из этих библиотек зависят от других библиотек.
  3. Вы описываете в своём проекте те библиотеки, от которых непосредственно зависит ваш код.
  4. Composer находит нужные версии требуемых библиотек для всего проекта, скачивает их и устанавливает в папку вашего проекта.

При создании Composer авторы черпали идеи и вдохновение из аналогичных проектов: npm для Node.js и Bundler для Ruby.

Изначально он был спроектирован и разработан двумя людьми Nils Adermann и Jordi Boggiano, сейчас в проекте участвует более двадцати контрибьюторов, Проект написан на PHP 5.3, распространяется под лицензией MIT и доступен на github.

Первые коммиты были сделаны апреле 2011 года и на сегодняшний день Composer находится в стадии «alpha3». Однако, он уже достаточно стабилен и используется многими популярными PHP проектами (например, Symfony 2). Список проектов использующих Composer можно посмотреть на сайте packagist.org — это официальный репозиторий Composer пакетов. Кстати, на недавней конференции Devconf 2012 разработчик фреймворка Yii в своём докладе упомянул, что Yii2 скорее всего тоже будет использовать Composer.

В этой статье я кратко опишу основные возможности Composer и мы попробуем создать демонстрационный проект использующий Composer для загрузки необходимых библиотек. Все примеры будут доступны на github.com и bitbucket.org.

Читать дальше →
Всего голосов 73: ↑60 и ↓13+47
Комментарии43

12 основных принципов NUI дизайна

Время на прочтение2 мин
Количество просмотров8.7K
Доброго времени суток, хабравчане. Хочу поделиться с вами ответом Дэна Сэйфера c Quora на вопрос об основных принципах натурального пользовательского интерфейса и очень полезным сайтом Design Principles FTW.

Основные принципы NUI дизайна


1. Дизайн для пальцев, не для курсора
Сенсорные элементы должны быть больше десктопных: 10-14 мм для пальцев, 8-10 для курсора.

2. Помните о физиологии и кинезиологии
Не заставляйте пользователей масштабировать и совершать повторные действия.

3. Никаких рук гориллы
Люди не должны выполнять множество задач с вытянутыми руками в течении длительного времени (калибровка, QR ридеры, сканеры и др). Извиняюсь за столь узкий момент.

4. Охват экрана
Совершая какие-либо жесты пальцами руки, в которой находится устройство, пользователь сам себе загораживает экран. Старайтесь размещать необходимые элементы управления на видном месте.

5. Знайте технологии
Понимание возможностей сенсора или камеры позволяет определить какие жесты вы можете спроектировать.
Читать дальше →
Всего голосов 22: ↑17 и ↓5+12
Комментарии1

HTML Academy, Хабр и краудфандинг

Время на прочтение3 мин
Количество просмотров90K
HTML Academy — это интерактивные онлайн-курсы по HTML и CSS. Проект существует уже более года, за который мы создали более 15 курсов, большая часть из которых бесплатна. Всё это время работа велась на чистом энтузиазме, однако, сейчас уже нужно выходить на новый уровень, чтобы делать курсы чаще, круче и полезнее. Для этого есть много путей, и один из них — народное финансирование.

Немного об HTML Academy


Всё обучение в академии происходит в практическом режиме. По сути, оно сводится к прохождению огромного количества практических заданий. Практическое задание выглядит вот так:

Практическое задание
Читать дальше →
Всего голосов 130: ↑118 и ↓12+106
Комментарии75

Готовимся к Хабра-эффекту

Время на прочтение3 мин
Количество просмотров13K
Наплыв посетителейЗаметка посвящена не столько возможным методам защиты (о них уже было много написано), сколько обзору небольшого списка для быстрой проверки при подготовке к возможных скачкам посещаемости. Судя по статистике нагрузки на электронные магазины на прошлой неделе (когда начался рождественский сезон продаж на Западе), даже для крупных магазинов время ответа может колебаться на 20%, что же говорить о менее крупных веб-сайтах?

Такую проверку обязательно нужно проводить перед выпусками новых продуктов, а также перед сезоном массовых покупок (для России это время в канун Нового Года и Рождества). Итак, с чего начать?
Читать дальше →
Всего голосов 118: ↑104 и ↓14+90
Комментарии60

Принципы ИТ-профессионала

Время на прочтение8 мин
Количество просмотров176K
Более 10 лет занимаясь ядрёной смесью из математики, программирования и управления проектами – всем тем, что входит в современное понимание Информационных Технологий — я сформулировал простые правила, которые считаю подходящими для любого профессионала, связанного с ИТ.

Читать дальше →
Всего голосов 191: ↑141 и ↓50+91
Комментарии115

Дерек Сиверс: «Метод интервального повторения — лучший способ изучения языков программирования»

Время на прочтение6 мин
Количество просмотров115K
Краткая справка: в 1998 году Дерек Сиверс основал компанию CD Baby и превратил ее в крупнейшего онлайн-продавца независимой музыки. В 2008-ом вырученные от продажи компании $22 миллиона Дерек передал в благотворительный траст на нужды музыкального образования.
Речи Дерека на TED просмотрели более 5 миллионов раз, а его собственная книга занимала первую строку в чарте книг для предпринимателей на Amazon.
Сам себя Дерек считает «вечным учеником».


Я уже год использую этот метод обучения и могу сказать, что он – самый эффективный из тех, с которыми мне довелось столкнуться за 14 лет изучения программирования.
Читать дальше →
Всего голосов 74: ↑68 и ↓6+62
Комментарии45

Посты-рекордсмены

Время на прочтение5 мин
Количество просмотров105K
На Хабре я недавно (чуть меньше месяца), до этого Хабр практически не читал. Пришёл, огляделся, походил по тематическим «хабам», почитал «Лучшее за всё время», просмотрел статьи отдельных, заинтересовавших меня персонажей и понял, что для того, чтобы получше понять, как живёт и чем дышит это замечательное сообщество, мне придётся Хабр распарсить и позадавать ему разные вопросы. К тому же, раз уж в своих статьях я писал в основном об автореферентности в разных её проявлениях, как не написать на Хабре статью о Хабре?

Посмотрю, интересно ли это всё кому-либо кроме меня. Если интересно, напишу ещё несколько постов, идей и материала для этого более чем достаточно.

Если я ничего не пропустил в интерфейсе сайта, единственные списки самых-самых, которые можно посмотреть — это общий рейтинг пользователей и список статей, т.н. «Лучшее за всё время». Оба списка отсортированы по рейтингу (пользователей и статей, соответственно). Между тем, существует ещё куча параметров, по которым было бы интересно всё отранжировать.
Читать дальше →
Всего голосов 215: ↑202 и ↓13+189
Комментарии59
1

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность