Pull to refresh
0
0
В. К. @sadyjka

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

Send message

Тест производительности: удивительно и просто

Reading time15 min
Views37K
Так сложилось, что последние полгода я активно занимался тестами производительности и мне кажется, что в этой области IT царит абсолютное непонимание происходящего. В наше время, когда рост вычислительных мощностей снизился (vertical scalability), а объем задач растет с прежней скоростью, проблема производительности становится всё острее. Но прежде, чем броситься на борьбу с производительностью, необходимо получить количественную характеристику.

Краткое содержание статьи:

Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments5

Все погодные аномалии 2015 года за 8 минут

Reading time1 min
Views18K


Привет читатели и почитатели Хабра!

На днях Европейская организация по эксплуатации метеорологических спутников (EUMETSAT) совместно с коллегами из метеорологических агентств Японии и США опубликовала видео, которое вобрало все данные наблюдений за погодой в течение ушедшего 2015 год.

Два полушария, 12 месяцев и 8 минут отличной визуализации данных ждут Вас под катом!
Ураганы, шторма и солнечные дни
Total votes 15: ↑13 and ↓2+11
Comments14

Как мы делали небольшую охранную систему на RPi. Часть 1

Reading time6 min
Views42K
Здравствуйте Хабражители!

Думаю многие из вас слышали о Raspberry Pi, более того, думаю довольно большое количество из вас видели его вживую. В начале 2014 года я решил, что пора мне тоже заказать себе парочку RPi и сделать на них что-то интересное. Так как я являюсь iOS разработчиком, я загорелся идеей обязательно прицепить к этому проекту iOS приложение. Ну и т.к. RPi довольно хорошо умеет работать со сторонним железом, я решил что сделаю небольшую охранную систему для личного пользования.



Читать дальше →
Total votes 43: ↑36 and ↓7+29
Comments19

Интеграция PayPal на сайт в качестве платежной системы и проблема с https

Reading time3 min
Views26K
Недавно предстояло сделать редизайн сайта с последующим перестроением всей CMS. В процессе работы обратил внимание на интеграцию PayPal в качестве платежной системы. О плюсах данной платежной системы или какой-то выгоде сказать однозначно не могу, выбор заказчика, ну а так как его основная деятельность Mail Forwarding (пересылка и доставка посылок из США), то ему удобней использовать данную платежную систему.

Общие статистические цифры о PayPal – 143 миллионов пользователей в 203 стран мира, хотя при этом до недавнего времени у нас в России невозможно было вывести средства на свой банковский счет.
Читать дальше →
Total votes 15: ↑4 and ↓11-7
Comments9

Подборка бесплатных инструментов для разработчиков

Reading time28 min
Views186K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

Читать дальше →
Total votes 96: ↑89 and ↓7+82
Comments38

Выбираем плагин для кэширования WordPress: бенчмаркинг 18 плагинов

Reading time7 min
Views65K


При разработке собственного сайта мы всегда хотим снизить время загрузки до минимума, и многие сделали это уже почти спортом, стараясь выгадать хотя бы 1/10 секунды. Все мы знаем, насколько важно кэширование, но существует много способов обмануть самого себя, смотря только на оценку времени загрузки. Для проведения теста мы попытались найти несколько различных кэширующих плагинов и проверить их производительность.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments21

Приручаем JMeter

Reading time6 min
Views151K
imageСегодня я хочу рассказать о замечательном инструменте, название которого вынесено в заголовок статьи. Разумеется, моей целью не является написание подробного руководства по Apache JMeter. В своей статье я хочу лишь зафиксировать ряд, на мой взгляд, не очевидных моментов, с которыми мне пришлось столкнуться в своей повседневной работе. Я надеюсь, что моя статья будет полезна (сразу предупреждаю, картинок будет много). 
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments3

Геолокация без GPS (часть 2)

Reading time4 min
Views24K
wifi Здравствуйте!
После предыдущей статьи (часть 1) я получил много отзывов о работе открытого API геолокации по WiFi и вышкам мобильных сетей.
В этот раз я хочу представить свои исправления, лицензирование проекта, геопозиционирование по нескольким точкам доступа, кейсы использования и самое главное — текущие проблемы
Узнать больше
Total votes 16: ↑13 and ↓3+10
Comments8

Мой опыт внедрения Apache Cassandra

Reading time3 min
Views56K
Как и большинство NoSQL-решений, C* подвержена одной крайне неприятной эпидемии: она является отличным инструментом для узкого класса задач, но позиционируется евангелистами как очередная серебряная пуля по хранению данных. В этой статье я расскажу о своём опыте внедрения C* в (сравнительно) нагруженный проект веб-аналитики. Она будет полезна всем, кто стоит перед выбором масштабируемого хранилища данных, и развенчает мифы и заблуждения об этом инструменте.


Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments19

