Pull to refresh
4
0
Send message

О квадратных уравнениях в правильном порядке

Reading time 4 min
Views 44K

Как вам преподавали квадратные уравнения в школе? Это был 7-8 класс, примерно. Вероятнее всего, вам рассказали что есть формулы корней через дискриминант, что направление ветвей зависит от старшего коэффициента. Через пару занятий дали теорему Виета. Счастливчикам еще рассказали про метод переброски. И на этом решили отпустить.

Читать далее
Total votes 103: ↑99 and ↓4 +95
Comments 88

Умный дом, опыт построения, бег по граблям (MajorDomo, Tasmota и Алиса)

Reading time 8 min
Views 81K

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

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

Подробности тут
Total votes 19: ↑19 and ↓0 +19
Comments 73

Взлом Wi-Fi-сетей, защищённых WPA и WPA2

Reading time 3 min
Views 238K
Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как взломать Wi-Fi-сеть, для защиты которой используются протоколы WPA и WPA2.


Статья написана исключительно в ознакомительных целях

Читать дальше →
Total votes 61: ↑44 and ↓17 +27
Comments 53

VPS на Linux с графическим интерфейсом: запускаем сервер X2Go на Ubuntu 18.04

Reading time 4 min
Views 31K

Настройку VNC и RDP на виртуальном сервере мы уже освоили, осталось изучить еще один вариант подключения к виртуальному рабочему столу Linux. Возможности созданного компанией NoMachine протокола NX достаточно интересны, к тому же он хорошо работает через медленные каналы. Фирменные серверные решения стоят дорого (клиентские бесплатны), но существует и свободная реализация, о которой пойдет речь в этой статье — система X2Go. Она отпочковалась от проекта с открытым исходным кодом FreeNX, когда NoMachine прекратила его поддерживать и отпустила в свободное плавание.
Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Comments 14

В одной лодке с «ублюдком»: 11 продвинутых советов по использованию Git

Reading time 11 min
Views 51K

*"ублюдок" — вольный перевод слова "git" — "an unpleasant or contemptible person", "неприятный или презренный человек".



В комментариях к статье 15 базовых советов по Git для эффективной работы каждый день развернулась дискуссия на тему эффективности использования тех или иных команд и опций. Надо признать, что git предоставляет столько различного функционала, что во-первых, за всем становится невозможно уследить, а во-вторых, его можно совершенно по-разному вписывать в рабочий процесс.


Давайте посмотрим, что можно использовать, чтобы улучшить себе жизнь. Статья предполагает, что читатель умеет пользоваться основными возможностями git и понимает что делает, когда, скажем, вводит в консоль git rebase --merge --autostash.

Читать дальше →
Total votes 105: ↑100 and ↓5 +95
Comments 26

Реализуем интересный эффект с помощью Anime.js

Reading time 3 min
Views 6.6K


Доброго времени суток, друзья!

В этой статье, как следует из названия, мы займемся реализацией одного занимательного эффекта с использованием одной любопытной библиотеки (anime.js). Я не буду петь дифирамбы этой библиотеке, но тем, кто плотно занимается анимацией, определенно стоит обратить на нее внимание. Простой интерфейс + отличная документация, что еще нужно для творчества?

По материалам этой замечательной статьи.

Автор указанной статьи назвал свой эффект «Анимация следа из частиц» (Particle Trail Animation).



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

Во-первых, сделаем частицы разноцветными. Потому что один цвет — это скучно.

Во-вторых, анимация будет запускаться по клику. Потому что бесконечная анимация раздражает.

В-третьих, привяжем центр анимации (спирали) к месту клика. Потому что пользовательский опыт прежде всего.

Мы не будем использовать холст (canvas). Анимироваться будет множество маленьких блоков (div).

Итак, поехали (как сказал Гагарин, отправляясь в космос).
Total votes 7: ↑5 and ↓2 +3
Comments 2

Hive — быстрая локальная база для Flutter, Dart

Reading time 7 min
Views 35K

Примерно месяц назад общаясь с одним разработчиком приложения на Flutter встала проблема торможения обработки маленьких (в десятках тысяч) массивов данных на телефоне юзера.


Многие приложения предполагают обработку данных на телефоне и, далее, их синхронизацию с бэкендом. Например: списки дел, списки каких либо данных (анализов, заметок и т.п.).


Совсем не круто, когда список всего нескольких тысяч элементов, при удалении одного из них и далее записи в кеш или при поиске по кешу — начинает тормозить.


Решение есть! Hive — noSql база, написанная на чистом Dart, очень быстрая. Кроме этого плюсы Hive:


  • Кросс-платформенность — так как на чистом Dart и нет нативных зависимостей — mobile, desktop, browser.
  • Высокая производительность.
  • Встроенное сильное шифрование.

