Как стать автором
Обновить
-9
0

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

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

Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS

Время на прочтение4 мин
Количество просмотров64K
Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen.



В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество столбцов в зависимости от ширины экрана или окна браузера.

Самое крутое, что для добавления отзывчивости потребуется написать одну строчку кода на CSS
Читать дальше →
Всего голосов 79: ↑69 и ↓10+59
Комментарии38

Как Облако@mail.ru спасло все* мои файлы и что из этого вышло

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


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

А несколько месяцев назад произошло неизбежное — мой жёсткий диск с архивом приказал долго жить. К счастью, к тому времени все файлы были скопированы в облако и ничего не потерялось.
Но радоваться было рано
Всего голосов 80: ↑72 и ↓8+64
Комментарии118

Войны в песочнице – Часть 3. ARP-Spoofing, бесполезность фильтрации по MAC-адресу и опасность установки неподписанного ПО

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


Прошло чуть более года с момента публикации предыдущих статей (1, 2), и только недавно обстоятельства сложились так, что у меня появился повод для проведения новой атаки.

В этот раз физического доступа к сетевой инфраструктуре нет. Есть лишь ноутбук с доступом в интернет по Wi-Fi. Жертва – сосед по общежитию — подключена к другой точке доступа (DIR-320) по Ethernet, но пароль для подключения к точке известен почти всем, т.к. её хозяин предпочитает использовать в качестве средства разграничения доступа фильтрацию по MAC-адресам, добавляя и удаляя адреса из базы по мере необходимости. Моего MAC-адреса в списке разрешенных нет.

Ок, подключаемся, делаем несколько тестов, и видим, что фильтрация MAC-адресов происходит только на сетевом уровне, то есть точка доступа не отказывается:
  • пересылать мои фреймы в Ethernet сегмент, и доставлять ответы
  • отвечать на ARP-запросы и принимать ARP-ответы


Единственное что точка доступа отказывается делать, так это взаимодействовать с чужаком на сетевом уровне, то есть IP-адрес она мне через DHCP не выдаёт, пропинговать её нельзя и в интернет через неё тоже не выйти.

Читать дальше
Всего голосов 85: ↑85 и ↓0+85
Комментарии61

Opera переходит на сторону зла: Объявлена поддержка свойств с префиксом -webkit-

Время на прочтение1 мин
Количество просмотров7K
Мобильная Opera скоро получит поддержку префиксов -webkit- в CSS.

Изменения в первую очередь коснутся Opera Mobile и их можно будет увидеть в экспериментальной сборке Opera Mobile Emulator.

Технические детали скоро будут обговорены в отдельной блогозаписи в блоге разработчиков Opera, но разработчики отметили, что это лишь алиасы на часто используемые свойства Webkit, которые Opera уже поддерживает. Префиксы затронут Opera Core, посему сие в скором времени можно будет узреть и в Desktop, и в Mobile сборке.

Читать дальше →
Всего голосов 72: ↑52 и ↓20+32
Комментарии119

Система управления микроклиматом теплицы

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

Начало пути


Одним солнечным деньком, придя в универ, я узнал, что в этом семестре у меня курсовой по схемотехнике. Преподаватель предлагал сделать только пояснительную записку «как реализовать проект» или же познать темную сторону инженерии и создать реальное устройство. А так, как я был уже на 4ом курсе, и вспомнив, что единственный раз когда я применял на практике свои навыки инженера был на первом курсе (прикрутил к стене книжную полку), я решил «поработать ручками». После недолгих размышлений, мною была выбрана тема «Система управления микроклиматом теплицы». Скорее всего на выбор повлияла моя любовь к автоматизации процессов, или же то, что я и сам занимался разведением огурцов в теплицах. Но не будем долго тянуть — начинаем.
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии10

Что меня раздражает в MacBook