Что такое TLS

Reading time9 min
Views464K
Данный текст является вольным переводом вот этой главы замечательной книги «High Performance Browser Networking» авторства Ильи Григорика. Перевод выполнялся в рамках написания курсовой работы, потому очень вольный, но тем не менее будет полезен тем, кто слабо представляет что такое TLS, и с чем его едят.

Общие сведения о TLS

Протокол TLS (transport layer security) основан на протоколе SSL (Secure Sockets Layer), изначально разработанном в Netscape для повышения безопасности электронной коммерции в Интернете. Протокол SSL был реализован на application-уровне, непосредственно над TCP (Transmission Control Protocol), что позволяет более высокоуровневым протоколам (таким как HTTP или протоколу электронной почты) работать без изменений. Если SSL сконфигурирован корректно, то сторонний наблюдатель может узнать лишь параметры соединения (например, тип используемого шифрования), а также частоту пересылки и примерное количество данных, но не может читать и изменять их.
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments20

Веб на чистой Java. Изучаем Vaadin — крутой фреймворк для создания веб-приложений

Reading time16 min
Views110K


В клиент-серверной архитектуре место Java-приложения — преимущественно на серверной стороне, при этом веб-интерфейс пишется отдельной группой фронт-енд разработчиков на JavaScript. Java не предлагает адекватных средств для создания современного веб-интерфейса (когда в последний раз ты видел Java-апплет..?) ни с точки зрения дизайна, ни с точки зрения реализации клиент-серверного взаимодействия.

А что, если бы все клиент-серверное приложение целиком писалось на Java, но его клиентская часть была бы «нативной» для браузера и соответствовала бы самым современным представлениям о юзабилити?
Читать дальше →
Total votes 27: ↑20 and ↓7+13
Comments38

Гугл предлагает усилить JSON с помощью Jsonnet

Reading time5 min
Views27K
Гугл открыла исходный код своего проекта Jsonnet, языка для конфигурации, который заменяет стандартный JSON и добавляет новые возможности без нарушения обратной совместимости. Среди таких возможностей: комментарии, ссылки, арифметические и условные операторы, массивы и работа с объектами, импорт, функции, локальные переменные. Программы на Jsonnet транслируются в совместимый с JSON формат данных.

Комментарии. Jsonnet принимает комментарии в стиле С ( /* … */ ) и С++ ( // )

Ссылки. Ключевое слово self может быть использовано для ссылки на текущий объект. Оператор $ позволяет использовать корневой объект.

Арифметические и условные операторы. Оператор + может складывать числа, строки, массивы и объекты. Операторы == и != возвращают true или false. Оператор if работает как тернарный оператор ?: в С. Далее несколько примеров с операторами языка и результат. Примеры взяты со страницы проекта.
// bar_menu.3.jsonnet
{
    foo: 3,     
    bar: 2 * self.foo,  // Multiplication.
    baz: "The value " + self.bar + " is "
         + (if self.bar > 5 then "large" else "small") + ".",
    array: [1, 2, 3] + [4],
    obj: {a: 1, b: 2} + {b: 3, c: 4},
    equality: 1 == "1",
}
Читать дальше →
Total votes 44: ↑35 and ↓9+26
Comments67

«Работа инженеров – предъявлять претензии» — Интервью с Сергеем Куксенко из Java Performance Team

Reading time28 min
Views19K
Представьте, что вы пришли на встречу JUG.ru или CodeFreeze, или например на джавовскую конференцию, на которой только что выступил Сергей Walrus Куксенко, разработчик из Java Performance Team. И вот, по какой-то причине, все остальные слушатели разбежались, а вы с Сергеем остались один на один. И внезапно, он никуда не торопится, и у него есть свободный час, чтобы ответить на ваши вопросы, коих накопилось великое множество…



Встречайте: сегодня у нас абсолютный эксклюзив — большое интервью с Сергеем Куксенко! Из интервью вы узнаете:
  • как устроена команда Java Performance
  • в каких направлениях Java сейчас ведется активная performance-работа
  • зачем нужен хардкор на джугах и конференциях
  • что должен знать performance-инженер
  • что такое хайлоад, и где проходит граница
  • что прямо сейчас происходит с джавовыми строками
  • в какую сторону эволюционируют тюнинг рантаймов




Читать текстовую версию
Total votes 43: ↑37 and ↓6+31
Comments33

Быстрая нейронная сеть для каждого

Reading time3 min
Views223K
Данная статья продемонстрирует возможность легко написать свою нейронную сеть на языке Javа. Дабы не изобретать велосипед, возьмем уже хорошо проработанную библиотеку Fast Artificial Neural Network. Использование нейронных сетей в своих Java-проектах — реально. Часто можно услышать упреки в адрес Java касательно скорости выполнения. Хотя разница не так велика — подробно об этом можно узнать в публикации «Производительность C++ vs. Java vs. PHP vs. Python. Тест «в лоб»». Мы будем использовать обертку вокруг библиотеки FANN.
Читать дальше →
Total votes 35: ↑27 and ↓8+19
Comments12

Вы неправильно пишете животных

Reading time5 min
Views358K
Животные – это платформы с очень ограниченной памятью, вычислительными способностями и возможностями модификаций. Разработчикам энимал-сцены приходится выдавать практически гениальные низкоуровневые алгоритмы. Правда, большое количество хардкода вызывает характерные проблемы с отсутствием проверки в экзотических условиях. Та же фильтрация входных данных делается очень и очень криво.


Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

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

Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
Читать дальше →
Total votes 442: ↑438 and ↓4+434
Comments351

Аквапоника своими руками с применением микроконтроллера

Reading time5 min
Views157K
image

Всем привет. Как-то на просторах Интернета мне попался интересный американский проект. Суть проекта в том, что можно выращивать различные агрокультуры, используя не почву, а, так сказать, симбиоз рыб с растениями. Получается замкнутый цикл. Вы кормите и выращиваете рыб, их продукты жизнедеятельности, растворённые в воде, являются питательной средой для растений. А эти растения, получая питательные вещества для роста из воды, очищают её. Весь процесс повторяется по кругу. Данный метод называется «аквапоника».
Читать дальше →
Total votes 112: ↑112 and ↓0+112
Comments122

Улучшение звучания колонок Sven Stream

Reading time4 min
Views100K
Доброго дня, Хабр!

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

Вот что из этого вышло...
Total votes 63: ↑57 and ↓6+51
Comments67

Анонимности нет

Reading time3 min
Views136K
Привет %username%! Хотел тебе показать и рассказать часть моего исследования расследования изучения мира сего, которое я рассказывал на конференции Zeronights 2014. Тема была о деанонимизации, но больше вопросов было именно по данным, поэтому я решил рассказать об этом отдельно.



Ну ты же в курсе, что сайты собирают данные о твоём посещении, откуда ты пришёл, куда ты уходишь, твои запросы, ip адреса? Вот ты помнишь, во сколько и какого числа ты искал.
Собственно, вот пример данных. Фичу прикрыли, пример данных в комментариях :)

