Pull to refresh
7
0
Slava @zeksa

User

Send message

Реализация Singleton в JAVA

Reading time4 min
Views279K
В этой статье я хочу затронуть тему одного из наиболее распространенных паттернов объектно-ориентированного программирования – Singleton. Но в данном случае я не буду описывать преимущества/недостатки и области применения этого паттерна, а попытаюсь изложить свой взгляд на его имплементацию в JAVA.

Общие сведения
Паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа.
Читать дальше →
Total votes 62: ↑53 and ↓9+44
Comments93

Аэросъемка в походе. Необычный обзор квадрокоптера Cheerson CX-20

Reading time5 min
Views20K
Про Cheerson CX-20 написано уже очень много обзоров, поэтому я не буду повторяться и расскажу вам о его «боевом» использовании.

Я из тех, кто предпочитает активный отдых и в этом году у меня было запланировано два похода: Сванетия (Грузия) и восхождение на Качкар (Турция). В сумме 25 дней отдыха. В подобных мероприятиях со мной всегда GoPro, но в какой-то момент мне захотелось добавить еще больше необычных ракурсов и я приобрел квадрокоптер и четыре запасные батареи к нему.


Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments13

Шпаргалка Java программиста 1: JPA и Hibernate в вопросах и ответах

Reading time36 min
Views586K
image

Знаете ли вы JPA? А Hibernate? А если проверить?

В чем смысл серии статей 'Шпаргалки Java программиста'
За время работы Java программистом я заметил, что как правило программисты постоянно и планомерно используют от силы 10-20% от возможностей той или иной технологии, при этом остальные возможности быстро забываются и при появлении новых требований, переходе на новую работу или подготовке к техническому интервью приходится перечитывать все документации и спецификации с нуля. Зато наличие краткого конспекта особенностей тех или иных технологий (шпаргалок) позволяет быстро освежить в памяти особенности той или иной технологии.




Данная статья будет полезна и для тех кто только собирается изучать JPA и Hibernate (В этом случае рекомендую сразу открывать ответы), и для тех кто уже хорошо знает JPA и Hibernate (В этом случае статья позволит проверить свои знания и освежить особенности технологий). Особенно статья будет полезна тем кто собирается пройти техническое интервью, где возможно будут задавать вопросы по JPA и Hibernate (или сам собирается провести техническое интервью).

Поехали...
Total votes 37: ↑32 and ↓5+27
Comments16

Как в проекте заменить jQuery на D3

Reading time7 min
Views19K
Создавая визуализации или интерактивные страницы, мы часто используем комбинацию из jQuery и D3. Причём в основном используется D3, а из jQuery берут небольшой набор функций для манипуляций с DOM.

И хотя в D3 есть мощные возможности – селекторы и обёртка для ajax, часто нам не хватает каких-то функций из jQuery. Мы покажем, как можно заменить jQuery, используя D3 повсеместно. В результате ваш код упростится, объём проекта уменьшится, и вы не будете смешивать разные подходы, а будете использовать функции так, как принято в D3.

Для начала рассмотрим, в чём эти две библиотеки сходятся. Это удобно для тех, кто уже знает jQuery, и хочет изучить D3.

Схожести


Селекторы

Обе библиотеки основаны на простых в использовании, но богатых на возможности селекторах.

jQuery

$('.foo').addClass('foobar');
$('.foo').removeClass('foobar');


D3

d3.selectAll('.foo').classed('foobar', true);  
d3.selectAll('.foo').classed('foobar', false); 


Управление стилями и атрибутами

jQuery

$('.foo').attr('data-type', 'foobar');
$('.foo').css('background', '#F00');


D3

d3.selectAll('.foo').attr('data-type', 'foobar');  
d3.selectAll('.foo').style('background', '#F00');  

Читать дальше →
Total votes 25: ↑19 and ↓6+13
Comments16

Немецкие физики подтвердили работоспособность «невозможного» двигателя на электромагнитной тяге

Reading time3 min
Views93K
image

Немецкие учёные подтвердили, что «невозможный» двигатель на базе электромагнитных волн действительно может создавать ненулевую тягу. Результаты своего исследования они презентовали 27 июля на конференции, посвящённой двигателям и энергетике, которую проводил Американский институт аэронавтики и астронавтики. Представлял работу профессор Мартин Таджмар из Дрезденского технологического университета.

Британский подданный и инженер Роджер Шойер основал компанию Satellite Propulsion Research Ltd в 2001 году специально для разработки электромагнитного двигателя (EmDrive) собственной конструкции. Инженер ранее работал в военной промышленности, принимал участие в космических проектах, включая разработку европейской системы глобальной навигации «Галилео».

image

