Как стать автором
Обновить
25
0
Oleksii Leonov @shaze

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

Отправить сообщение

Как написать (игрушечную) JVM

Время на прочтение10 мин
Количество просмотров7.3K
Статья про KVM оказалась интересной для читателей, поэтому сегодня публикуем новый перевод статьи Serge Zaitsev: как работает Java Virtual Machine под капотом.

Нравится нам это или нет, но Java — один из наиболее распространенных и широко используемых языков программирования. Однако не каждый Java-разработчик настолько любопытен, чтобы заглянуть под капот и посмотреть, как устроена JVM.

Я попытаюсь написать игрушечную (и неполную) JVM, чтобы показать основные принципы ее работы. Надеюсь, эта статья вызовет у вас интерес и вдохновит на дальнейшее изучение JVM.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии2

DockerHub взломан

Время на прочтение2 мин
Количество просмотров35K


Несколько часов назад некоторым пользователям DockerHub разослали письма следующего содержания:

«В четверг, 25 апреля 2019 года, мы обнаружили несанкционированный доступ к одной из баз данных DockerHub, в которой хранится часть нефинансовых данных пользователей. После обнаружения мы сразу же предприняли всё необходимое для того, чтобы обезопасить данные пользователей.

И сейчас мы хотели бы поделиться той информацией, которую нам удалось обнаружить в ходе расследования, включая то, какие аккаунты DockerHub были затронуты и какие действия сейчас стоит предпринять их владельцам.
Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии16

6 причин, по которым вам не стоит писать функциональные спецификации

Время на прочтение3 мин
Количество просмотров15K
Небольшое эссе из книги «Getting Real», написанной сотрудниками компании 37signals. Оригинал можно прочитать здесь.

Спецификация — это абстрактный документ, в большинстве случаев не имеющий ничего общего с готовым программным продуктом. Почему? С удовольствием объясним:

1. Спецификация — это фикция

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

Читать дальше →
Всего голосов 64: ↑48 и ↓16+32
Комментарии121

Уязвимость в BMC-контроллере Supermicro позволяет получить доступ к паролям управляющего интерфейса

Время на прочтение1 мин
Количество просмотров31K
image
В BMC (Baseboard Management Сontroller) чипе, используемом в материнских платах Supermicro, выявлена уязвимость, позволяющая злоумышленнику получить доступ к паролям входа в управляющий интерфейс. Проблема вызвана тем, что содержимое файла с паролями выводится среди бинарного блока данных, который можно получить без аутентификации через сетевой порт 49152. Техника эксплуатации очень проста, достаточно подключиться к порту 49152 и выполнить команду «GET /PSBlock». Пароли выдаются в открытом виде, без хэширования.

Выявившие уязвимость исследователи безопасности предупреждают, что им удалось обнаружить в сети 31964 серверов, подверженных данной проблеме, при этом на 3296 (10%) из этих систем применялись пароли, заданные по умолчанию. Предоставляемый BMC-контроллером IPMI-интерфейс предоставляет средства для мониторинга и управления оборудованием, в том числе позволяет отслеживать состояние датчиков, управлять питанием, прошивками и дисками, удалённо загрузить на сервере собственную ОС по сети, организовать работу консоли удалённого доступа для атаки на базовую ОС и изменения настроек BIOS.

Проверить свой сервер можно банально подключившись к уязвимому порту с помощью telnet:
telnet ip_ipmi 49152

далее
GET /PSBlock

если Вы в тексте ответа увидели свои пароли, то Вам стоит задуматься об обновлении прошивок.

Источник...

upd:
Скачать обновления прошивки, можно по ссылке.
Всего голосов 29: ↑29 и ↓0+29
Комментарии31

Простой способ защиты от классического HTTP DDoS

Время на прочтение5 мин
Количество просмотров35K
Данное решение позволяет вычислять любых ботов, за исключением тех, которые полностью имитируют работу браузера.

Как это работает


Бот запрашивает страницу, например habrahabr.ru/search. Бот не умеет загружать вместе со страницей картинки, скрипты, css и пр. Значит в логе будет отображен запрос к /search/ и всё.
Если на habrahabr.ru/search заходит живой человек через браузер, то вместе с /search/ в лог попадет множество картинок, скриптов, css и пр.
Читать дальше →
Всего голосов 113: ↑71 и ↓42+29
Комментарии109

Геометрические фигуры на CSS

