Архив метки: GPS

Релиз Krusader на Qt5

Наконец-то, свершилось. Наш любимый двухпанельный файловый менеджер портировали на Qt5 и KF5…

7 лет назад был последний стабильный релиз! И вот теперь разработчики представили новую версию Krusader 2.5.0

Напомню некоторые особенности:

  • Инеграция с KDE
  • Настраиваемый внешний вид
  • Настраиваемые горячие клавиши
  • Работа с архивами
  • Монтирование файловых систем
  • Работа с (S)FTP-серверами
  • Расширенный модуль поиска
  • Свой просмотрщик и редактор файлов
  • Синхронизация папок
  • Сравнение содержимого файла
  • Групповое переименование
  • Встроенный терминал
  • И многое, многое другое …

Для скачивания доступен архив с исходным кодом. Пакеты для дистрибутивов будут подготовлены в ближайшее время.

UPD: Собрал пакет, устанавливаем в Kubuntu 16.04 / Kde Neon 5.8

sudo add-apt-repository ppa:varlesh-l/ubuntu-tools
sudo apt update
sudo apt install krusaderkf5


Источник:
krusader-devel

Автор: admin

Будьте осторожны! Sparkle

Появление таких проектов, как PopcornTime, Stremio и других повлияло на появление новых программ…  с весьма сомнительным содержимым.

В Windows есть куча подобных зловредных программ, которые под видом удобного торрент-клиента с возможностью моментального поиска и просмотра видео, такие как MediaGet 2 и Zona впариваются доверчивым хомячкам. Это было уже не раз доказано и не два. Да что говорить, даже популярный uTorrent был уличен в темных делишках.
Так теперь появился еще один новый кроссплатформенный клиент Sparkle, который скачает вам фильмы, сериалы, книги, музыку и даже игры. Все это бесплатно, без регистрации и СМС, об этом написано даже в пикабу. Ой, как заманчиво, да и официальный сайт такой няшный, рука сама тянется к кнопке СКАЧАТЬ

По мимо няшного сайта, тут даже присутствуют пошаговые иллюстрированные инструкции по установке для Ubuntu.

Молодцы, похвально… Но, стоп! Где же информация о продукте?
А нету или я слепой!
Не долго думая, я обратился на технический форум и задал вопрос о разработчиках, лицензии и исходных кодах. Буквально через пару минут мой вопрос был удален модератором, не оставив и следа своего существования.
Ага, дай думаю пройдусь по ФАКу, может уже был какой-то подобный вопрос. Мало ли модератор психанул может быть… Изучая страничку вопросов и ответов я ничего похожего не нашел, но наткнулся на весьма забавный топик.

В нем говорится, что антивирусная программа определила программу как троян, а разработчик опровергает это все, ссылаясь на анализ virustotal.com. И не важно, что второй участник форума подтверждает, что программа троян, которую определил уже другой антивирус.
Ну что же ладно, вдруг антивирус ложно сработал. Бегу на их репозиторий и вижу, что для правильной работы программы нужно установить всего 4 пакета:

  • sparkle
  • sparkle-vlc
  • sqlite3-unicodesn
  • tufao1

Распотрошив каждый из них я начал изучать содержимое. И наткнулся на весьма любопытную вещь. Оказывается sparkle-vlc требует в зависимостях пакет libfreerdp-core1.1, который является Free Remote Desktop Protocol library (core library).

Т.е. программа для скачивания торрентов и просмотра видео тащит в систему библиотеки удаленного рабочего стола по протоколу RDP. Ух ты!
Но возможно я ошибаюсь, так как родной VLC тоже тащит эти библиотеки, скорее всего для вещания в сеть или по другим причинам. Я не спец по безопасности, а обычный юзер, поэтому не судите меня строго. И все-таки, действия разработчиков настораживают.
Надеюсь, что найдутся умельцы, которые смогут дизассемблеровать этот клиент и провести аудит безопасности.

А пока послесловие: Ребята, будьте осторожней. Ставьте программы только из официальных репозиториев и проверенных источников, с доступностью исходного кода!

Автор: admin

Python: Запуск Django проекта

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

Для того чтоб такое не повторялось, я создал данную заметку, которая и вам может понадобиться…

Шаг первый: Открываем калькулятор, закрываем!
Шаг номер два: Входим в виртуальное окружение Django

Шаг номер три: запускаем сервер
Для этого я должен попасть в папку в которой находится manage.py

Вот и все, сервер запущен, приложение — сайт работает!!!

Автор: Няшный Человек
Дата публикации: 2016-06-12T15:37:00.000+03:00

Python: from import для импорта пакетов

Использование инструкции import могут оказаться несколько неудобным для импортирования  пакетов,  потому  что  в  этом  случае  далее  в  программе  вам придется часто вводить полные пути для обращения к именам. В примере из предыдущего раздела, например, приходилось каждый раз вводить полный путь от dir1, когда необходимо было обратиться к переменой z. Если попытаться  непосредственно  обратиться  к  dir2 или  mod,  будет  получено  сообщение  об ошибке:
>>> dir2.mod
NameError: name ‘dir2’ is not defined
>>> mod.z
NameError: name ‘mod’ is not defined


Поэтому  для  импортирования  пакетов  часто  более  удобно  использовать  инструкцию from, чтобы избежать необходимости ввода полного имени при каждом  обращении  к  нему.  Еще  более  важно  следующее:  если  вы  когда-нибудь произведете реструктуризацию дерева каталогов, то в случае использования инструкции from достаточно будет обновить путь только в самой этой инструкции, тогда как в случае использования инструкции import придется обновлять все обращения к именам в изменившемся пакете. Расширение import as, обсуждаемое в следующей главе, поможет вам определить сокращенные синонимы
для полных путей:
% python
>>> from dir1.dir2 import mod  # Описание пути находится только в этом месте
dir1 init
dir2 init
in mod.py
>>> mod.z                      # Указывать полный путь не требуется
3
>>> from dir1.dir2.mod import z
>>> z
3
>>> import dir1.dir2.mod as mod    # Использование короткого синонима
>>> mod.z
3

Автор: Няшный Человек
Дата публикации: 2016-04-07T21:54:00.000+03:00

Python — Пример импортирования пакета

Рассмотрим практический пример программного кода, который демонстрирует, как используются файлы инициализации и пути к каталогам. Следующие три файла располагаются в каталоге dir1 и в подкаталоге dir2 – комментарии описывают пути к этим файлам:
# Файл: dir1__init__.py
Print(‘dir1 init’)
x = 1

# Файл: dir1dir2__init__.py
Print(‘dir2 init’)
y = 2

# Файл: dir1dir2mod.py
Print(‘in mod.py’)
z = 3
В данном случае каталог dir1 может быть подкаталогом нашего рабочего каталога (то есть домашнего каталога программы) или подкаталогом одного из каталогов, перечисленных в пути поиска модулей (технически, входящего в список sys.path). В любом из этих случаев для каталога, вмещающего подкаталог dir1, не требуется наличие файла __init__.py.
Инструкции  import  выполняют  файлы  инициализации  в  каждом  каталоге, которые присутствуют в пути к модулю, – инструкции print, присутствующие в этих файлах, позволят отследить их выполнение. Кроме того, как и файлы модулей, уже импортированные каталоги могут передаваться функции reload для  принудительного  повторного  исполнения  этого  единственного  элемента.
Как показано ниже, для повторной загрузки каталогов и файлов функция reload также может принимать цепочку имен, разделенных точками:


>>> import dir1.dir2.mod       # Сначала запускаются файлы инициализации
dir1 init
dir2 init
in mod.py
>>>
>>> import dir1.dir2.mod       # Повторное импортирование не выполняется
>>>
>>> from imp import reload     # Требуется в версии 3.0
>>> reload(dir1)
dir1 init

>>>
>>> reload(dir1.dir2)
dir2 init

После операции импортирования путь, указанный в инструкции import, становится цепочкой вложенных объектов. Здесь mod – это объект, вложенный в объект dir2, который в свою очередь вложен в объект dir1:
>>> dir1

>>> dir1.dir2

>>> dir1.dir2.mod

Каждый каталог в пути фактически становится переменной, которой присваивается объект модуля, пространство имен которого инициализируется всеми инструкциями присваивания в файле __init__.py, находящемся в этом каталоге. Имя dir1.x ссылается на переменную x, которой присваивается значение 
в файле dir1__init__.py, точно так же, как имя mod.z ссылается на переменную 
z, которой присваивается значение в файле mod.py:
>>> dir1.x
1

>>> dir1.dir2.y

2
>>> dir1.dir2.mod.z

3

Автор: Няшный Человек
Дата публикации: 2016-03-22T20:30:00.000+02:00

Настраиваем директорию для Django проекта

Всем привет, в этой статье я помогу вам настроить папку с проектом, и запустить свой сервер с стартовой страницей Django.
Итак для начала создайте папку в которой вы будете хранить все проекты, у меня она будет по такому пути /d/djangopro, находясь в этой директории в консоли выполняем команду virtualenv pyblog у меня создалась папка pyblog с необходимыми модулями для старта проекта. Далее заходим в папку pyblog/Scripts и выполняем команду activate — у меня она сработала в виндовой консоли.

В результате после выполнения этой команды в консоли перед путем  к папке у вас появилась такая запись (pyblog) — зависит от названия которое вы использовали в команде virtualenv. 
У меня віглядит все примерно так. Дальше нам нужно в этот проект «запихнуть» Django.
Для этого пишем pip install django==1.9.4, перед выполнением этой команды убедитесь что у вас установлен pip, это можно увидеть в папке где установлен Python и по следующему пути Python35-32Libsite-packages можно это увидеть. В случае его отсутствия его нужно установить, в текущем проекте это объяснение опустим. Если обьяснить по простому, вы выполнили надстройку над той директорией где будут лежать файлы нашего сайта.  Для следующего шага создайте папку blog в папке djangopro в консоли зайдите в нее и напишите такую команду (pyblog) D:djangoproblog> python D:djangopropyblogScriptsdjango-admin.py startproject blog. В результате после выполнения данной команды у вас в папке блог будут так сказать по простому первые файлы вашего сайта — это выясним дальше.
У меня получилось так, что в папке blog создалась еще папка blog а в ней уже появился первый файл manage.py он нам и нужен для следующей команды…
(pyblog) D:djangoproblogblog>python manage.py runserver
Если после ее запуска увидите примерно следующие строки
можно вас поздравить, вы запустили свой первый проект на Django и запустили сервер на котором его можно посмотреть введя адрес в браузере 127.0.0.1:8000 где вы увидете стартовую страницу приветствия.
Надеюсь в следующей статье разберем как подключить базу данных и уже начинать писать блог.
Спасибо за посещение, внимание и иногда за комментарии и лайки!



Автор: Няшный Человек
Дата публикации: 2016-03-17T21:29:00.000+02:00