Search
Write a publication
Pull to refresh
0
0

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

Send message

Практические советы, примеры и туннели SSH

Reading time13 min
Views256K

Практические примеры SSH, которые выведут на новый уровень ваши навыки удалённого системного администратора. Команды и советы помогут не только использовать SSH, но и более грамотно перемещаться по сети.

Знание нескольких трюков ssh полезно любому системному администратору, сетевому инженеру или специалисту по безопасности.
Читать дальше →

Список статей и литературы про NAS

Reading time7 min
Views26K


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


В этой статье собраны ссылки на большую часть материалов, которые я использовал. По мере накопления и обработки материалов, тут может появиться что-то новое.

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

Создание игр на Python 3 и Pygame: Часть 1

Reading time8 min
Views365K
Многие разработчики приходят в разработку ПО, потому что хотят создавать игры. Не все могут стать профессиональными разработчиками игр, но любой может создавать собственные игры из интереса (а может быть, и с выгодой). В этом туториале, состоящем из пяти частей, я расскажу вам, как создавать двухмерные однопользовательские игры с помощью Python 3 и замечательного фреймворка PyGame.

(Остальные части туториала: вторая, третья, четвёртая, пятая.)

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

Мы реализуем следующие функции и возможности:

  • простые стандартные GameObject и TextObject
  • простой стандартный Game object
  • простая стандартная кнопка
  • файл конфигурации
  • обработка событий клавиатуры и мыши
  • кирпичи, ракетка и мяч
  • управление движением ракетки
  • обработка коллизий мяча с объектами игры
  • фоновое изображение
  • звуковые эффекты
  • расширяемая система спецэффектов

Не стоит ожидать, что игра будет очень красива графически. Я программист, а не художник, меня больше интересует эстетика кода. Созданный мной дизайн может неприятно удивить. С другой стороны, у вас будут почти неограниченные возможности по улучшению графики этой версии Breakout. Если вы отважитесь повторять за мной, посмотрите на скриншот:


Готовый исходный код выложен здесь.
Читать дальше →

Развёртывание DNS/DDNS и DHCP сервера на ROSA Enterpise Linux Server за несколько минут

Reading time8 min
Views27K
Вступление.

В данной статье будет описано развёртывание стандартного сервера DNS и сервера DHCP в ЛВС вашей компании, а также сервера с поддержкой технологии динамического DNS. Обе этих темы будут последовательно рассмотрены в описываемом материале на примере ROSA Enterprise Linux Server (далее RELS) и инструментов с ним идущих. Это первая статья из серии, описывающей применение RELS в условиях реальных предприятий.

Зачем оно надо?

Для постоянно обитающей здесь публики не будет секретом, что рано или поздно системным администраторам с ростом инфраструктуры приходится сталкиваться с тем, что имеющимся хозяйством надо как-то управлять. Самое логичное решение — внедрение серверов DNS и DHCP внутри интрасети. Но тогда встаёт другой вопрос, как это можно поддерживать быстро и просто, без долгого и мучительного чтения документации по серверу BIND, dhcpd и траты времени на написание скриптов которые будут худо-бедно синхронизировать работу этих двух демонов? В идеале нам требуется настроить всё один раз и более не притрагиваться к этому. То есть, всё должно быть максимально автоматизировано.
В RELS для решения этой задачи имеется удобный и весьма простой инструмент для настройки серверов DHCP и DNS серверов, коим мы и воспользуемся.
В качестве бонуса, я расскажу и покажу как можно очень удобно организовать управление локальной сетью с помощью DHCP и DynamicDNS.
Читать дальше →

VPN: прошлое, настоящее, будущее

Reading time6 min
Views28K
image

Термины «frame relay», «packet switching» и «dial-up» в 80-х и 90-х годах звучали странновато, но именно эти технологии были той основой, которая делала возможным удаленные соединения типа точка-точка и на основе которой было разработано множество сетевых технологий энтерпрайз-уровня. Пройдя путь от доисторических протоколов вроде X.25, люди теперь используют сети, подключенные к интернету, для создания связей данных в том месте и в то время, когда это необходимо.

Интернет не только объединил человечество, но и позволил создавать выделенные связи, которые более востребованы в корпоративной среде. Виртуальные частные сети (VPN) работают «поверх» публичных соединений, при этом скрывая содержимое коммуникации — это очень удобно и функционально. На практике VPN используется для соединений удаленных точек — пользователей, баз данных или целых офисов — с защищенной сетью предприятия. VPN гораздо дешевле покупки выделенного канала связи, а его удобство делает эту технологию отличным выбором для бизнеса практически любого размера.
Читать дальше →

Оптимизации, используемые в Python: список и кортеж

Reading time4 min
Views58K
В Python, есть два похожих типа — список (list) и кортеж (tuple). Самая известная разница между ними состоит в том, что кортежи неизменяемы.

Вы не можете изменить объекты в tuple:

>>> a = (1,2,3)
>>> a[0] = 10
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

Но вы можете модифицировать изменяемые объекты внутри кортежа:

>>> b = (1,[1,2,3],3)
>>> b[1]
[1, 2, 3]
>>> b[1].append(4)
>>> b
(1, [1, 2, 3, 4], 3)
Читать дальше →

Трассировка печатной платы в KiCAD

Reading time8 min
Views122K


Введение



Одним из критических замечаний к предыдущей статье было следующее: дескать фу таким быть, стрелять из пушки по воробьям да ещё проприетарным софтом за 10000$, к тому же наверняка украденным с торрентов. Оставляя за кадром моральную сторону вопроса, а так же презумпцию невиновности, обратимся к следующему вопросу — а что там у нас имеется в Open Source секторе, пригодное для решения задач проектирования электронной техники. В частности изготовления печатных плат. Наиболее достойной, на мой взгляд, оказалась кроссплатформенная программа KiCAD, распространяемая по лицензии GNU GPL. Имеются версии для Linux, Windows и macOS.

Рассмотрим этот инструмент подробнее применительно к уже решенной мною задаче — трассировке печатной платы для преобразователя уровней на базе MAX232.

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

Лайфхаки изготовления двухслойных плат (ЛУТ)

Reading time8 min
Views66K

Потребность делать железо периодически возникает у многих технарей. Иногда задача позволяет нафигачить всё проводами на макетке, а иногда, к сожалению, нужно нечто посерьёзнее. Вот и меня однажды настигла потребность делать печатные платы… Лазерно-утюжная технология кустарного изготовления плат по началу сильно отталкивает своей рандомностью (на чём печатать, как греть, с какой силой давить, как отдирать, и т.д.), но друзья поделились опытом, и оказалось, что это действительно не так уж сложно. ЛУТ бесспорно дешевле любого другого варианта, и (внезапно) вполне подходит для двухслойных плат.


Кому интересно посложнее, подороже и поточнее, можно делать фоторезистом, но наша методика (основным элементом которой является особая бумага) позволяет стабильно прорабатывать шины 0.3/0.3 мм, так что в нашем сообществе бытует мнение что тян фоторезисты не нужны.


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


Под катом я поделюсь детерминированной методикой изготовления двухслойных печатных плат по технологии ЛУТ с различными резервными схемами на случай косяков. От идеи до включения. Будем работать с KiCad, Inkscape, наждачкой, утюгом, персульфатом аммония и гравёром.


Коротко о Shadowsocks, или OpenVPN не нужен (в каждом доме)

Reading time6 min
Views332K
В наши дни, когда всякие нехорошие элементы так и норовят влезть в ваш трафик и как-то там напакостить, стало модным шифрование трафика. Начинание это благое и полезное, вот только делают его зачастую избыточно. Если шифрование трафика до доверенного сервера, типа своего VPS, — ваша единственная цель, то OpenVPN для такой цели слишком наворочен. Его долго настраивать, легко обнаружить, а главное — есть подводные камни, не зная которых можно получить такую ситуацию, что VPN стоит, а трафик идёт в обход. Всё это потому, что OpenVPN задумывался больше как средство доступа к маленькой сети через Интернет, а не для доступа ко всему Интернету.
Читать дальше →

Строим защищённую систему на основе TOR и I2P

Reading time5 min
Views77K

Введение


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

На провокации вида «при помощи такой системы можно слить гостайну врагу» я отвечаю сразу: при помощи ядерных ракет можно не только устроить конец света, но и отогнать или расколоть угрожающий нашей планете астероид.
Читать дальше →

Установка и настройка TeamSpeak 3 сервера на VDS

Reading time3 min
Views183K
В данной статье речь пойдет об установке сервера TeamSpeak 3, эта программа предназначена для использования голосовой связи различными сообществами. В моем примере будет использоваться Linux Debian 6.0 x64, для ТС3 сервера также оптимален VDS с предустановленной Ubuntu, разрядность значения не имеет, принцип действия одинаковый.
Читать дальше →

Полноценный REST API для перфекционистов за 5 минут

Reading time15 min
Views237K


Привет, Хабр! Меня зовут Владимир, мне 28 лет и я наркоман наркоман. Мой наркотик – простота. На простоту я подсел из-за своего перфекционизма, которым меня наградили при рождении.

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

