Pull to refresh
-1
0
Sergij Usik @PretorDH

User

Send message

Как на Java c помощью КриптоПро подписать документ PDF

Reading time10 min
Views38K


Привет! Я сотрудник Альфа-Банка и занимаюсь разработкой программного обеспечения со встроенными средствами криптографической защиты информации.

В данной статье хочу рассказать о следующих вещах:

  • преимуществах формата PDF в качестве документа с электронной подписью;
  • платформе Java, библиотеке itextpdf и СКЗИ КриптоПро CSP, как инструментах подписи;
  • о том, с какими трудностями пришлось столкнуться, о доработке itextpdf;
  • привести пример кода, выполняющего несколько подписей;
  • поговорить о целесообразности использования формата PDF в качестве документа с подписью.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments28

Топ 10 настольных станков с ЧПУ для дома 2017

Reading time5 min
Views75K


Настольные 3D-принтеры уже достаточно широко распространены среди любителей новых технологий и мастеров, использующих их для работы и дома. Не всегда они оправдывают ожидания и вложенные средства. В этом ролике собраны презентации аппаратов другого класса — это многофункциональные устройства, позволяющие не только печатать в объеме, но и производить другие операции. Все они относительно недороги и занимают немного места, что позволяет использовать их на рабочем столе рядом с компьютером.

Total votes 26: ↑20 and ↓6+14
Comments56

Создание шейдеров

Reading time27 min
Views188K
Освоить создание графических шейдеров — это значит взять под свой контроль всю мощь видепроцессора с его тысячами параллельно работающих ядер. При таком способе программирования требуется другой образ мышления, но раскрытие его потенциала стоит потраченных усилий.

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


Сцена из Minecraft, до и после добавления нескольких шейдеров.

Задача этого туториала


Иногда программирование шейдеров представляется загадочной чёрной магией и его часто понимают неправильно. Существует множество примеров кода, демонстрирующих создание невероятных эффектов, но в которых практически нет объяснений. В своём руководстве я хочу восполнить этот пробел. Я сосредоточусь в основном на базовых принципах создания и понимания кода шейдеров, чтобы вы смогли с лёгкостью настраивать, сочетать или писать свои собственные шейдеры с нуля!
Total votes 105: ↑105 and ↓0+105
Comments27

Cолнце и ветер стали самыми дешевыми источниками энергии

Reading time2 min
Views19K

image
Солнечная электростанция в окрестностях Лас-Вегаса, генерирующая энергию даже ночью


Консалтинговая фирма Lazard в своём 10-м годовом отчёте показала, что ветровая и солнечная электроэнергия стала дешевле, чем электроэнергия из других источников, в том числе традиционных — даже без государственного субсидирования. Эти данные также подтверждаются анализом лаборатории Беркли по солнечной и ветровой энергетике.


Отчёт был составлен на основе нормированной стоимости электроэнергии (Levelized Cost Of Energy, LCOE), учитывающей себестоимость производства электроэнергии с учётом всех затрат (стоимости постройки, расходов на содержание зданий и сооружений, стоимости топлива) на протяжении всего жизненного цикла электростанции. Такой подход позволяет объективно сравнивать себестоимость энергии для различных способов её получения.

Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments115

Логика сознания. Вступление

Reading time8 min
Views111K
image В свое время на Хабре был опубликован цикл статей «Логика мышления». С тех пор прошло два года. За это время удалось сильно продвинуться вперед в понимании того, как работает мозг и получить интересные результаты моделирования. В новом цикле «Логика сознания» я опишу текущее состоянии наших исследований, ну а попутно попытаюсь рассказать о теориях и моделях интересных для тех, кто хочет разобраться в биологии естественного мозга и понять принципы построения искусственного интеллекта.

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

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