Время на прочтение8 мин
Количество просмотров111K
Я пользуюсь макбуком уже примерно 1 год, я использую его ежедневно и очень много. До этого я сидел на Ubuntu и Windows. И когда я покупал MacBook то я ожидал, что продуманность ОС и удобство пользования будут выше всяких похвал. Как никак это ведь Apple, да и завышенная цена формирует у меня завышенные ожидания по поводу качества. Но увы на практике все оказалось не настолько идеальным как я считал. Многие недочеты происходят из фундаментального подхода Apple, в котором они дизайн ставят выше удобства и очень часто получается так, что то, что они делают красивым с эстетической точки зрения не удобно использовать на практике. Вообще я сторонник того, что бы красивый дизайн не портил функциональность. Есть еще и другой класс недостатков, которые просто есть и не понятно по каким причинам Apple решила реализовать этот функционал именно так, а не иначе. Но обо все по порядку.



Читать дальше →
Всего голосов 231: ↑117 и ↓114+3
Комментарии591

О безопасности UEFI, части нулевая и первая

Время на прочтение9 мин
Количество просмотров87K
Когда-то давно, в начале 2014 года, я назвал состояние безопасности большинства реализаций UEFI "полумифическим". С тех пор минуло полтора года, дело осторожно двигается с мертвой точки, но до сих пор очень многие производители ПК для конечного пользователя не обращают на эту самую безопасность почти никакого внимания — «пипл хавает».
В этой статье речь пойдет о модели угроз и векторах атаки на UEFI, а также о защитах от перезаписи содержимого микросхемы BIOS — самой разрушительной по возможным последствиям атаки.
Если вам интересно, как устроена защита UEFI и какие именно уязвимости в ней так и остаются неисправленными на большинстве современных систем — добро пожаловать под кат.
Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии51

Ничего не работает и всем пофиг

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

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

  • На моем iPhone 4s 3 гигабайта пространства занимает что-то, что iTunes определяет как “Other”. Никто не знает, что это за “другое” и предлагается либо стереть полностью настройки, либо “удалить и добавить еще раз почтовые аккаунты”. Вообще-то это проблема для меня, потому что на устройстве всего 16 гигабайт!
  • Windows Indexing Service на моем десктопе работает уже 3 дня подряд. Решение? Удалить и пересоздать индекс. Справился всего лишь за день.
  • На каждого человека на моем iPhone приходится 4, а иногда и 5 контактов. Я их всех связал, но они все равно показываются.
  • В программе iMessage у меня есть один человек, который пишет мне и его сообщение показывается от одного из трех контактов с тем же именем. Чтобы пообщаться с ним мне нужно каждый раз узнавать от какого из “его” аккаунтов пришло сообщение.
  • У Microsoft Outlook, наверное, никогда не получалось “корректно завершиться”.

Читать дальше →
Всего голосов 363: ↑303 и ↓60+243
Комментарии393

Сети для самых маленьких. Часть четвертая. STP

Время на прочтение22 мин
Количество просмотров581K
I think that I shall never see
A graph more lovely than a tree.
A tree whose crucial propertyеу
Is loop-free connectivity.
A tree that must be sure to span
So packets can reach every LAN.
First, the root must be selected.
By ID, it is elected.
Least-cost paths from root are traced.
In the tree, these paths are placed.
A mesh is made by folks like me,
Then bridges find a spanning tree.

— Radia Joy Perlman

Все выпуски


6. Сети для самых маленьких. Часть шестая. Динамическая маршрутизация
5. Сети для самых маленьких: Часть пятая. NAT и ACL
4. Сети для самых маленьких: Часть четвёртая. STP
3. Сети для самых маленьких: Часть третья. Статическая маршрутизация
2. Сети для самых маленьких. Часть вторая. Коммутация
1. Сети для самых маленьких. Часть первая. Подключение к оборудованию cisco
0. Сети для самых маленьких. Часть нулевая. Планирование

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

Итак, сегодня обсуждаем:

  • проблему широковещательного шторма
  • работу и настройку протокола STP и его модификаций (RSTP, MSTP, PVST, PVST+)
  • технологию агрегации интерфейсов и перераспределения нагрузки между ними
  • некоторые вопросы стабильности и безопасности
  • как изменить схему существующей сети, чтобы всем было хорошо



Читать дальше →
Всего голосов 76: ↑71 и ↓5+66
Комментарии49

Какого цвета Марс?