Придуманный им двигатель на первый взгляд нарушает закон сохранения импульса — он создаёт тягу из-за отражения электромагнитного излучения от стенок отражательной камеры без какого бы то ни было реактивного выброса. Из-за сомнительной природы двигателя его долго не принимали всерьёз, однако, за проверку работоспособности в конце концов принялось НАСА — агентство с достаточно хорошей репутацией.
Читать дальше →
Total votes 102: ↑91 and ↓11+80
Comments357

Подводные камни при доставке квадрокоптеров в Украину — опыт с DHL

Reading time4 min
Views19K
Все началось с того, что я решил купить квадрокоптер для съемки в походе. В рейтинге Dronk.ru лучшим для полетов с экшн-камерой оказался Cheerson CX-20. Я заказал коптер на GearBest и попросил продавца отправить как можно быстрее, потому что до похода оставалось всего две недели, а мне еще предстояло научиться его пилотировать. В принципе, за достаточно короткое время посылки доходят в Украину и по обычной почте, но я перестраховался и заказал по DHL.


Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments28

10 советов по нетворкингу для людей, которые его терпеть не могут

Reading time12 min
Views201K
Представьте себя в большом конференц-зале, набитом сотнями специалистов с бэйджиками на груди. Стаи тревожно выглядящих людей в перерыве слоняются мимо столов с закусками, уставленными печеньками и пирожками. Другие – вальсируют сквозь лабиринт тумб партнёров, рядом с которыми мужчины и женщины в деловых нарядах колдуют над аккуратно выложенными рекламными брошюрами и фирменными ручками. Третьи стоят, уставившись в свои телефоны…

Вы пришли на мероприятие лично, хотя могли потом посмотреть его в записи в любимых тапочках дома или в вагоне метро по пути на работу. Вы сделали это с какой-то целью, не правда ли? Пообщаться с какими-то важными специалистами; послушать, как решают аналогичные проблемы с анализом больших данных в Hadoop или уменьшают глюки отслеживания Google Analytics более опытные специалисты; познакомиться с новым потенциально интересным стартапом или журналистом, а может, вы сами – стартап и пришли искать полезные знакомства; окучить множество новых клиентов; найти и замотивировать будущих сотрудников. Ваша задача – в течение следующих нескольких часов оставить положительное неизгладимое впечатление на максимальное количество людей. Уже начинает посасывать под ложечкой?
Читать дальше →
Total votes 36: ↑28 and ↓8+20
Comments13

О возможностях RAW для новичков

Reading time9 min
Views112K
Камеры и разнообразнейшие мобильные гаджеты, умеющие фотографировать, уже стали привычными предметами повседневности. Кому сейчас придёт в голову, например, переписывать какой-то нужный текст, когда можно просто достать смартфон и отщёлкать нужные страницы? Зачем пытаться объяснить на словах, как выглядит что-то, если можно это что-то отснять и потом просто предъявить фото на планшете? Сегодня фотографировать не умеют разве что пылесосы — и то не факт, что скоро производители не научат делать это и их тоже. Вон, камеры, не требующие питания, уже сделали.



Совершенно закономерным этапом совершенствования цифровой техники стал тот факт, что формат RAW вырвался из рамок профессиональных зеркальных фотоаппаратов и стал появляться и в «мыльницах», компактах и даже в смартфонах/планшетах. И если вы являетесь обладателем девайса, поддерживающего функцию съёмки в RAW, но не знаете, что это и с чем это едят — вам под кат. Формат RAW — довольно интересная и дающая массу творческих возможностей штука, хотя и требующая умения с собой обращаться…

Пост расчитан на новичков и тех, кто совершенно не в теме RAW-файлов. Любители фотографии вряд ли найдут здесь для себя что-либо новое, но могут помочь новичкам в комментариях. ;)

Achtung! Под катом тяжеловесные GIF'ки.
Эх, куда делись полароиды...
Total votes 70: ↑65 and ↓5+60
Comments86

Новый патч скорости чтения Samsung 840 Evo выйдет в этом месяце

Reading time3 min
Views14K

Проблема будет окончательно решена с помощью регулярной перезаписи данных


Уже на протяжении полугода остаётся в силе дефект твердотельных накопителей Samsung 840 Evo, который приводит к снижению скорости чтения старых данных. В прошлом году пользователи начали жаловаться, что скорость чтения информации, записанной на диск более 30 дней назад, падает в несколько десятков раз. К концу сентября на проблему обратили внимание технические издания, а позже и сам производитель.

В октябре вышел патч Performance Restoration Tool, призванный исправить эту проблему. Тогда южнокорейский гигант заявил, что восемь состояний трёхбитных ячеек были неправильно откалиброваны. Спустя месяцы после первого исправления некоторые владельцы 840 Evo столкнулись с той же проблемой деградации, хотя на этот раз она проявляется не так сильно. Samsung сообщает, что уже в апреле этого года выйдет новая версия прошивки с функцией периодического обновления.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments8

