Pull to refresh
6
0
Ёлкин Тимофей @Konvergent

Инженер отдела разработки

Send message

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

Reading time18 min
Views18K
Привет, Хабр!

Сегодня расскажу о том, как управлять компьютером с мобильного устройства. Нет, это не очередной аналог radmin'a, и не пример того, как можно поиздеваться над компьютером друга. Речь пойдет об удаленном управлении демоном, а точнее — о создании интерфейса для управления демоном, написанном на Python.

Архитектура довольно простая:
  • «Remote control App» — Kivy-приложение, реализующее клиентскую часть для мобильных устройств.
  • «Remote control» — Django-приложение, реализующее REST API и взаимодействие с БД;
  • IRemoteControl — Класс, реализующий логику обработки поступивших команд (будет использован в демоне);

Заинтересовавшимся — добро пожаловать под кат.
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments33

Настройка сервера для django-проектов с нуля

Reading time6 min
Views41K
Хочу поделиться опытом настройки сервера для django-проектов. Так вышло, что мне часто приходится настраивать с нуля VPS-сервера для запуска на них django-сайтов. Как-то мне в голову пришла идея записать пошагово процесс настройки. Оказалось, что “по бумажке” выполнять эти рутинные операции гораздо проще и быстрее — все нюансы записаны, трудно что-то упустить. Дальше больше — я превратил инструкцию в самостоятельный shell-скрипт — запустил и сервер готов. Я думаю, некоторым python-разработчикам, особенно начинающим, будет полезно ознакомиться с содержимым скрипта. С некоторыми доработками вы, возможно, захотите использовать его в своей практике.
Читать дальше →
Total votes 111: ↑100 and ↓11+89
Comments56

Python, под пиратским флагом

Reading time8 min
Views57K
image Йо-хо-хо, хабровчане!

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

Реализовать задумку мне помог python 3.6 и советы коллег программистов. Хотя статья и будет опираться на пример в конкретной игре, цель ее больше не рассказать историю хака, а расхвалить питон и показать еще не освоившим, что с ним может делать человек-не-программист и почему это так круто.

Читать дальше →
Total votes 55: ↑50 and ↓5+45
Comments41

Алгоритм нахождения простых чисел

Reading time3 min
Views483K

Оптимизация алгоритма нахождения простых чисел


2 3 5 7 11 13 17 19 23 29 31… $250.000…

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

Алгоритм был придуман и тутже реализован на изучаемом языке. Программа запрашивала у пользователя число N и искала все простые числа до N включительно. После первого успешного теста сразу же возникло непреодолимое желание ввести N = «много». Программа работала, но не так быстро как хотелось бы. Естественно, дело было в многочисленных проверках (порядка N*N/2), поэтому пришлось избавиться от лишних. В итоге получилось 5 похожих алгоритмов каждый из которых работал быстре предыдущего. Недавно захотелось их вспомнить и реализовать, но на этот раз на Python.
Читать дальше →
Total votes 88: ↑58 and ↓30+28
Comments64

Изучаем этику секс-роботов по голливудским фильмам

Reading time5 min
Views24K


19-20 декабря в Лондоне состоялся третий международный конгресс по отношениям с секс-роботами (Third International Congress of Love and Sex with Robots). Изучив основные темы докладов, журналист Engadget Даниэль Купер пришел к выводу, что телевидение и кинематограф уже осветили большинство из тех проблем, что сейчас обсуждают ученые.

Поэтому если вы хотите понять ключевые вопросы этики (секс)-роботов, у вас есть два пути. Первый — на несколько лет зарыться в скучные книжки. Второй — сесть перед ТВ-экраном. В «Футураме», «Мире Дикого Запада» и «Степфордских женах» Купер нашел отражения тех проблем, над которыми спорили участники конгресса.
Читать дальше →
Total votes 31: ↑22 and ↓9+13
Comments130

Git: советы новичкам – часть 1

Reading time8 min
Views143K
В Playrix приходит много новых сотрудников и большинство из них не работали с Git. Особенно это касается гейм-дизайнеров и художников. Хотя и для программистов это не редкость – опыт работы с другими системами контроля версий не слишком помогает. Например, часто встречается опыт работы с SVN. Но Git заметно отличается по идеологии. Заучить, какие кнопки нажимать, в большинстве случаев не сложно, но шаг в сторону – и уже трудно понять, что происходит.



Поэтому мы решили написать ознакомительный материал. Мы поговорим о системе контроля версий и логике её работы, с самых азов. С Git можно работать с помощью  разных клиентов, потому в статье не пойдет речь об интерфейсе пользователя. Это может показаться непривычным, но это сделано намеренно. Вместо этого мы сфокусируемся на рабочем каталоге, коммитах, ветках, командах pull, push и прочих. Когда вы разберетесь в этих понятиях, вам останется выбрать один из Git-клиентов и освоить его интерфейс.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments45