Именно твоих, %username%. Если у тебя пустая страничка, возможно ты используешь плагины Ghostery, Adblock, Noscript — дай ссылку своему другу, надеюсь, ты удивишься.

Что это было?


Данные. Обычные данные о пользователях, которые собирают множество сайтов. Включают в себя поисковые запросы, браузеры, ip-адреса, посещённые сайты. По ним строится возраст, пол, интересы. И это всего лишь один из примеров, который собрала одна из множества компаний.
Хм, продолжай...
Total votes 111: ↑96 and ↓15+81
Comments83

10 вещей, которых вы не знали о Java

Reading time8 min
Views105K
Итак, вы работаете на Java с самого её появления? Вы помните те дни, когда она называлась «Oak», когда про ООП говорили на каждом углу, когда сиплюсплюсники думали, что у Java нет шансов, а апплеты считались крутой штукой?

Держу пари, что вы не знали как минимум половину из того, что я собираюсь вам рассказать. Давайте откроем для себя несколько удивительных фактов о внутренних особенностях Java.
Читать дальше →
Total votes 93: ↑91 and ↓2+89
Comments55

Как бороться с OutOfMemoryError на практике, или ох уж мне эти базы данных

Reading time17 min
Views73K
Приветствую, Хабр!
Немного лирики
Сегодня, 2015-03-21, я решил сделать пол-дела, и всё-таки начать писать статью о том, как же всё-таки начать понимать, что же делать с OOM, да и вообще научиться ковырять heap-dump'ы (буду называть их просто дампами, для простоты речи. Также я постараюсь избегать англицизмов, где это возможно).
Задуманный мной объём «работ» по написанию этой статьи кажется мне не однодневным, а посему статья должна появиться лишь через пару недель спустя день.

В этой статье я постараюсь разжевать, что делать с дампами в Java, как понять причину или приблизиться к причине возникновения OOM, посмотреть на инструменты для анализа дампов, инструмент (один, да) для мониторинга хипа, и вообще вникнуть в это дело для общего развития. Исследуются такие инструменты, как JVisualVM (рассмотрю некоторые плагины к нему и OQL Console), Eclipse Memory Analyzing Tool.
Очень много понаписал, но надеюсь, что всё только по делу :)
Читать дальше →
Total votes 50: ↑49 and ↓1+48
Comments31
1
23 ...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity