Pull to refresh
-1
0
Send message

QueryDSL: Предикаты

Reading time8 min
Views48K
QueryDSL Predicate — это мощный и чрезвычайно гибкий инструмент для работы с БД и просто подарок для Java-разработчиков, которые не очень хорошо разбираются в SQL (или совсем не разбираются), поскольку предикаты позволяют работать с БД при помощи привычного объектного представления сущностных зависимостей.



Предикаты позволяют работать с элементами базы данных как с обычными полями класса. При сборке gradle создаёт специальные классы зависимостей, через которые и происходит поиск нужных записей в БД.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments8

Настройка валидации DTO в Spring Framework

Reading time6 min
Views46K
Всем привет! Сегодня мы коснёмся валидации данных, входящих через Data Transfer Object (DTO), настроим аннотации и видимости — так, чтобы получать и отдавать только то, что нам нужно.

Итак, у нас есть DTO-класс UserDto, с соответствующими полями:

public class UserDto {

    private Long id;
    private String name;
    private String login;
    private String password;
    private String email;
}

Я опускаю конструкторы и геттеры-сеттеры — уверен, вы умеете их создавать, а увеличивать в 3-4 раза код смысла не вижу — представим, что они уже есть.

Мы будем принимать DTO через контроллер с CRUD-методами. Опять же, я не буду писать все методы CRUD — для чистоты эксперимента нам хватит пары. Пусть это будут create и updateName.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments22

Абстрактный CRUD от репозитория до контроллера: что ещё можно сделать при помощи Spring + Generics

Reading time7 min
Views34K
Совсем недавно на Хабре мелькнула статья коллеги, который описал довольно интересный подход к совмещению Generics и возможностей Spring. Мне она напомнила один подход, который я использую для написания микросервисов, и именно им я решил поделиться с читателями.



На выходе мы получаем транспортную систему, для добавления в которую новой сущности нужно будет ограничиться инициализацией одного бина в каждом элементе связки репозиторий-сервис-контроллер.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments25

Как устроен склад алкоголя, и как нечеловекоподобный дрон может летать между бутылками

Reading time6 min
Views9.7K
image

Мы собрали прототип дрона, который будет летать по складу и инвентаризировать алкоголь. Вообще-то такой дрон нужен много для чего (и вы могли видеть в некоторых магазинах ездящие колонны, которые занимаются чем-то подобным), но именно на складе алкоголя крайне важно, чтобы это был не человек. Потому что есть огромная проблема с подбором персонала на такие объекты. Отметим, что в результате отбора и последовательного отсева тех, кто злоупотребляет алкоголем на работе или стремится его украсть, в итоге на складе работают в основном глубоко религиозные люди, которым ислам запрещает пить.

Но вернёмся к роботу. От него нужны три вещи:

  1. Двигаться по складу без помощи оператора.
  2. Считывать штрихкоды или QR-коды паллет и надписи около них.
  3. Превращать это в данные инвентаризации и передавать в WMS в итоге.

Казалось бы, простейшая задача для пятичасового хакатона. Но на деле всё немного не так. Начнём с того, что метки под скотчем или полиэтиленом (то есть нужно сопоставление нескольких кадров без бликов) имеют разный шрифт и бывают рваными или протёртыми.
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments22

Миссия невыполнима: геолокация на Android без сжирания батарейки

Reading time10 min
Views79K
Пользователь: это невозможно, GPS съест батарейку
Джуниор: это возможно, используй Geofences
Сеньор: есть варианты и получше

image
На картинке сначала в одну, а потом в другую сторону одновременно с одним человеком «прогулялись» 6 одинаковых телефонов. Но какой разный результат!
Читать дальше →
Total votes 44: ↑41 and ↓3+38
Comments12

Впечатляющие анимационные эффекты

Reading time2 min
Views115K
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
Читать дальше →
Total votes 262: ↑246 and ↓16+230
Comments78

Google Cloud Messaging: «Сова, открывай! Пуш пришел!»

Reading time6 min
Views63K
Всем известный сервис Google Cloud Messaging (GCM) нужен для того, чтобы ваше приложение всегда показывало актуальные данные пользователю. Схема работы сервиса включает в себя три компоненты.



Непосредственно сервер GCM, ваш пуш-сервер и устройство с установленным приложением. Алгоритм работы простой: устройство регистрируется в GCM, получает registrationId – некий токен, который используется в дальнейшем, – сохраняет его у себя локально и передает серверу. Далее пуш-сервер использует этот registrationId для отправки сообщений вашему приложению на устройстве.

В этом материале будут рассмотрены проблемы на двух участках, который обозначены на схеме: пуш-сервер – GCM и GCM – устройство.
Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments30

Регистрация безналоговой компании в Эстонии

Reading time5 min
Views167K
«Платить налоги – обязанность, платить мало налогов – искусство! » (с)

Хочу поделиться опытом успешной регистрации компании в Эстонии. Я приведу короткую характеристику юрисдикции, расскажу про подводные камни, которые существуют, и поделюсь полученным опытом.

Задача стояла следующая — найти юрисдикцию, в которой не нужно платить налог на прибыль, при этом клиентам из США, Канады и ЕС удобно было с ней работать. Реальный офис открывать в этой стране задачи не стояло.

Основная деятельность компании — разработка ПО (классическая аутсорс компания со штатом ~20 девелоперов).
Читать дальше →
Total votes 61: ↑57 and ↓4+53
Comments73

Делаем приложение push'истым

Reading time6 min
Views18K

Хочу поделиться своим user developer experience от внедрения WNS push notifications в приложение Windows Store. Приглашаю всех прочитать мои непутевые заметки о том, как я делал свое приложение белым и push'истым.
Принять приглашение
Total votes 27: ↑17 and ↓10+7
Comments1

Руки прочь от консоли

Reading time3 min
Views138K
image

Любой организм стремится к гомеостазу. То есть к стабильности, предсказуемости, спокойствию.

Это означает, что любая встряска, любое резкое изменение порождает стресс. Особенно, если в 3 часа ночи, особенно если сразу надо что-то с этим делать, разбираться, чинить…

Кому знакома ситуация, когда что-то очень важное (база данных, финансовый сервис, айпад генерального) ВДРУГ перестают работать. Это всегда происходит вдруг… А вы как назло, отвечаете своей головой за это важное.

Большинство людей, включая меня, в этот момент испытывают реальный стресс. Сильный и опасный.

Вспоминаю случаи, когда мы делали по ночам работы по настройке сетевой безопасности РАО ЕЭС России, а потом нам звонили «срочно-все_сломалось-чините!». Сколько косяков я мог избежать, если бы не ломился сразу вбивать команды с колотящемся сердцем… Сколько оправданий можно было бы не придумывать. Ведь стыдно признаться в своей поспешности и глупости…
Читать дальше →
Total votes 129: ↑96 and ↓33+63
Comments94

Семейный бизнес в сфере IT. Время зарабатывать деньги

Reading time8 min
Views88K


Предисловие


В конце 2012 года от нас ушел менеджер по продажам. В январе 2013 уволился программист, в марте ― верстальщик. Казалось, что все рушится. Но как же так? Ведь мы только-только создали команду и наладили работу. Сложившаяся ситуация удручала…

Я могла бы обманывать себя и обвинять наших бывших коллег в безответственности и неблагодарности. Но, давайте посмотрим правде в глаза: если менее, чем за полгода уволились трое из четырех сотрудников, проблема явно в компании и ее руководителях.
Читать дальше →
Total votes 115: ↑104 and ↓11+93
Comments58

Почему свет движется со скоростью света?

Reading time5 min
Views84K
(Прим. пер. ― см. прим. пер. в конце поста)

Почему свет движется со скоростью света? Почему он просто не стоит на месте? Что приводит его в движение (тем более, такое быстрое)?

image

Всё и везде, просто по факту своего существования, «движется» со скоростью света (которая на самом деле не имеет ничего общего со светом). Да, это касается и вас тоже. Вот прямо сейчас.

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

В нашей будничной жизни мы исходим из того, что движение — это некое расстояние (пространство), преодоленное за некое время. Однако, если мы решили, что это одно и то же, наше определение движение внезапно становится полной ерундой. «Я прохожу километр за каждый километр, который я прохожу» — кошмар какой-то!

Читать дальше →
Total votes 217: ↑199 and ↓18+181
Comments303

Palo Alto Longevity Prize: миллион долларов за замедление процессов старения

Reading time3 min
Views52K


Как известно, не так давно корпорация Google основала дочернюю компанию Calico, которая занимается вопросами бессмертия, или, если проще, то «лечением старости». У Google и партнерских компаний (одна из них — фармацевтический гигант из Чикаго, корпорация AbbVie) достаточно финансов, чтобы поддерживать исследования любого масштаба и интенсивности. Сейчас размеры инвестиций в Calico составляют полтора миллиарда долларов США.

Тем не менее, на днях было объявлено еще об одном проекте по борьбе со старостью и смертью. Речь идет о премии Palo Alto Longevity Prize, размер которой — 1 миллион долларов США. О премии было объявлено в Сан-Франциско, и вручена она будет ученому или коллективу, кто сможет справиться с двумия намеченными вопросами (соответственно, за решение каждого вопроса ученый или коллектив получает по 500 тысяч долларов США).

Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments33

PayPal заработал на прием на Россию

Reading time1 min
Views2.5K
Сегодня утром залогинился в Пейпал и появилась новая вкладка — запрос платежей. Попробовал, напарник смог прислать мне платеж (русский эккаунт), а я ему. Экканунты у нас старые (3+ года), верифицированные. Так что поздравляю все русских пейпальщиков, у которых теперь появилась опция получения денег.

P.S. Выводить тоже можно, надо только ввести банковские реквизиты.

P.P.S. Странный глюк, после того, как вы сделает accept payment, он продолжает отражаться, как unclaimed. Но если вылогиниться и залогиниться обратно — баланс обновляется мгновенно.
Total votes 287: ↑276 and ↓11+265
Comments192

Как разработать свой бренд?

Reading time5 min
Views8.7K
В интернете и книгах по маркетингу (и брендингу) приводится масса различных схем построения бренда: «колесо», «пирамида» и т.д. При желании можно найти подробное описание каждой из них (с реальными и, как правило, одними и теми же кейсами), вот только последовательность работы по созданию собственного бренда толком не описывается.
Еще один важный момент, что модели у различных авторов (Аакер, Линдстром и т.д.) часто учитывают различные аспекты взаимодействия бренда и потребителя. И при этом все они по-своему интересны, так что выбирать какую-то одну модель – значит отказываться от плюсов другой.
Мы работали со многими из этих схем бренда и в результате пришли к определенной последовательности действий, с помощью которой, не вдаваясь в дебри, можно разработать свой собственный бренд, сочетающий в себе лучшие особенности каждой из схем. Это «синтетическая» модель, где мы постарались учесть максимум важной информации и отсечь все, без чего можно обойтись.
Читать дальше →
Total votes 10: ↑6 and ↓4+2
Comments6

Делаем Desire HD из Desire

Reading time5 min
Views17K


Буквально пару дней назад я прочитал пост Вторая жизнь HTC HD2 и задумался, а можно ли сделать Desire HD из моего Desire? Как оказалось, можно, и даже не очень сложно. В общем, поразмыслив некоторое время о плюсах и минусах перехода на HD, я приступил к превращению. После всех действий я получил все возможности Desire HD в корпусе Desire. Никаких проблем и ошибок не возникло.
Читать дальше →
Total votes 109: ↑96 and ↓13+83
Comments139

Ремонт «вырванных» клавиш клавиатуры ноутбука

Reading time3 min
Views848K
Используя в повседневной жизни ноутбук, пользователи иногда встречаются с проблемой: «отломалась» клавиша на клавиатуре. Причиной может выступить любой фактор: чистка клавиатуры, использование пылесоса для чистки, шальная кошка (да, даже такое случается), маленький ребенок, интересующийся всем вокруг и случайно сорвавший клавишу, и много другого. Но не все знают, что это маленькую беду достаточно легко исправить.
Я расскажу Вам, как поставить кнопку обратно без потерь.
как починить клавишу на ноутбуке

(осторожно! очень много фотографий)
приступим
Total votes 118: ↑103 and ↓15+88
Comments75

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views803K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 532: ↑516 and ↓16+500
Comments365

Переезд на работу в Данию

Reading time11 min
Views132K
(Продолжение серии рассказов про Данию)

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

О себе: мне 31 год, я из Севастополя (да, на Хабре земляков всё больше), окончил СевНТУ. У меня красавица-жена и семилетний сын. Занимаюсь образовательным проектом. До переезда в Данию мы 6 лет жили в Киеве.

Причины переезда


Мы не «поравалитики». В целом, нам отлично жилось вна Украине. Конечно, мы понимали, что кругом многим не сладко. Так или иначе, сбежать из страны, прихватив трактор, не тянуло.

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

Доводы хорошие, но меня убедили совсем другие вещи:
Читать дальше →
Total votes 188: ↑171 and ↓17+154
Comments186

Особенности отражения DDoS атак и история атаки на один крупный банк

Reading time9 min
Views64K


Раньше DDoS-атаки могли успешно отбиваться на стороне ЦОДа атакуемой компании. Быстрые умные действия админа и хорошее фильтрующее железо гарантировали достаточную защиту от атак. Сегодня услуги ботнетов стремительно дешевеют, и DDoS становится доступен чуть ли не в малом бизнесе.

Около половины атак идут на интернет-магазины или коммерческие сайты компаний в духе «завалить конкурента», почти всегда атакуют сайты СМИ, особенно после «горячих» публикаций, намного чаще, чем кажется, бьют по госсервисам. В России главные цели – банки, розница, СМИ и тендерные площадки. Один из крупных российских банков, например, периодически блокирует трафик из Китая – атаки оттуда приходят с завидной регулярностью, одна из последних была больше 100 Гб/с.

Соответственно, когда атака переваливает, скажем, за 10 Гб/с, отражать её на своей стороне становится проблематично из-за банального забивания канала. Именно в этот момент нужно делать переключение на центр очистки данных, чтобы весь «плохой» трафик отсеивался ещё где-то около магистральных каналов, а не шёл к вам. Сейчас расскажу, как это работает у одного из наших вендоров защитных средств – Arbor, мониторящего около 90 Тбит/сек (45% мирового трафика Интернета).
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments46

Information

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