Убийцы жестких дисков. Коэрцитивный выстрел в голову

Reading time9 min
Views229K
«Любую ценность контролирует лишь тот, кто в состоянии её уничтожить» Дюна, Фрэнк Герберт

Сегодня пойдет речь о том, как быстро убить 3.5" жесткий диск.

image

О весьма успешном захвате HDD спецслужбами:
Важность улики была настолько велика, что для получения ноутбука пришлось разыграть целую сцену в библиотеке, где брали Ульбрихта. Агенты ФБР (мужчина и женщина) начали публичную ссору. Ульбрихт отвлёкся, чтобы посмотреть на них — и в этот момент другой агент быстро вытащил ноутбук у него из-под рук. Затем уже был произведён стандартный арест.

В последующие часы айтишники ФБР тщательно исследовали ноутбук и фотографировали экран, тщательно следя, чтобы ноут не ушёл в спящий режим (с шифрованием информации). Потом они сделали копию содержимого жёсткого диска.

На компьютере найдены копии паспортов и водительских лицензий Ульбрихта, расчётные ведомости по выплате зарплаты сотрудникам Silk Road, логи активности персонала, сканы удостоверений личности админов Silk Road.

Личный дневник Ульбрихта ведёт начало с 2010 года, когда у Росса появилась идея создать сайт Silk Road и продавать там задёшево галлюциногенные грибы, которые он выращивал. Ульбрихт описывает всё, чем занимался ежедневно, включая личные цели, повседневную работу и выпивки с друзьями.


Представьте себе: вам уже пилят дверь (производитель которой гарантировал, что пилить ее будут не менее 30 секунд), а на жестком диске у вас много интересного. Какие ваши действия?
Читать дальше →
Total votes 101: ↑101 and ↓0+101
Comments211

Как перестать беспокоиться и начать снимать панорамы

Reading time3 min
Views59K
image

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

Например, один из моих любимых объектов съемки — облака. Я очень люблю наблюдать за небом, как облака появляются, перекатываются из одной фигуры в другую, исчезают, и на их месте появляются новые. Но для того, чтобы сделать красивую фотографию облаков зачастую недостаточно разрешения и угла обзора цифровой камеры, поэтому приходится делать панорамы. Панорамная фотография — это общая фотография, собранная из множества отдельных кадров с фрагментами сцены. Процесс сборки панорамы в редакторе называется склейкой панорамы. Я не буду расписывать каждый шаг — дам общую информацию, которая позволит начать клеить панорамы, а уж детали программ разберете сами, если будет желание.
Читать дальше →
Total votes 54: ↑45 and ↓9+36
Comments94

Создаем резюме на LaTeX — как и зачем?

Reading time5 min
Views91K
Многие документы я подготавливаю в LaTeX, а не в Word. И к моменту, когда я определяюсь со следующим местом работы, я подвожу итоги сделанного, и, уж чтобы не пропадало, фиксирую их в документах, составляющих каркас моего CV. По моему личному убеждению, тщательность в создании документов для будущего работодателя нужна не столько для коммуникаций с «эйчарами», сколько для осмысления дороги, по которой идешь, и направления, в котором решаешь двигаться дальше. Итак, почему я для резюме выбрал LaTeX?

Читать дальше →
Total votes 125: ↑99 and ↓26+73
Comments71

Делаем ИК-пульт ДУ для фотоаппарата

Reading time5 min
Views49K


Как-то недавно мне понадобилось дистанционно управлять затвором зеркалки. Проводной вариант был отброшен, неудобно. Поискав по магазинам, нашел пульт ML-L3. Но отдавать за него тысячу рублей не хотелось, тем более что выполняемая функция на первый взгляд элементарная. Решил сделать сам. А тут, кстати, подоспели выходные и работа закипела…
Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments23

Прототип. От идеи до опытной партии. Литье в силикон

Reading time2 min
Views182K
В прошлой статье я описал мой путь по созданию опытной партии изделия, в ней я литье в силикон отдал на аутсорс. Пока я ждал выполнения моего заказа, потихоньку сам начал осваивать это ремесло. Статья будет полезна тем, у кого допустим есть плата какого-нибудь девайса, но нету красивого корпуса, 3д-печать не подходит по характеристикам, а делать сразу промышленную пресс-форму очень дорого.


Читать дальше →
Total votes 168: ↑166 and ↓2+164
Comments75

Файловая система Linux полностью на tmpfs — скорость без компромиссов

Reading time4 min
Views122K

Предыстория


Так сложилось, что уже пять лет мой раздел ntfs с операционной системой Windows располагается на рамдиске. Решено это не аппаратным, а чисто программным способом, доступным на любом ПК с достаточным количеством оперативной памяти: рамдиск создается средствами загрузчика grub4dos, а Windows распознаёт его при помощи драйвера firadisk.