Время на прочтение4 мин
Количество просмотров943K
Отличная подборка, как нарисовать различные геометрические фигуры одним элементом HTML.

Квадрат



#square {
	width: 100px;
	height: 100px;
	background: red;
}

Читать дальше →
Всего голосов 351: ↑327 и ↓24+303
Комментарии103

Летняя Школа в КПИ AACIMP-2011

Время на прочтение1 мин
Количество просмотров622
Summer School in KPIКаждый год мы с друзьями ходим в баню организовываем Летнюю Школу в КПИ AACIMP («Achievements and Applications of Contemporary Informatics, Mathematics and Physics»).
В рамках Школы мы пытаемся на 2 недели собрать классных лекторов из разных стран, чтобы они рассказали нашим участникам о последних достижениях науки и современных технологиях. Тем самым мы стремимся показать, что наука может быть интересна, а отдыхать летом можно с пользой для своих мозгов.
Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии0

Связка rvm + Rails + Nginx + Unicorn или деплоим рельсы правильно

Время на прочтение9 мин
Количество просмотров54K
Целью данной заметки я ставлю в подробностях описать организацию сервера для Rails приложений в самой популярной на данный момент связке: rvm + Rails + Nginx + Unicorn. К написанию статьи побудило отсутствие полной пошаговой документации по этой связке, понятной не только ядреным профессионалам этой области. Далее я попытаюсь подробно, шаг за шагом, описать идеологически правильный процесс организации сервера для обслуживания нескольких Rails приложений (на примере одного) — если у вас есть абсолютная уверенность в том, что на подопытной машине никогда не будет работать более одного приложения — настройка может быть существенно короче и проще. Хочу предупредить, что тонкости, касающиеся работы приложения под высокой нагрузкой в статье не описываются, т.к. цель ставилась иная — заставить работать приложение в связке и сократить количество конфликтов с другими приложениями до минимума.
Читать дальше →
Всего голосов 68: ↑63 и ↓5+58
Комментарии135

Принцип цикады и почему он важен для веб-дизайнеров

Время на прочтение6 мин
Количество просмотров228K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →
Всего голосов 696: ↑682 и ↓14+668
Комментарии119

Введение в Cappuccino

Время на прочтение10 мин
Количество просмотров5K
Фреймворк Cappuccino – уникальная технология, позволяющая создавать веб-приложения десктопного качества. Он абстрагирует DOM и вместо него предоставляет Cocoa-подобный API. Вместо того, чтобы возиться с CSS-версткой и кроссбраузерными проблемами, вы используете интерфейсы, специально созданные для разработки приложений, а не статических страниц, интерфейсы, взятые с платформ Mac OS X и iOS.

Я заметил, что на русском языке почти нет обучающих материалов о Cappuccino, и решил восполнить пробел. Этот очерк рассчитан на то, чтобы прочитав его, можно было сразу приступать к разработке своего первого Cappuccino приложения. Я познакомился с фреймворком, когда искал средство для реализации онлайновой среды разработки для своего проекта Akshell. Мне нужно было сделать полнофункциональную IDE, работающую в окне браузера, и Cappuccino отлично справился с поставленной задачей.
Читать дальше →
Всего голосов 96: ↑93 и ↓3+90
Комментарии53

Новый пуленепробиваемый синтаксис @font-face

Время на прочтение3 мин
Количество просмотров71K
С самого начала «вебошрифтовой революции» мы полагались на неизящные хаки деклараций @font-face, чтобы шрифты из Паутины загружались во всех браузерах. Может ли существовать лучший путь? Вполне изящный и совместимый с будущими браузерами?

Вкратце об истории вопроса


В сентябре 2009 года Пол Айриш (Paul Irish) огласил пуленепробиваемый синтаксис для записи деклараций @font-face. Синтаксис был компактным и в то время действовал во всех браузерах. Недавно стали поступать, со временем усиливаясь, жалобы на отказ шрифтов загружаться в Android — поэтому мы стали вместо того рекомендовать синтаксис «Mo' Bulletproofer», сочинённый Ричардом Финком (Richard Fink). К сожалению, синтаксису «Mo' Bulletproofer» требуется двойная запись деклараций, так что поддержка его сложнее.

Синтаксис Fontspring @Font-Face


А вот таким этому коду следовало бы быть с самого начала. Чистым, ясным и простым:
@font-face {
	font-family: 'MyFontFamily';
	src: url('myfont-webfont.eot?') format('eot'), 
	     url('myfont-webfont.woff') format('woff'), 
	     url('myfont-webfont.ttf')  format('truetype'),
	     url('myfont-webfont.svg#svgFontName') format('svg');
	}

Что? Я не понял.


Хак Трюк, заставляющий этот код заработать — символ «?» вслед за именем файла EOT. Без шуток.

Как это срабатывает


Читать дальше →
Всего голосов 141: ↑132 и ↓9+123
Комментарии42

Верстка почтовых рассылок

Время на прочтение6 мин
Количество просмотров71K
Привет, Хабр!

В этой статье я бы хотел поделиться своими познаниями в кроссбраузерной и кроссмейлерной верстке почтовых рассылок. Под словом кроссмейлерность подразумевается — корректное отображение верстки во всех почтовых клиентах. Я считаю, что статья вполне актуальна, в виду того, что на хабре эта тема несколько раз освещалась, но некоторые нюансы были неточными, а другие просто устарели. По долгу службы я долгое время занимался версткой html расылок по всему миру, и приведенные ниже правила будут касаться следующих почтовых клиентов и веб-интерфейсов: MS Outlook 2003-2010, mail.ru, rabmler почта, Яндекс почта, Gmail, Yahoo! Mail (Classic), Thunderbird 2.0-3.0, Hotmail, Windows Live Mail, Apple Mail 3-4, AOL Mail, Lotus Notes 8-8.5.
Читать дальше →
Всего голосов 150: ↑146 и ↓4+142
Комментарии81

Виртуализация Juniper JunOS в среде GNS3

Время на прочтение4 мин
Количество просмотров35K
image

Вступление


В телекоммуникации можно наблюдать одно неоспоримое явление, связанное с техническим персоналом – его становится все меньше, при этом требования к конкретным специалистам возрастают. В те периоды, когда цифровые системы коммутации на телефонных станция оставались фантастикой, штат сотрудников станции включал значительное число электромехаников. Многие операции по переключению абонентов, изменению нумерации, созданию новых направлений выполнились «руками», в последствии при переходе на цифровые системы большинство действий стали решаться программно, с привлечение меньшего числа персонала. Аппаратно-программные комплексы развивались и совершенствовались и становились сложнее и требования с инженеру возрастали.
Под катом много снимков экрана.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии19

Повышение производительности netfilter, использование ipset

Время на прочтение3 мин
Количество просмотров38K
iptables — интерфейс к файрволу Linux (netfilter). При большом количестве правил iptables нагрузка может быть достаточно высокой и создавать проблемы. В этой заметке я постараюсь описать, что влияет на производительность iptables и как ее повысить.
Читать дальше →
Всего голосов 70: ↑69 и ↓1+68
Комментарии17

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

Время на прочтение2 мин
Количество просмотров115K
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
Читать дальше →
Всего голосов 262: ↑246 и ↓16+230
Комментарии78

Прикручиваем клевые шрифты с помощью @font-face

Время на прочтение3 мин
Количество просмотров43K
Недавно столкнулся с задачей прикручивания достаточно необычного шрифта для мобильного веб клиента. Так как работа была под айфон, то я решил, что в этой задаче мне поможет css 3 и такая штука как @font-face. Пользу от такого способа решения задачи, я думаю, видят все, потому что:
  • сохраняется поиск по тексту, потому что это текст, а не картинка;
  • появляется возможность использовать онлайн-переводчики и разные фишки связанные с текстом;
  • никто не отменяет для нас использование line-height, letter-spacing, text-shadow,text-align, и селекторов вида ::first-letter и ::first-line

Читать дальше →
Всего голосов 98: ↑88 и ↓10+78
Комментарии48

30 комплектов иконок в стиле минимализм

Время на прочтение1 мин
Количество просмотров47K
image

Минимализм — стиль в дизайне, характеризующийся лаконичностью выразительных средств, простотой, точностью и ясностью композиции. Отвергая классические приемы творчества и традиционные художественные материалы, минималисты используют промышленные и природные материалы простых геометрических форм, нейтральных цветов (черный, серый) и малых объемов.
Эти значки идеально подходят для проектов, которые направлены на контент и типографику.
Читать дальше →
Всего голосов 171: ↑160 и ↓11+149
Комментарии41

Информация

В рейтинге
Не участвует
Откуда
Украина
Дата рождения
Зарегистрирован
Активность