В статье мы посмотрим как использовать Hive и сделаем простое ToDo приложение, которое в следующей статье дополним авторизацией и синхронизацией с облаком.


Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Comments 29

Выбираем флеш-карты: подробное руководство по разновидностям Secure Digital

Reading time 10 min
Views 51K


При выборе жесткого диска у «продвинутого» покупателя обычно не возникает особых проблем. Взять тот же WD6003FZBX на 6 ТБ: скорость вращения шпинделя 7200 оборотов в минуту, вместительный кэш в 256 мегабайт и наличие высокоскоростного интерфейса SATA III с пропускной способностью 6 Гбит/с красноречиво свидетельствуют о том, что перед нами высокопроизводительное решение, способное удовлетворить нужды как заядлых геймеров и энтузиастов, так и профессионалов. Единственный нюанс, который здесь необходимо учитывать, заключается в том, что показатель 6 Гбит/с — это пропускная способность самой шины: хотя скорость передачи информации из кэша в систему составляет 550 МБ/с, реальная скорость обмена данными между системой и накопителем для рассматриваемой модели достигает 227 МБ/с, что все равно является превосходным результатом для классических винчестеров. Впрочем, об этом и так знает практически любой технически подкованный пользователь ПК.

Когда же речь заходит о флеш-картах, в тупик может зайти даже бывалый админ. За примерами далеко ходить не надо: достаточно открыть страницу карты памяти SanDisk Extreme PRO UHS-I. Помимо привычных строк «скорость чтения: до 170 МБ/с» и «скорость записи: до 90 МБ/с», в спецификациях красуется таинственная надпись «скорость видео: C10, U3, A2, V30». Но позвольте, мы уже знаем скоростные характеристики продукта. Зачем нужны еще какие-то непонятные классы скорости, да еще и в количестве четырех штук? И в чем вообще состоит принципиальное отличие перечисленных показателей друг от друга? Именно в этих вопросах нам предстоит разобраться в сегодняшнем материале.
Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Comments 31

Роботаракан Петя за десять баксов

Reading time 10 min
Views 29K

Знакомьтесь с Петей, шестиногом о трёх сервоприводах


Продолжаю публикацию статей из серии "ардуино головного мозга". Петя — это очень дешёвый (примерно десять баксов) гексапод. Он может быть прекрасным проектом на один ненастный выходной, который развлечёт как и взрослых, так и детей. Раз уж мы про развлечения, вот вам видеоролик с Петей, танцующим под фанк-музыку:


Читать дальше →
Total votes 104: ↑104 and ↓0 +104
Comments 48

Ещё пять идей, как прокачать свое мастерство фронтенд-разработчика (декабрь 2019)

Reading time 2 min
Views 7.4K
Цель публикации — подкуинуть несколько идей, что можно повторить, чтобы повысить свое мастерство front-end разработчика. Это просто идеи, без исходников и туториалов, что немного усложняет задачу, но прививает более самостоятельный подход к обучению.

Предыдущий полный список идей: Front-end додзё: проекты для тренировки навыков разработчика (5 новых + 43 старых)

1.Динамическое меню


Посмотрите, как это круто, когда кликаешь в меню и контент уменьшается.

image

motrix.app

Чему научитесь:

  • CSS переходы и анимации.
  • Как изменить компоновку и содержимое.
  • Как гармонично использовать HTML и JavaScript, чтобы добавить интерактивность на ваш сайт.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 4

Front-end додзё: проекты для тренировки навыков разработчика (5 новых + 43 старых)

Reading time 15 min
Views 44K

1. Клон Notion


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

image

www.notion.so

Чему вы научитесь, создавая клон Notion:

  • HTML Drag and drop API. Пользователь может «схватить мышкой» draggable элемент и поместить его в droppable зону.
  • Как синхронизировать в режиме реального времени данные между компьютером и смартфоном.
  • Мы позволяем пользователям создавать, читать, обновлять и удалять записи, тем самым мы тренируем CRUD-навыки.

Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Comments 7

Графический интерфейс на Python за 5 минут

Reading time 4 min
Views 289K
image

Python легко использовать. В нем вы можете найти огромное количество библиотек для чего угодно. И это его основное преимущество. Из нескольких строк кода вы ничего не сделаете. Если вам нужны скрипты для личного пользования или для технически подкованной аудитории, то вам даже не придется думать о графическом интерфейсе.

Однако иногда ваша целевая аудитория не сильно подкована технически. Люди не против использовать ваши скрипты на Python до тех пор пока им не нужно смотреть на одну строку кода. В таком случае скриптов командной строки будет недостаточно. В идеале вам нужен графический интерфейс. Цель этого поста использовать только Python.

Библиотеки Python, которые можно использовать для графического интерфейса