Модифицируем Python за 6 минут

Reading time6 min
Views16K
Всем доброго и неумолимо наступающего!

Этот крайне насыщенный год подходит к своему завершению и у нас остался последний курс, который мы запускаем в этом году — "Разработчик full-stack на Python", чему, собственно, и посвящаем заметку, которая хоть и проскочила мимо основной программы, но показалась небезынтересной в целом.

Поехали


На этой неделе я сделал мой первый pull-request в основной проект CPython. Его отклонили :-( Но чтобы не тратить полностью свое время, я поделюсь своими выводами о том, как работает CPython и покажу вам как легко изменить синтаксис Python.

Я собираюсь показать вам как добавить новую фичу в синтаксис Python. Эта фича — оператор инкремента/декремента, стандартный оператор для большинства языков. Чтобы убедиться — откройте REPL и попробуйте:



Уровень 1: PEP


Изменению синтаксиса Python предшествует заявка с описанием причин, дизайна и поведения вносимых изменений. Все изменения языка обсуждаются основной командой Python и одобряются BDFL. Операторы инкремента не утверждены (и, вероятно, никогда не будут), что даёт нам хорошую возможность потренироваться.
Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments8

Как я попросил студентов написать фишинговые письма

Reading time9 min
Views54K
– Учитель, я подобрал хороший пароль, которого не может быть в словарях.
Инь Фу Во кивнул.
– Я ввёл его в Гугле, – продолжал Сисадмин, – и убедился, что в Сети такого сочетания нет.
– Теперь есть.


Я аспирант и преподаю вирусологию в университете.

Полгода назад, перед началом осеннего семестра, мне выдали целый поток пятикурсников — 45 человек с разным опытом, интересами и жизненными позициями. Еще тогда я подумал, что это хорошая база для какого-нибудь научного эксперимента. Спустя два месяца я все придумал и попросил студентов написать фишинговые письма.



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

Осторожно, много скриншотов.
Читать дальше →
Total votes 138: ↑132 and ↓6+126
Comments138

Пускаю слюни, пишу код

Reading time13 min
Views58K
image

Это Иван Бакаидов — программист, автор на Хабре, панк, девятнадцатилетний гражданин Российской Федерации, инвалид первой группы по причине Церебрального паралича.

В прошлом году я прочитал статью «Как узнать какие цветы дарить девушке, если у нее двигается только голова и она не может говорить?», она поразила меня похлеще чем «Смотря на код с закрытыми глазами».

Интервью с Иваном ibakaidov. Есть над чем подумать.

Расскажи, как впервые увидел компьютер? Как заинтересовался программированием и как учился?

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

А вот посадить меня за него предложили в институте раннего вмешательства. Это питерская организация, активная в 1990х, 2000х годах. Они собрали прогрессивных специалистов в сфере реабилитации и много сотрудничали с западом.

Основной идеологией было: «Не надо делать из человека здорового, надо научить его удобно жить», что до сих пор противоположно политике Минздрава и большинства больниц, а на самом деле задай себе вопрос: «Что надо человеку: ходить или перемещаться?» или же «говорить или общаться?»
Total votes 166: ↑159 and ↓7+152
Comments52

Двенадцать советов по повышению безопасности Linux

Reading time8 min
Views54K
imageМы живём в опасное время: едва ли не каждый день обнаруживаются новые уязвимости, на их основе создают эксплойты, под ударом может оказаться и обычный домашний компьютер на Linux, и сервер, от которого зависит огромная организация.

Возможно, вы уделяете внимание безопасности и периодически обновляете систему, но обычно этого недостаточно. Поэтому сегодня мы поделимся двенадцатью советами по повышению безопасности Linux-систем на примере CentOS 7.
Читать дальше →
Total votes 43: ↑36 and ↓7+29
Comments84

Инструкция по применению сисадмина в малом бизнесе

Reading time10 min
Views37K

Чтобы сисадмин справлялся со своей работой благодаря, а не вопреки помощи руководства




Если вы руководитель небольшой компании в 30-100 сотрудников и вас не устраивает качество работы информационных систем, то замена системного администратора — это последнее с чего стоит начать. Первое же, что стоит сделать — это изменить ваш подход в работе с системным администратором. Глобально — вам нужно научиться помогать вашему системному администратору справляться со своими обязанностями.

Да-да, вы не ослышались — вам нужно помогать вашему системному администратору справляться со своими обязанностями! Дело в том, что системному администратору в малом бизнесе нужно заниматься не только с техническими, но и с управленческими задачами: определять политики работы пользователей с информационными системами, стратегию развития ИТ, взаимодействовать с подрядчиками и, конечно же, отстаивать свои решения перед руководством. При этом редко какой специалист имеет глубокие технические компетенции, а способных совмещать в себе технические и управленческие функции и подавно «днем с огнем» не найти. Проще говоря, без помощи руководителя компании единственному системному администратору справляться со своей работой крайне сложно.

При этом я не прошу вас настраивать сервера вместе с вашим сисадмином или вникать в особенности работы программного обеспечения. От вас требуется лишь помогать системному администратору справляться с управленческими задачами, корректно информируя, направляя, контролируя и поддерживая его в работе. Как именно это делать, читайте ниже:
Читать дальше →
Total votes 27: ↑21 and ↓6+15
Comments93

Руководство по alt-text от слабовидящего веб-разработчика

Reading time7 min
Views32K
Эта статья содержит всё, что вам нужно знать об alt-text! Когда их использовать и как идеально их подготовить. Подготовил я, Дэниель, веб-разработчик с частичной потерей зрения, который ежедневно использует скринридер.

Здесь изображение котика с атрибутом alt=«Милый котик».

Мой опыт с картинками в вебе


Во время сёрфинга в вебе я использую сочетание увелителя экрана и скринридера. Как показывает практика, увеличение экрана удобнее на дисплеях большого размера, а скринридер — на меньших устройствах.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments12

Пишем список дел на Python 3 для Android через QPython3 и SL4A

Reading time7 min
Views42K


Движок QPython (и QPython 3) для Android – вещь по-прежнему плохо изученная, и особенно что касается его встроенной библиотеки Scripting Layer For Android (SL4A), она же androidhelper. Эту библиотеку написали несколько сотрудников Google по принципу 20% свободного времени, снабдили ее спартанской документацией, которую почти невозможно найти, и отправили в свободное плавание. Я искал информацию об SL4A по крупицам, но со временем нашел практически все, что мне нужно.

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments8

Список лучших инструментов для web-анимации

Reading time5 min
Views48K
image

Список лучших инструментов для web-анимации. SVG/CSS/Canvas/DOM анимация + GUI инструменты для генерации кривых Безье и CSS анимации.

Репозиторий: github.com/sergey-pimenov/awesome-web-animation
Страница-каталог: awesome-web-animation.netlify.app

В будущем список будет дополнен книгами и видео-курсами по web-анимации. Если вы заметите, что какого-то стоящего инструмента не присутствует — пожалуйста, напишите об этом и я добавлю его.

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

Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments17

Простой блог с комментариями на Django: разработка и развертывание для самых маленьких

Reading time7 min
Views163K
Данная статья предназначена для новичков в web-программировании и освещает вопросы разработки блога на Django с использованием Twitter Bootstrap и его развертывания на бесплатном хостинге PythonAnywhere. Я старался написать как можно более проще и понятнее. Более опытным пользователям данное чтиво не расскажет ничего нового, да и некоторые приемы возможно покажутся неэффективными.


Читать дальше →
Total votes 40: ↑31 and ↓9+22
Comments24

Решение вопроса с инетом на даче

Reading time4 min
Views60K
Как известно, медленный интернет воздействует как-то особенно вредно на нервную систему. Данная заметка основана на собственной истории многочисленных попыток обеспечить приемлемую скорость интернета на даче.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments48

Не по ТЗ

Reading time4 min
Views41K


Умоляю, уберите скорее от экранов перфекционистов и беременных своей чудесной идеей заказчиков. Пост содержит боль. И вообще, проконсультируйтесь с вашим психотерапевтом.
Читать дальше →
Total votes 45: ↑32 and ↓13+19
Comments101

Что делать, если Instagram не дал доступ к API? Дополнение

Reading time5 min
Views66K
Здравствуйте ещё раз! Я прочёл её и мне показалось, что её можно продолжить.

image

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

  1. Самые полезные функции (постинг и удаление постов) доступны только из мобильного приложения Instagram, эмуляция запросов сложна, так как надо вытащить из приложения ключ, который с каждой новой версией обновляется.
  2. Web-версия обрезана, но радует, что в ней есть возможность лайкать, комментировать и удалять комментарии
  3. Есть API, но процедура его получения удручающе долгая и спамерам и ботам такой путь точно не светит. Плюс было много моментов, когда соглашения в API менялись, что не всегда удобно.
Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments40

Интернет там, где его нет, или Стационарная связь на базе 3G-LTE

Reading time6 min
Views77K

image


Задумал я сделать интернет у себя на даче, в глуши. И наконец возможность срослась с желанием! Проблем в моей глуши две: дураки частые перебои с электроэнергией (в зависимости от погоды может ещё отключиться АТС) и плохая мобильная связь. Сигнал ловится не везде, а где ловится, там нестабилен. Добавляет сложности и оцинкованная крыша дома, экранирующая радиоволны. Возможности современного оборудования и корректировка запросов сужали и улучшали подходящие свойства, что привело меня к мысли создать максимально работоспособный узел сети. Я расскажу о том, как пытался поймать LTE-сигнал, с описанием оборудования и возможными проблемами.

Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments87

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

Backend Developer
From 160,000 ₽
Unix
Golang
Perl
Git