Не должна вводить в заблуждение распространенная фраза о том, что многие идеи искусственных нейронных сетей позаимствованы из исследований реального мозга. Заимствование носит слишком общий характер. По большому счету, оно заканчивается на том, что и там и там есть нейроны и между этими нейронами есть связи.
Читать дальше →
Total votes 49: ↑46 and ↓3+43
Comments179

Как в Украине принимать платежи на PayPal в целом (и при продажах на eBay в частности)

Reading time6 min
Views197K

Предисловие


Не вижу смысла описывать условия, побудившие меня к поиску возможностей получения средств на счёт PayPal с других счетов PayPal. Вместо этого почти сразу перейду к сути найденной возможности. Почти — потому что предварительно хотел бы заявить о том, что возможность найдена путём теоретических измышлений и в реальность не претворялась. Я богобоязненный и законопослушный гражданин, потому мне омерзительна мысль иметь полноценный PayPal аккаунт (и продавать на eBay с использованием дефолтного способа оплаты, которого не боятся покупатели) если для этого придётся пойти на предоставление неправдивых данных с околонулевой вероятностью обнаружения обмана. В общем,

вот как принимать платёж на PayPal
Total votes 24: ↑16 and ↓8+8
Comments19

Гарвардский курс CS50 на русском: шестнадцатая лекция

Reading time3 min
Views25K


Мы продолжаем публиковать лекции легендарного Гарвардского курса CS50, которые мы переводим и озвучиваем специально для JavaRush. Рады вам представить 16-ю серию с продолжением рассмотрения языка PHP (теперь для разработки веб-приложений), а также со знакомством с базами данных и MySQL. Всего в курсе 24 лекции, постепенно мы переведём все. Лекция под катом в списке всех переведённых на сегодняшний день лекций.

Что вы узнаете, прослушав этот курс:

  • Основы компьютерных наук и программирования;
  • Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом;
  • Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
  • Основы языка программирования C и Scratch;
  • Основы баз данных и SQL;
  • Веб-разработка: основы CSS, HTML, JavaScript и PHP;
  • Основы подготовки презентации проектов по программированию.

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments2

Психология убеждения. Как убеждать других и уметь распознавать манипуляции

Reading time14 min
Views134K

Эта статья — некраткий конспект книги Роберта Чалдини «Психология убеждения». Будет полезна всем, кто имеет дело с людьми, продажами и бизнесом. Книга настолько полезна, что должна оказаться на полке каждого. Помимо того, что мы хотим влиять на окружающих, очень полезно знать, когда окружающие пытаются повлиять на нас. Внутри вы найдёте множество способов убеждения и, сразу после прочтения, будете с лёгкостью замечать, когда вами пытаются манипулировать.
Читать дальше →
Total votes 90: ↑67 and ↓23+44
Comments50

Паттерны ООП в метафорах

Reading time17 min
Views559K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →
Total votes 214: ↑201 and ↓13+188
Comments86

Три ключевых принципа ПО, которые вы должны понимать

Reading time13 min
Views225K

Разрабатывая приложения, мы постоянно сталкиваемся с новыми подходами, языками и концептами. И постоянно мы мечемся в сомнениях «смогу ли я быть на волне, оставаться конкурентоспособным, учитывая все изменения и тренды?». Давайте задумаемся на мгновение, вспомнив фразу из моего любимого фильма «Касабланка» — в любви законов новых нет — так создан свет.

Все, что касается любви, применимо и к коду. Новых законов в коде нет. Если вы четко понимаете основные идеи разработки, вы способны максимально быстро адаптироваться к новым подходам. В этой статье я расскажу вам о трех основных принципах, которые, наряду с другими, позволяют регулировать сложность разработки. Я поделюсь своим видением вопроса, которое, надеюсь, поможет вам в повседневной работе.
Читать дальше →
Total votes 142: ↑128 and ↓14+114
Comments56

Конкурс по программированию на JS: Классификатор слов