По сути, есть 3 большие библиотеки Python для графического интерфейса; Tkinter, wxPython и PyQT. Рассматривая их, я не нашел там ничего из того, что мне нравится в Python. Библиотеки Python, как правило, очень хорошо абстрагируются от супер-технических моментов. Если бы мне нужно было работать с объектно-ориентированным программированием, я мог бы с таким же успехом загрузить Java или .Net.
Читать дальше →
Total votes 28: ↑25 and ↓3 +22
Comments 9

'Hello World' вам в облако

Reading time 69 min
Views 25K

Мир сходит с ума, заталкивая калькулятор для 2+2 в облака. Чем мы хуже? Давайте Hello World затолкаем в три микросервиса, напишем пару-тройку тестов, обеспечим пользователей документацией, нарисуем красивый пайплайн сборки и обеспечим деплой в условный облачный прод при успешном прохождении тестов. Итак, в данной статье будет показан пример того, как может быть построен процесс разработки продукта от спецификации до деплоя в прод. Инетересно? тогда прошу под кат

Total votes 66: ↑65 and ↓1 +64
Comments 47

Строим домашний CI/CD при помощи GitHub Actions и Python

Reading time 12 min
Views 58K

Как то вечером, придя домой с работы, я решил немного позаниматься домашним проектом. Я сделал несколько правок и сразу захотел поэкспериментировать с ними. Но до экспериментов мне пришлось заходить на VPS, пулить изменения, пересобирать контейнер и запускать его. Тут я и решил, что пора разобраться с непрерывной доставкой.

Читать дальше →
Total votes 33: ↑32 and ↓1 +31
Comments 15

Заворачиваем весь трафик локальной сети в vpn без ограничения скорости

Reading time 5 min
Views 75K

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

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

Итак, каковы наши цели:

  • пропускать через VPN весь без исключения исходящий трафик
  • делать это с максимально возможной скоростью
  • не зависеть от временных неполадок VPN-провайдера
  • максимум анонимности в Интернете
Читать дальше →
Total votes 25: ↑20 and ↓5 +15
Comments 23

Подбор пароля Wi-Fi утилитой aircrack-ng

Reading time 4 min
Views 277K
Данная статья написана исключительно в ознакомительных и исследовательских целях. Призываем вас соблюдать правила работы с сетями и закон, а также всегда помнить об информационной безопасности.

Введение


В начале 1990-х годов, когда Wi-Fi только появился, был создан алгоритм Wired Equivalent Privacy, который должен был обеспечивать конфиденциальность Wi-Fi сетей. Однако, WEP оказался неэффективным алгоритмом защиты, который легко взломать.

На смену пришел новый алгоритм защиты Wi-Fi Protected Access II, который сегодня применяют большинство точек доступа Wi-Fi. WPA2 использует алгоритм шифрования, AES, взломать который крайне сложно.
Читать дальше →
Total votes 49: ↑26 and ↓23 +3
Comments 30

WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti

Reading time 10 min
Views 30K


Уже были описаны некоторые примеры организации корпоративного WiFi. Здесь я распишу как реализовал подобное решение и проблемы с которыми пришлось столкнуться при подключении на разных устройствах. Будем использовать уже имеющийся LDAP с заведенными пользователями, поднимем FreeRadius и настроим WPA2-Enterprise на контроллере Ubnt. Вроде все просто. Посмотрим…
Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Comments 6

Знакомство с виртуальными интерфейсами Linux: туннели

Reading time 8 min
Views 44K
Linux поддерживает множество видов туннелей. Это запутывает новичков, которым бывает сложно разобраться в различиях технологий, и понять то, каким туннелем лучше воспользоваться в конкретной ситуации. В материале, перевод которого мы сегодня публикуем, будет дан краткий обзор часто используемых туннельных интерфейсов ядра Linux. Сильно углубляться в эту тему мы не будем, рассмотрев лишь общие особенности туннелей и варианты их использования в Linux.



Автор этого материала полагает, что то, о чём пойдёт здесь речь, может быть интересно всем, кто имеет какое-то отношение к управлению компьютерными сетями. Список туннельных интерфейсов, а также справочные сведения о конкретной конфигурации можно получить с помощью iproute2-команды ip link help.

Здесь будут рассмотрены следующие часто используемые интерфейсы: IPIP, SIT, ip6tnl, VTI и VTI6, GRE и GRETAP, GRE6 и GRE6TAP, FOU, GUE, GENEVE, ERSPAN и IP6ERSPAN.

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

Где находился Ваш дом миллионы лет назад

Reading time 2 min
Views 61K


Виртуальный геохронологический глобус, на котором можно увидеть, как выглядела поверхность нашей планеты в разные эры (Нео-протерозой, Палеозой, Мезозой, Кайнозой), начиная от временного промежутка в 750 миллионов лет назад.
Читать дальше →
Total votes 67: ↑65 and ↓2 +63
Comments 50

Information

Rating
Does not participate
Registered
Activity