Search
Write a publication
Pull to refresh
33
0
Николай Иванов @ivnik

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

Send message

ПЗУ на 1 килобайт из блоков Minecraft

Reading time2 min
Views184K
Пользователь smellytring сконструировал из блоков Minecraft полностью функциональное ПЗУ объёмом 1 килобайт и подробно объяснил, как он работает.

Для работы ПЗУ используется редстоун (redstone) — вымышленный игровой минерал, который пропускает ток и является проводником. Сигнал редстоуна проходит через цельные непрозрачные блоки, но не проходит через прозрачные блоки (стекло).



На «диске» непрозрачные блоки используются для записи 1, а прозрачные — 0.
Читать дальше →

Анализ сетевого трафика на сервере с помощью tshark

Reading time11 min
Views82K
tshark

В практике системного администрирования довольно часто приходится cталкиваться со сложными ситуациями, в которых не помогают ни инструменты сбора статистики (например, netstat), ни стандартные утилиты на основе протокола ICMP (ping, traceroute и другие). В таких случаях часто используются специализированные диагностические утилиты, дающие возможность «слушать» сетевой трафик и анализировать его на уровне единиц передачи отдельных протоколов. Они называются анализаторами трафика, а на профессиональном жаргоне — снифферами. С их помощью можно, во-первых, локализовывать сетевые проблемы и более точно их диагностировать, а во-вторых — обнаруживать паразитный трафик и выявлять в сети зловредное ПО.

Особенно полезными оказываются анализаторы трафика в случаях, когда сетевое ПО плохо документировано или использует собственные закрытые протоколы.
Читать дальше →

JetBrains Upsource EAP: продукт для просмотра репозиториев и code review, с которым теперь можно поиграться

Reading time4 min
Views23K
Хабр, привет!
image
Меньше года назад мы рассказывали о разработке нашей новой веб-платформы для просмотра исходного кода.

За прошедшее время Upsource претерпел массу мелких и крупных изменений и стал, в частности, инструментом для code review. На днях же мы открыли программу EAP (Early Access Program), и предрелизные билды Upsource теперь доступны для всех желающих. На момент написания статьи число желающих стремительно приближается к тысяче, и не исключено, что вам тоже будет интересно лично познакомиться с нашим новым продуктом.
Знакомимся с Upsource

Как мы превратили телефон в банковскую карту

Reading time8 min
Views132K
image

Недавно мы приглашали владельцев HTC One принять участие в тестировании NFC платежей и теперь хотим поблагодарить всех, кто включился и поспособствовал развитию бесконтактных платежей в нашей стране. Сегодня приложение «Кошелек» уже стало доступно для всех владельцев HTC One и Philips Xenium W336 после обновления прошивки, а в ближайшее время им также смогут пользоваться обладатели HTC One Dual SIM, HTC One Max, HTC One SV, HTC Desire 500, HTC Desire 600 и Philips Xenium W8555.

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

Payler: PCI DSS аудит пройден!

Reading time3 min
Views5.8K
image

Дорогие друзья!

Продолжаем знакомить вас с новостями Payler и спешим рассказать, пожалуй, о самом важном событии для нас — прохождении аудита PCI DSS. Подготовка к этому знаменательному событию шла целых три месяца и вот, буквально на прошлой неделе, завершилась процедура двухдневного аудита от известной датской компании Fortconsult. Теперь ждём детальный отчет и сертификат, а пока хотели бы поделиться с вами полученным опытом.

Не будем описывать все технические подробности процедуры, тем более на страницах Хабра о ней писали не один раз (понравившаяся нам статья). Немного затронем особенности нашего опыта.
Читать дальше →

Перетягивание «Верблюда» или интеграция средствами Camel. Часть 2

Reading time14 min
Views27K

Сценарии интеграции с Apache Camel



Сколько вы знаете шаблонов интеграции приложений(EIP)? Сколько из них вы можете использовать?

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

Если вы знакомы с шаблонами, но решаете стоит ли связываться с «верблюдом», то наши примеры помогут разобраться. Если вам интересен путь от сценариев использования к реализации интеграции, то эта статья как раз об этом. Прошу под кат.
Читать дальше →

Быстрая разработка веб-приложений на Java

Reading time7 min
Views132K
Как вы разрабатываете веб-приложение на Java?
После каждого изменения, как вы его запускаете и проверяете? Сколько времени занимает редеплой приложения и рестарт контейнера?

Мне довелось видеть разные варианты: от полной пересборки WAR-файла до использования плагинов для IDE типа MyEclipse, WTP и «коннекторов» для сервлет-контерйнеров. У некоторых из них есть явные недостатки, другие вполне работают — но есть способ проще!