Reading time5 min
Views73K
Компания Hola объявляет начало весеннего конкурса по программированию! Призовой фонд увеличен:

  1. Первое место: 3000 USD.
  2. Второе место: 2000 USD.
  3. Третье место: 1000 USD.
  4. Возможно, мы решим отметить чьи-то чрезвычайно оригинальные решения двумя специальными призами в 400 USD.
  5. Если Вы отправите кому-то ссылку на этот конкурс, поставив наш адрес в CC, и этот человек займёт призовое место, Вы получите половину суммы приза (разумеется, не в ущерб награде победителя). За одного победителя такую награду может получить только один человек — тот, кто отправил ссылку первым.

Мы ищем талантливых программистов, поэтому авторы интересных решений будут приглашены на собеседования.

Опубликовано дополнение: Тестовая программа, часто задаваемые вопросы, типичные ошибки.
Опубликовано дополнение: О ходе тестирования.


Правила


На этот раз мы решили попробовать что-то новенькое: для разнообразия, этот конкурс — не на производительность кода.

Условия конкурса на английском языке размещены на GitHub. Ниже — перевод на русский язык.

Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments620

JavaScript to APK. Подводные камни разработки под Android для тех, кого задолбал PhoneGap. Построение мостов из Java в JavaScript

Reading time8 min
Views60K
Привет, Хабра!

Я люблю игры на JavaScript и стараюсь сделать их код пуленепробиваемыми для портирования на все платформы. Полгода назад я уже писал о сборке Android приложений и сегодня хотел бы раскрыть тему более подробно.

Сразу предупрежу, что мне пришлось отказаться от PhoneGap, т.к. опыт использования его в двух проектах меня огорчил. Он отлично справляется с «Hello World» приложениями, но при конвейерной сборке всего подряд всплывают нюансы.

Почему PhoneGap не пошел:
1. Он изначально пустой. Постоянно приходится подключать все новые и новые модули.
2. Многие модули написаны криво. Они либо берут много лишнего, либо ведут себя неожиданно. Например, из двух модулей под Android для отправки SMS, один не работал, второй — отправлял true при любых условиях.
3. Не решены элементарные вещи, вроде получения EMEI телефона. Нужно постоянно допиливать.


Читать дальше →
Total votes 43: ↑38 and ↓5+33
Comments30

Разработка HTML5 игры под Android с нуля и до релиза

Reading time8 min
Views63K

Вместо вступления


Потратив несколько суток подряд (без перерыва на сон) на изучение поддержки HTML5 всеми любимыми Android-гаджетами, решил, что данной теме стоит уделить внимание. В статье постараюсь раскрыть по шагам все этапы (конечно же базовые/ключевые/основные) создания HTML5 Игрового приложения для Android от идеи до релиза самого APK файла. Возможно, ничего нового я и не открою маститым разработчикам, но для новичков постараюсь описать все как можно проще, со скриншотами и пояснениями.

image

Желающих узнать подробнее приглашаю под кат.
Читать дальше →
Total votes 37: ↑24 and ↓13+11
Comments21

Быстрое кроссплатформенное HTML5 приложение на Framework7

Reading time10 min
Views79K
Задумываясь о разработке html5 приложения, многим сразу на ум приходит jQuery, или точнее jQueryMobile. И попробовав написать даже самое простенькое приложение используя jQueryMobile, очень легко разочароваться, так как производительность и отзывчивость получившегося html5 приложения куда ниже ожидаемого, и уж совсем его не сравнить с нативными приложениями.


Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments20

Полиция Массачусетса заплатила выкуп в биткоинах, чтобы вернуть свои файлы

Reading time2 min
Views19K


Полицейский департамент города Тьюксбери (шт. Массачусетс, США) попал в неловкую ситуацию. Все рабочие файлы на компьютерах оказались зашифрованы какой-то неизвестной программой. Для получения ключа шифрования от полиции требовалось заплатить эквивалент $500 на кошелёк Bitcoin.