Однако до недавнего времени мне не был известен способ, как реализовать подобное для Linux. Нет, безусловно, существует огромное количество линуксовых LiveCD, загружающихся в память при помощи опций ядра toram, copy2ram и т. д., однако это не совсем то. Во-первых, это сжатые файловые системы, обычно squashfs, поэтому любое чтение с них сопровождается накладными расходами на распаковку, что вредит производительности. Во-вторых, это достаточно сложная каскадная система монтирования (так как squashfs — рид-онли система, а для функционирования ОС нужна запись), а мне хотелось по возможности простого способа, которым можно «вот так взять и превратить» любой установленный на жесткий диск Linux в загружаемый целиком в RAM.

Ниже я опишу такой способ, который был с успехом опробован. Для опытов был взят самый заслуженный дистрибутив Linux — Debian.
Читать дальше →
Total votes 83: ↑74 and ↓9+65
Comments167

Легкий старт: Spring + MongoDB

Reading time16 min
Views52K


Поискал на хабре схожие статьи, нашел только Morphia — легкий ORM для MongoDB, управляемый аннотациями, ничего по связке Spring Data + MongoDB не нашлось, в связи с этим решил написать пост из раздела «для самых маленьких» по настройке и использованию связки Spring + MongoDB.
Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments11

Именование сложных действий в REST API

Reading time3 min
Views63K
Во всех руководствах в описаниях REST дают простые примеры, типа вот вам пользователи, они будут ресурсом /users, вот вам один пользователь, он будет /users/[id] и действия с ним добавить\удалить\изменить.

А что если действия сложные или комплексные и не вписываются в GET\POST\DELETE?

Читать дальше →
Total votes 64: ↑51 and ↓13+38
Comments113

6 уроков Flappy Bird для предпринимателей

Reading time7 min
Views33K


Еще несколько месяцев назад, открывая социальную сеть или сайт, вы неизбежно сталкивались с упоминаниями о «Flappy Bird». То, что начиналось, как очередной независимый проект одного-единственного разработчика из Вьетнама, стало глобальной сенсацией, вызвавшей невероятное количество слухов, дискуссий и загадок, а также суматоху, отчужденность и безмерный гнев.

Хотел ли создатель игры Донг Нгуен (Dong Nguyen) намеренно вызвать что-то из вышеперечисленного? Ни в малейшей степени. После того, как буря улеглась, он впервые нарушил свое молчание с тех пор, как удалил игру из магазинов приложений для iOS и Android, сказав, что он сделал это ради блага самих же игроков, т.к. боялся, что игра вызывает слишком сильную зависимость. Гипотетически, это совсем даже неплохо для разработчика игр.

Но немного вникнув, я подумал, что бесценные уроки из этого могут извлечь не только независимые разработчики игр, надеющиеся создать еще одну Flappy Bird, но и начинающие, а также уже действующие предприниматели любой сферы деятельности. Так что давайте почтим память ныне покойной птички, запомнив все то, чему она нас научила, и подумав, как мы можем нести это наследие дальше, применяя некоторые из ее уроков на практике.
Читать дальше →
Total votes 35: ↑25 and ↓10+15
Comments11

Курс от Яндекса о том, что должен знать каждый разработчик, который хочет делать большие системы. Модное слово DevOps и другое

Reading time5 min
Views107K
Всю рутину, которую можно отдать роботам, нужно отдать роботам. Большие системы без этого невозможны. В разработке и тестировании очень много похожих задач, которые не требуют высокой квалификации, но отнимают много времени. Человек, который умеет обеспечить разработку, тестирование и деплой – это редкий специалист и его на количество страничек никак не масштабируешь.

В Яндексе тестировщику невозможно без автоматизации. Мы даже развиваем экспериментального робота, который способен брать на себя функциональное тестирование. В какой-то момент мы поняли, что не так много людей осознают, сколько сейчас есть возможностей работать не 12 часов, а головой. Собрав весь свой опыт в тестировании и деплое, мы открыли в питерском офисе Яндекса Школу автоматизации процессов разработки. У нас получилась школа, где каждый, кто пишет код, может получить базовый набор знаний о том, как собрать, запустить и поддерживать сервис в продакшене так, чтобы это стоило недорого.



Курс открывает моя лекция о том, зачем вообще автоматизировать процесс разработки. Из нее вы получите представление о то, что будут рассказывать мои коллеги.

Сейчас занятия закончились, и мы, как и обещали, выкладываем записи лекций, которые перемежаются с мастер-классами, для всех желающих. Понятно, что наш опыт и знания – не 42, но мы надеемся, что они принесут вам пользу.
Читать дальше →
Total votes 70: ↑67 and ↓3+64
Comments18
1
23 ...

Information

Rating
Does not participate
Location
Украина
Registered
Activity