Запускалка


Этот способ разработки позволяет максимально просто и гибко настроить приложение с минимальным временем редеплоя. Вам надо всего лишь написать один простенький Java-класс с main-методом, который запустит сервер Jetty сразу с нужными приложениями (т.н. Embedded Mode).

под катом - примеры кода и обзор альтернативных решений

Почему вы никогда не должны использовать MongoDB

Reading time16 min
Views288K
Дисклеймер от автора (автор — девушка): Я не разрабатываю движки баз данных. Я создаю веб-приложения. Я участвую в 4-6 разных проектах каждый год, то есть создаю много веб-приложений. Я вижу много приложений с различными требованиями и различными потребностями хранения данных. Я разворачивала большинство хранилищ, о которых вы слышали, и несколько, о которых даже не подозреваете.

Несколько раз я делала неправильный выбор СУБД. Эта история об одном таком выборе — почему мы сделали такой выбор, как бы узнали что выбор был неверен и как мы с этим боролись.Это все произошло на проекте с открытым исходным кодом, называемым Diaspora.
Читать дальше →

Squeryl — простота и изящество

Reading time8 min
Views8.8K
Добрый день, хабр!

Решил написать небольшой обзор с примерами на легковесный ORM для Scala — Squeryl 0.9.5

Начнем с основных достоинств данного фреймворка.

1) Squeryl предоставляет DSL для SQL запросов. К примеру

def songs =  from(MusicDb.songs)(s => where(s.artistId === id) select(s))

def fixArtistName = update(songs)(s =>
  where(s.title === "Prodigy")
  set(
    s.title := "The Prodigy",
  )
) 


Синтаксис напоминает C# LINQ. Как вы могли заметить в запросах используются лямбда выражения, что значительно сокращает объем кода.

В данном примере метод songs возвращает объект Query[Song] который реализует интерфейс Iterable, что позволяет работать с ним как с обычной коллекцией.

Также стоит отметить, что запросы можно будет использовать в качестве подзапросов, для этого достаточно указать запрос в конструкции from вместо таблицы.
Подробности

Java Agent на службе JVM

Reading time5 min
Views62K

Наверное многие слышали или сталкивались с таким параметром JVM как -javaagent, увидеть этот параметр вы могли используя Jrebel или Plumbr это могло выглядеть например так JAVA_OPTS=-javaagent:[path/to/]jrebel.jar или так -javaagent:/path-to/plumbr.jar
Хотя javaagent появился еще в версии java 1.5, многие разработчики так никогда и не использовали возможности агентов и имеют смутное представление что это такое.
Что же это за агент? Зачем он может нам понадобиться и как написать свой?
Читать дальше →

Обзор нового образовательного набора по электронике от Амперки (Матрешка Z)

Reading time3 min
Views359K


Думаю многие слышали про компанию Амперка, это наверное единственная российская компания, кто занимается продажей наборов на базе Ардуино.

Я знал про них давно, но как-то скептически относился к бизнесу на базе Ардуино, когда рядом находится Китай, e-bay, таобао — где можно напрямую и достаточно недорого заказать Ардуино и другие комплектующие.

Но вот к нам в хакспейс попал новый набор «Матрешка Z», и я понял, что Амперка не просто продаёт Ардуино — они делают качественные образовательные наборы по электронике для начинающих.

Что же внутри?
Читать дальше →

Путешествия банковской транзакции

Reading time8 min
Views153K
image

Некоторое время назад на Хабре уже мелькали посты о работе банкоматов: один и два, но оба они описывали принципы работы банкоматов и вообще карточного процессинга весьма поверхностно.
Для интересующихся под катом много подробностей работы карточного процессинга банка (много букв).
Читать дальше →

Макросы и квазицитаты в Scala 2.11.0

Reading time8 min
Views13K
Не так давно состоялся релиз Scala 2.11.0. Одним из примечательных нововведений этой версии являются квазицитаты — удобный механизм для описания синтаксических деревьев Scala с помощью разбираемых во время компиляции строк; очевидно, что в первую очередь этот механизм предназначен для использования совместно с макросами.

Удивительно, но на хабре пока тему макросов в Scala рассматривают не слишком-то активно; последний пост
с серьёзным рассмотрением макросов был аж целый год назад.

В данном посте будет подробно рассмотрено написание простого макроса, предназначенного для генерации кода десериализации JSON в иерархию классов.
Читать дальше →

Публикация артефакта в Maven Central через Sonatype OSS Repository Hosting Service