Мир вокруг не идеален, сложную вещь сделать простой – невероятно сложно, поэтому всё чрезмерно усложнено. Людям нравится чувствовать себя профессионалами, поэтому они оперируют сложными терминами, когда в этом нет необходимости, так они ощущают свою значимость и заполняют пустоту, которая образовалась из-за страха потерянного времени.
Читать дальше →

Python: Работа с базой данных, часть 1/2: Используем DB-API

Reading time6 min
Views539K
часть 1/2: Используем DB-API часть 2/2: Используем ORM
Python DB-API – это не конкретная библиотека, а набор правил, которым подчиняются отдельные модули, реализующие работу с конкретными базами данных. Отдельные нюансы реализации для разных баз могут отличаться, но общие принципы позволяют использовать один и тот же подход при работе с разными базами данных.

В статье рассмотрены основные методы DB-API, позволяющие полноценно работать с базой данных. Полный список можете найти по ссылкам в конец статьи.

Требуемый уровень подготовки: базовое понимание синтаксиса SQL и Python.
Читать дальше →

Python на Хабре

Reading time7 min
Views454K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →

Осваиваем Python. Унция 2. Ветвления, циклы + практика.

Reading time4 min
Views92K
image
Простые конструкции в языке Python: ветвления и циклы имеют свои особенности по сравнению с другими языками. Поэтому я всё же решил потратить на это время и рассказать. Материал совсем простой!
Так же по просьбам читающих добавил в конец статьи разбор простой программки для наглядной демонстрации пройденного материала.
Читать дальше →

Осваиваем Python. Унция 1. Типы данных.

Reading time6 min
Views82K
image
Продолжаю своё начинание. Данная статья является логическим продолжением первой. Было приятно читать ваши комментарии. Я надеялся, что данный цикл статей окажется для кого-то полезным, но совершенно не предполагал, что заинтересовавшихся будет довольно большое количество. Это заставляет относится к делу серьёзнее и ответственнее.
Без лишних слов, сразу к делу.
Читать дальше →

learnopengl. Урок 1.1 — OpenGL

Reading time7 min
Views357K
Здравствуйте. Несколько недель назад я начинал серию переводов статей по изучению OpenGL. Но на 4 статье один хабровчанин заметил, что мои переводы могут нарушать лицензию, по которой распространяются учебные материалы, предоставленные в исходной статье. И действительно, мои переводы нарушали лицензию. Для разрешения этой проблемы я обратился к авторам того набора уроков, но так и не смог добиться нормального ответа. По этой причине я связался с автором другого, не менее (а возможно даже и более) крутого, набора уроков по OpenGL: Joey de Vries. И он дал полное разрешение на перевод его набора уроков. Его уроки гораздо более обширные, чем прошлый набор, поэтому эти переводы растянутся на долго. И я обещаю, будет интересно. Заинтересовавшихся прошу под кат.

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

На счет уроков по Vulkan: к сожалению мне тяжело сейчас написать уроки по данному API по причине скудной видеокарты на данный момент, которая просто не поддерживает Vulkan API, поэтому уроки по данному API будут только после обновления видеокарты.
Читать дальше →

Введение в Tkinter

Reading time4 min
Views450K
image

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

Tkinter – это кроссплатформенная библиотека для разработки графического интерфейса на языке Python (начиная с Python 3.0 переименована в tkinter). Tkinter расшифровывается как Tk interface, и является интерфейсом к Tcl/Tk.
Tkinter входит в стандартный дистрибутив Python.
Читать дальше →

Настройка среды для веб разработки в Windows на основе виртуальной машины VMware Player

Reading time5 min
Views21K
image

Пытаться разрабатывать большие и средние PHP проекты на Windows, по моему, не совсем правильно. Поэтому если PHP разработка это ваше основное занятие, то скорее всего вас давно на рабочей машине стоит Linux и горя вы не знаете. Но если по каким-то причинам вы также, как и я, прилипли к Windows, но при этом вам необходимо работать с веб проектами, эта статья поможет вам настроить и запустить 100% полноценную среду для веб разработки с любым набором линукс софта, докером, и при всем этом красиво интегрированную в Windows.
Читать дальше →

Почтовый сервер на Linux

Reading time11 min
Views326K
Как наладить работу почтового сервера, умеющего принимать и отправлять электронную корреспонденцию, бороться со спамом, взаимодействовать с клиентами? На самом деле, всё довольно просто.

Сегодня поговорим о почтовых серверах на Linux. Мы расскажем о том, как настроить сервер, о широко распространённом в интернете протоколе SMTP, а также о других протоколах, таких, как POP и IMAP. В итоге вы окажетесь обладателем полноценной системы для работы с электронной почтой.



Начнём с SMTP-сервера на Linux
Читать дальше →

Information

Rating
Does not participate
Location
Подольск, Москва и Московская обл., Россия
Date of birth
Registered
Activity