Трояны-вымогатели (ransomware) типа KEYHolder, CryptoLocker и CryptoWall получили широкое распространение в последнее время. Некоторые из них сильно лажают в плане криптографии, так что файлы можно расшифровать без всякого выкупа.

Например, троян-вымогатель DirCrypt записывает ключ RC4 в конец каждого зашифрованного файла.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments74

Overclock мозга или Внутренняя виртуализация сознания

Reading time29 min
Views455K


Все помнят этот фильм? Какого черта он делает на Хабре? И вообще что тут делает подобный пост?
Наверное потому, что я считаю главным звеном в IT все таки человека, а точнее его мозги. Я попробую рассказать еще об одной возможности использовать свой мозг чуточку эффективнее. Одна из слабо задокументированных возможностей, которую мы используем каждый день, но не всегда даже об этом вспоминаем. Все описанное проверялось на мне. Если что-то я не пробовал, но рассказать об этом важно буду отмечать особо. Никаких наркотиков, аппаратов и издевательств над собой, только общедоступные легкие методики (короче, лег проспался и вперед, не вставая даже с кровати).
И да… Это до жути реалистично, на столько, что попробовав, вы не сможете не рассказать об этом.

Что бы не было лишних криков в комментах, попрошу всех кто ярых сторонников любой религии и конфессии, а так же убежденных эзотериков сразу поставить минус в карму и не читать дальше. Здесь не будет философии и великих вселенских тайн. А остальных прошу под кат — попробую рассказать о своей практике разгона мозга с помощью встроенных функций.
ночь как полигон для...
Total votes 224: ↑172 and ↓52+120
Comments292

5 Самых захватывающих событий, произошедших в космосе [перевод]

Reading time7 min
Views192K
Мне очень понравилась вот эта статья о космонавтах, которые круче героев боевиков. Поэтому, найдя блог автора, я решил перевести для вас другую статью из той же серии.


Когда лётчики-испытатели прокачиваются до следующего уровня, получаются космонавты. И они настолько суровы, что могут использовать алмазы вместо жвачки. Мы уже говорили о крутых космонавтах, но вот что, ребята: в космосе всё круто. Поэтому вот вам ещё кое-что.

image

Читать дальше →
Total votes 236: ↑206 and ↓30+176
Comments45

Использование снов для тестирования проекта

Reading time2 min
Views12K
У меня по ночам работают тест кейсы. На входе в сон, задаешь параметры и получаешь видеоряд возможных событий вместе с реакцией системы на эти события. Утром проверяешь адекватность увиденного и вносишь поправки в макет.

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

Удобен ли ваш сайт для регистрации в условиях зомби-апокалипсиса?

Что-что, простите?..
Total votes 31: ↑17 and ↓14+3
Comments10

О плохих словах, или Как написать текст, не сделав из него какашку

Reading time8 min
Views64K
Здравствуйте.
В первой части статьи я расскажу о некоторых стилистических «косяках», которые придают текстам характерный канцелярский унылый стиль. Вторая часть посвящена более серьёзной ошибке, которая, к сожалению, грозит в ближайшее время стать правилом.
Читать дальше →
Total votes 204: ↑180 and ↓24+156
Comments167

14 инструментов для веб-дизайна и веб-разработки на 2014 год

Reading time3 min
Views155K
Вместе с WEB движущимся семимильными шагами (адаптивным дизайном, CSS препроцессорами, постпроцессорами и другими вещами) может оказаться проблемой попытка не отставать от чего-то нового и полезного.
Ниже Вы найдете 14 инструментов, 7 для веб-дизайнеров и 7 для веб-разработчиков, которые помогут веб-сайту перерасти из концепции в действительность.
Читать дальше →
Total votes 42: ↑26 and ↓16+10
Comments15
1

Information

Rating
Does not participate
Location
Луцк, Волынская обл., Украина
Registered
Activity