Время на прочтение9 мин
Количество просмотров309K
Сегодня я возьмусь за тему, которая является уже избитой донельзя, но все равно устойчиво всплывает практически в любом обсуждении рунета, где фигурируют слова «Марс» и «НАСА». Поговорим о цвете Марса. Знаю, у многих уже эта тема сидит в печенках как и у меня, но я взялся за нее именно поэтому. Надо раз и навсегда разложить по полочкам все аргументы и расставить все точки.
image
Читать дальше →
Всего голосов 277: ↑268 и ↓9+259
Комментарии138

Money как Value Object

Время на прочтение4 мин
Количество просмотров13K
Описываемая проблема в статье давно и хорошо известна, поэтому она по большей части для новичков, которые не знакомы с темой.

В ПО, которое разрабатывает наша команда используются денежные значения в рублях и копейках. Мы изначально знали, что использование примитивов для выражения денежных значений — это антипаттерн. Однако по мере разработки приложения мы всё никак не могли наткнуться на проблемы связанные с использованием примитивов, нам, видимо, везло и всё было нормально. До поры до времени.
Мы совсем забыли про эту проблему и использование примитивов типа int и decimal расползлось по всей системе. И теперь, когда мы написали первый метод, в котором прочувствовали проблему, пришлось вспомнить про это технический долг и переписать всё на использование денежной абстракции вместо примитивов.
Читать дальше →
Всего голосов 24: ↑14 и ↓10+4
Комментарии50

Не учите фреймворки, учите архитектуру

Время на прочтение5 мин
Количество просмотров198K
Некоторое время назад у меня состоялся интересный разговор, коллега активно защищал Angular, говорил, что тот ускоряет веб-разработку. Я более десяти лет разрабатываю сложные web-сервисы, работал в Microsoft, в Spotware Systems на Кипре, сейчас создаю приложение для стартапа из Кремниевой долины, и в общем то слежу за трендами. Однако почувствовал себя динозавром, потому что не видел смысла использовать фронтэнд-фреймворки до того момента, а оказалось, что это уже мейнстрим. Шёл 2014-й год, я погрузился в мир Angular, Knockout и Backbone, что из этого вышло, почему я от них в итоге отказался и рекомендую коллегам сделать то же самое – под катом.
Читать дальше →
Всего голосов 152: ↑133 и ↓19+114
Комментарии123

Как IPv6 помогает роутеры ломать

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

Предисловие


Проснулся я сегодня с мыслью, что огромное количество инструкций по настройке NAT советуют использовать строку вида:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Многие понимают проблемы этой конструкции, и советуют добавлять:
iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Но, зачастую, забывают задать таблице FORWARD действие DROP по умолчанию, или добавить правило REJECT в конец таблицы.
На первый взгляд, вроде бы, все кажется нормальным. Однако, это далеко не так. Дело в том, что если не запретить маршрутизировать трафик из WAN-порта в WAN-порт, кто-нибудь из вашей WAN-сети (предположим, что провайдер садит весь подъезд в одну /24) может маршрутизировать трафик через вас, просто прописав ваш IP в качестве шлюза. Все современные SOHO роутеры это учитывают, а вот неопытный администратор, который делает роутер под обычным linux, может не знать или забыть об этом. В подсети моего провайдера таких роутеров не оказалось, и мой план по захвату мира провалился. Однако, статья совсем не об этом.

Магические двоеточия


Как вы, может быть, знаете, многие современные программы и сервисы биндятся на IP :: (два двоеточия), а не на 0.0.0.0, как было раньше. IPv6 адрес :: значит то же самое, что и IPv4 0.0.0.0, т.е. «слушаем все интерфейсы». Многие считают, что если программа слушает ::, то этот сокет может принимать только IPv6-соединения, однако это далеко не так.
В IPv6 есть так называемое отображение IPv4-адресов в IPv6 диапазон. Если программа слушает сокет ::, а к ней обращаются из IPv4-адреса 1.2.3.4, то программа получит соединение с адреса ::ffff:1.2.3.4. Этого можно избежать, сделав:
sysctl -w net.ipv6.bindv6only=1

Но это нужно далеко не всегда, т.к. обычно удобно, что программа слушает один сокет, а получать соединения может по двум протоколам сразу. Практически во всех дистрибутивах, IPv6-сокеты ведут себя именно так, т.е. bindv6only=0.
Читать дальше →
Всего голосов 115: ↑113 и ↓2+111
Комментарии36

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность