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

Экспорт векторов из Sketch App в SVG, проблемы с кодом SVG и отображением иконок в IcoMoon

Передо мной стояла задача сделать иконочный шрифт из векторов, сделанных в Sketch App, и сгенерировать шрифт на IcoMoon.

Для этого нужно экспортировать векторные иконки из Sketch App в SVG и добавить их в Iconmoon. Но что-то пошло не так, некоторые иконки имели неожиданный вид.

image Это то, как отобразил мой SVG IcoMoon.
image А это то, на что я рассчитывала, глядя в Sketch.

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

Полноценный USB выход на D-link dir-320 A1 на Tomato

Доброго времени суток всем!

В этой статье хочу помочь владельцам достаточно популярного, но уже морально устаревшего D-link dir-320 ревизии A1 разобраться как заставить нормально работать USB в роли файлового сервера, т.к. в интернете я не нашел внятной информации как это сделать, и пришлось собирать пазл по кусочкам.

И так, роутер имеет на себе usb выход, НО… производитель решил, что использовать его нужно только для принт-сервера и не более того. В web интерфейсе родной прошивки можно выбрать только «Настройки принтера». Обновление прошивки ничего не дает.

Т.к. USB выход есть и он может делать, что либо еще кроме выдачи 5 В, то соответственно проблема только одна и это прошивка. Было решено менять.

Начнем по порядку, имелся роутер ASUS RT-N12VP без USB выхода, а так же старенький D-link dir-320 A1, цель была следующая, объединить два роутера в одну сеть и иметь сетевой диск.

Первый подводный камень «сменить прошивку на dd-wrt»

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

Написание декоратора при использовании django-export-import

Привет, Хабр! Меня зовут Павел Цвилюк, начинающий Python Developer. В ходе работы над одним из проектов я столкнулся с проблемой подключения поискового поля и выгрузки отчётов в exel в административной панели. Их необходимо было регистрировать вместе с моим классом User:

models.py
class User(models.Model):
    name=models.CharField(max_length=200)
    surname=models.CharField(max_length=200)
    email=models.EmailField()
    password=models.CharField(max_length=200)
    telephone=models.PositiveIntegerField(max_length=12,blank=True,null=True)

Так выглядел мой код, когда я попытался изначально зарегистрировать их:

admin.py
from django.contrib import admin
from .models import User
from import_export import resources
from import_export.admin import ImportExportModelAdmin

class UsersAdmin(admin.ModelAdmin):
    search_fields = ('name', 'email', 'telephone')

class UsersResource(resources.ModelResource):
    class Meta:
        model = User
        skip_unchanged = True
        fields = ('id', 'name', 'email', 'telephone')

class UserAdmin(ImportExportModelAdmin):
        resource_class = UsersResource

admin.site.register(User, UsersAdmin, UsersAdmin)

Запустив вышеописанный код я получил следующее:
admin.site.register(User, UsersAdmin, UserAdmin)
TypeError: register() takes from 2 to 3 positional arguments but 4 were given
Читать дальше →

Выкачиваем фотографии из каждого диалога ВК средствами API

Иногда бывает полезно выгрузить все фотографии из диалога ВКонтакте, руками это не сделать не просто, поэтому обратимся к API.

В документации присутствует метод messages.getHistoryAttachments — он нам и нужен. Возвращать он может не только фотографии, но и другого рода документы: аудио, видео и т.д. Но в этом примере будем рассматривать только фотографии.
Читать дальше →

bash редактируем приветствия сервера Linux

Редактируем стандартное приветствия Linux/Bash


2018_02_05_16_50_16

1. Установим дополнительные пакеты «figlet»

sudo apt-get install figlet -y  

переходим в каталог суперпользователя…

cd /root/ 

Редактируем файл .bashrc
(добавим дополнения в низ после #fi)

nano .bashrc
Читать дальше →

Для чего я создавал программу Компьютерщик

Каждый кто хоть раз работал мастером по настройки и ремонту компьютер наверняка хотел вести учёт о проделанной работе. В этом поможет программа "Компьютерщик". Здесь всё сделано для удобной работы.

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

Методы, используемые полицией, чтобы поймать торговцев наркотиками в DarkNet’е

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

Методы анализа трафика как основа проектирования IDS

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

Идентификация и распознавание воздействия на сети связи на основании анализа циркулирующего в них трафика происходит на основе использования ряда методов выявления аномалий:

  • Трендовый анализ
  • Корреляционный анализ
  • Методы на основе вейвлет-анализа
  • Методы классификаторов с использованием теории нечетких множеств
  • Анализ трафика на основе нейронных сетей
  • Методы фрактального анализа
  • Методы конечных автоматов на основе генетических алгоритмов
  • Методы на основе бионических подходов
  • Гибридные подходы

Упомянутые методы обнаружения и классификации аномалий и их комбинации используются при проектировании программно-аппаратных комплексов/систем обнаружения вторжений. Различают несколько типов IDs в зависимости от типа используемого сенсора, его расположения и методов подсистемы анализа.
Читать дальше →

Мониторинг истечения срока SSL-сертификатов сайтов

Мониторинг истечения срока SSL-сертификатов сайтов


image

Скрипт будет работать на системе Ubuntu 16.04 + Apache 2.4.18. И будет мониторинг окончания действия годности сертификатов двух сайтов SSL. К примеру, мониторинг сайта
habrahabr.ru и www.google.ru.

Очень удобное и быстрое решения за 1 минуту.

Действия №1


Для начала создам скрипт на тестовом сервере в корне пользователя

Скопируем и сохраним скрипт внизу будет описания…
nano /home/aa/ssl.sh

echo "<hr>" &&
echo "<center><strong><H1>"Монитор истечения срока SSL-сертификата "</H1></center></strong>" 
echo "<hr>" &&
echo "<p><font size="5" color="red" face="Arial">habrahabr.ru</font></p>"&&
echo habrahabr.ru  &&  echo  | openssl s_client -connect habrahabr.ru:443 2>/dev/null | openssl x509 -enddate -noout | cu\t -d '=' -f2 | xargs -I{} date -d "{}" '+%F %T' 
echo "<p>"&& 
echo "<hr>"
echo "<p><font size="5" color="red" face="Arial">www.google.ru</font></p>"&&
echo www.google.ru && echo "<strong>"  | openssl s_client -connect www.google.ru:443 2>/dev/null | openssl x509 -enddate -noout | cu\t -d '=' -f2 | xargs -I{} date -d "{}" '+%F %T'  
echo "<title>SSL</title>" 
echo "<hr>" 
echo "<meta http-equiv="Refresh" content="10" />"
date 

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

Dynamic text или как создать полезную утилиту в 60 строк кода

Доброго времени суток!


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


Итак, утилита принимает текст, заменяет ключевые слова (bash) и выводит новый текст. все очень просто.


Примеры использования:


cat yourfile.dxt | dxt

echo "currend date: $(date)" | dxt

image

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

Как я Evrial ломал

Недавно на руки мне попал новый образец, ставшего в последнее время популярным, Evrial.

О трояне
Evrial Project — MaaS (Malware as a service) троян с функционалом клиппера (подмена буфера обмена) и стиллера паролей/файлов

Сам файл файл является .NET-приложением, которое, к слову, ничем не накрыто в отличие от предыдущих версий.


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

Реверс инжиниринг 2048

Вступление


Это моя первая статья и я старался её сделать как можно интереснее.
Поэтому речь пойдёт о реверс инженеринге игры «2048» (заточенной под андроид)

Внимание
В этой статье я не буду говорить о свойствах apk, о декомпиляции dex в оп код smali и о прочих тонкостях.

Цель работы


А вот и она.

image

Инструкция


Для начала я закинул весь apk в онлайн декомпилер

ссылки на декомпилеры

Небольшое отступление


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

Проверяем существование заказа в интернет магазине при входящем звонке

В очередной раз, руководство получив большой счет за входящие звонки на номер 8800 заставило задуматься. Зачем растрачивать лишние средства на тех, кто еще ничего не купил.
Было принято решение разделить звонящих на реальных покупателей, предоставив им бесплатную линию, и интересующихся, направив их на обычную городскую линию.

Имеем: freepbx, сайт на битриксе на соседней виртуалке. Поехали!
Читать дальше →

«Честное» распределение интернет-канала между пользователями — QoS

Долгими посленовогодними вечерами довелось активно поюзать домашний интернет, в результате чего обратил внимание на некомфортную работу в интернет при одновременной работе нескольких приложений — например, торретны, ютуб и браузер. Или выгрузка файла и работа по ssh. Полез гуглить и увидел, что есть такая вещь, как QoS. У меня в маршрутизаторе установлена прошивка Gargoyle, которая очень неплохо умеет работать с QoS.

Кстати, OpenWRT, на базе которого и сделана Gargoyle, тоже работает с QoS, но там настройка несколько иная, хотя описанные ниже принципы работы QoS помогут настроить QoS и в OpenWRT.

В Горгульевской wiki нашлась статья про QoS, которая мне весьма понравилась и благодаря ей я настроил QoS на своем маршрутизаторе. Работой маршрутизатора с настроенным QoS был приятно удивлен — ни приложения, ни пользователи не мешали друг другу работать в интернет, посему я решил сделать доброе дело и перевести эту статью на русский — может быть кому-нибудь пригодится.

Вольный перевод статьи о QoS из Gargoyle wiki
Скриншоты и названия пунктов меню приведены на примере прошивки 1.10.0

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

Лямбды в массы

Лямбды в массы (о нововведениях в java 8)


Лямбды — одно из самых значимых нововведение в java 8.

Для начала разберемся с итераторами.

При использовании внешних итераторов программист учитывает общее количество записей и проходит по ним. У вас есть итератор и шаг итерации.

Внутренние итераторы управляют итерациями в фоновом режиме. Когда вы передаете объект функции методу, выполняемому над списком, это внутренний итератор.

Возьмем для примера список

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

1. Пробежимся по списку и выведем его на экран используя цикл for

System.out.println("Using foreach loop (external iterator)")
for (int i = 0; i < numbers.size(); i++) {
    System.out.println(numbers.get(i));
}

2. используя for each

System.out.println("Using lambdas <i><b>for each</b></i> (external iterator)");
for(int e:numbers){
    System.out.println(e);
}

3. Для той же задачи используем интерфейс Consumer

numbers.forEach(new Consumer<Integer>() {
    @Override
    public void accept(Integer value) {
        System.out.println(value);
    }
});

4. Используя лямбды

numbers.forEach(n -> System.out.println(n));

5. И попробуем распараллелить наш вывод

System.out.println("Using lambdas for each (external iterator) + parallel");
people.parallelStream().forEach(p -> System.out.println(p));
Читать дальше →

Корректно ли называть биткоин цифровым золотом?

Необходимым условием развития человечества являлось разделение обязанностей. Кто-то охотился, кто-то шил одежду, а кто-то делал орудия труда. Производимыми благами необходимо было обмениваться, а наиболее очевидный метод через бартер был неудобен. Разные культуры независимо друг от друга придумывали свои деньги: бобы, ракушки, камушки, соль и пр. Сами по себе «купюры» были бесполезны, но имели договорную номинальную ценность. Система работала несмотря на все недостатки: солидное богатство либо очень много весило и занимало много места, либо не делилось на требуемые части. Кроме того, такие деньги недолговечны даже по сравнению с жизнью одного человека.

Золото оказалось лишено большинства этих недостатков. Плавить золото не сложнее меди, и его легко резать или рубить. Кроме того, солидное состояние можно нести в руках. На монетных дворах начали чеканить стандартные золотые монеты, что значительно упростило расчеты. Но главным его преимуществом явилась долговечность. Со временем все больше и больше культур признали полезность золота, и оно стало по настоящему первой международной валютой. От золота перешли к Золотому стандарту, потом к Бреттон-Вудской системе. В 1970-ых от золота оторвались и родилась Ямайская система, которая и действует сегодня. Однако золото ценится по сей день, и нет оснований полагать, что статус-кво поменяется в обозримом будущем.
Читать дальше →

Border-radius: 50% против 100%

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

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

Некоторые детали реализации браузера нечеткие, наверное потому что я в действительности не читал спецификацию. Теперь все чаще я пытаюсь себя спрашивать — почему все работает именно так? И все это привело меня к моментам озарения, которыми я надеюсь поделиться с вами.
Читать дальше →

Начало работы с J-Link API для Creo Parametric

Здравствуйте! Предлагаю Вашему вниманию мой перевод статьи за авторством Бартоша Добржелецкого.


J-Link — это программный интерфейс (API) для CAD-системы PTC Creo Parametric. Он предоставляет лишь часть функциональности, доступной в более сложном Creo/TOOLKIT, основанном на C. Тем не менее, доступных вызовов достаточно для автоматизации многих задач, возникающих при работе в CAD-системах.
Читать дальше →

НЛО на зеленых лампочках* или как мы тестировали точку доступа HPE Aruba OC20 (JZ074A)

*Данное исследование — частное мнение сотрудников одного из российских дистрибуторов HPE. *
Компания Aruba (сейчас в составе HPE) известна как ведущий поставщик гибких беспроводных решений, уровня Enterprise. Мы отвлечемся от битвы Йокодзун в квадранте Гартнера и посмотрим на коробочное решение, которое HPE сделали для самых маленьких. Для Small Business. В качестве исходной задачи у нас точка доступа HPE Aruba OC20 (он же JZ074A), глазами владельца небольшого офиса, без радиообследования и тестов производительности.

Чтобы подготовиться к работе над обзором, мы попросили у представительства HPE документацию по OC20 (она же JZ074A), но полученные материалы были в стиле «если горит зеленая лампочка, значит, всё Ок». Зеленую лампочку мы включили и если вам интересно, что еще мы узнали про OC20, добро пожаловать под кат.
Читать дальше →