Reading time23 min
Views23K
На написание этой статьи меня сподвигла некоторая разрозненность источников информации по такой
важной, на мой взгляд, теме, как публикация своих артефактов в Maven Central. Конечно, следует
отдать должное сотрудникам Sonatype: их официальный гайд (ссылка в конце статьи) достаточно полно
описывает весь процесс. Но в нём нет некоторых неочевидных тонкостей (вроде проблемы хранения
паролей), и он сам выглядит немного неряшливо. На русском же языке на эту тему ресурсов я не нашёл в
принципе. Лично для меня это не страшно, но многих это может остановить.

Внимание, много текста

Интересные приемы программирования на Bash

Reading time6 min
Views133K
Эти приемы были описаны во внутреннем проекте компании Google «Testing on the Toilet» (Тестируем в туалете — распространение листовок в туалетах, что бы напоминать разработчикам о тестах).
В данной статье они были пересмотрены и дополнены.
Читать дальше →

Краткий обзор open source средств резервного копирования

Reading time9 min
Views76K
Средства для резервного копирования информации можно разделить на несколько категорий:
— Для домашнего/офисного применения (резервирование важных документов, фотографий и пр. на NAS либо в облако);
— Для средних и крупных (offline) предприятий (резервирование важных документов, отчетности, баз данных и пр. как на серверах так и на рабочих станциях сотрудников);
— Для малых веб-проектов (резервирование файлов и баз данных с хостинговой площадки либо VPS/VDS на удаленный хост (или наоборот));
— Для крупных веб-проектов с распределенной архитектурой (почти то же самое, что и на offline-предприятиях только с учетом работы в глобальной сети, а не локальной, и как правило с использование open source средств).

С программными продуктами для дома и офиса все достаточно просто есть масса решений как открытых так и проприетарных, от cmd/bash скриптов до решений известных производителей ПО.
В enterprise секторе все достаточно скучно есть масса программных продуктов которые давно и успешно работают на многих предприятиях, в крупных банках и пр, рекламировать никого не будем. Многие из этих продуктов хорошо упростили жизнь системных администраторов, за достаточно «скромные деньги» по меркам некоторых предприятий.
В данной статье более подробно рассмотрим open source решения для резервного копирования веб-проектов разного масштаба, а также проведем тест на скорость резервирования файлов.
Статья будет полезна веб-мастерам, небольшим веб-студиям, ну и возможно даже бывалый админ найдет здесь что-то полезное.
Читать дальше →

Сети для самых маленьких. Часть девятая. Мультикаст

Reading time51 min
Views701K

Наш умозрительный провайдер linkmeup взрослеет и обрастает по-тихоньку всеми услугами обычных операторов связи. Теперь мы доросли до IPTV.
Отсюда вытекает необходимость настройки мультикастовой маршрутизации и в первую очередь понимание того, что вообще такое мультикаст.
Это первое отклонение от привычных нам принципов работы IP-сетей. Всё-таки парадигма многоадресной рассылки в корне отличается от тёплого лампового юникаста.
Можно даже сказать, это в некоторой степени бросает вызов гибкости вашего разума в понимании новых подходов.

В этой статье сосредоточимся на следующем:




Читать дальше →

Путеводитель по методам класса java.util.concurrent.CompletableFuture

Level of difficultyEasy
Reading time7 min
Views92K
Появившийся в Java8 класс CompletableFuture — средство для передачи информации между параллельными потоками исполнения. По существу это блокирующая очередь, способная передать только одно ссылочное значение. В отличие от обычной очереди, передает также исключение, если оно возникло при вычислении передаваемого значения.

Класс содержит несколько десятков методов, в которых легко потеряться. Данная статья классифицирует эти методы по нескольким признакам, чтобы в них было легко ориентироваться.
Читать дальше →

Классические паттерны проектирования на Scala

Reading time14 min
Views37K
Об авторе:
Pavel Fatin работает над Scala plugin'ом для IntelliJ IDEA в JetBrains.

Введение



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

Содержание статьи составляет основу моего выступления на JavaDay конференции (слайды презентации).

Читать дальше →

Хранимые функции. За и против

Reading time6 min
Views92K
Использование хранимых функций СУБД для реализации бизнес-логики или её части, всегда было камнем преткновения. С одной стороны баррикад DBA и программисты БД, с другой — разработчики backend.
Рискну навлечь на себя гнев из обоих лагерей, но всё же просуммирую плюсы и минусы и изложу свои соображения о том, когда стоит писать код в хранимых функциях, а когда следует выносить наружу.


Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity