Pull to refresh
10
0
Кирилл Петряев @Recosh

Full Stack разработчик

Send message

Трюки CSS и JavaScript, которые вдохнут жизнь в ваш статический сайт

Reading time7 min
Views33K
Последние несколько недель я работал над своим сайтом и хотел придать ему некоторый динамизм. Эта статья не о создании веб-страницы. Я покажу готовые сниппеты с объяснениями.

Приятного чтения
Total votes 26: ↑15 and ↓11+9
Comments13

Главные тренды Data Science 2020 года, которые будут актуальны в 2021-м

Reading time6 min
Views7.9K
Привет, Хабр! Сегодня я расскажу, как развивается сфера Data Science. 2020 год стал переломным не только для мира в целом, сфера данных активно совершенствуется и сегодня можно уже подводить итоги года. Встречайте тренды DS в 2020-2021 году.

Приятного чтения!
Total votes 21: ↑16 and ↓5+13
Comments3

Кунг-фу стиля Linux: бесплатный VPN по SSH

Reading time7 min
Views42K
Если вы видите на некоторых сайтах множество рекламных баннеров, то вы знаете, что, если не будете пользоваться VPN (Virtual Private Network, виртуальной частной сетью), хакеры очень скоро захватят и разорят ваш компьютер и сожгут ваше жилище. Ну, они, по крайней мере, точно что-то такое задумывают. На самом же деле существует две основных причины, по которым кому-то может понадобиться VPN-подключение. Можно, конечно, купить подписку на соответствующий сервис, но если у вас есть SSH-доступ к какому-нибудь компьютеру, имеющему выход в интернет, это значит, что вы можете создать собственный VPN-сервис, не потратив на это ни копейки.

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



Первая причина, по которой это может кому-то понадобиться, заключается в повышении уровня безопасности и в заблаговременном устранении возможных угроз. Например, может понадобиться печатать на сетевом принтере, не «выставляя» этот принтер в обычный интернет. В результате, например, некто может сидеть в кафе и, подключившись к сети по VPN, распечатывать документы на принтере, чувствуя себя так, будто он находится за своим рабочим столом, а принтер стоит в паре метров от него. Использование VPN, кроме того, будет означать, что данные, передаваемые по WiFi-сети кафе, будут зашифрованы.

Вторая причина — это скрытие реального местоположения пользователя от любопытных глаз. Предположим, кому-то нравится смотреть видеоматериалы BBC, но живёт он в Эквадоре. Это значит, что для того чтобы видео не были бы для него заблокированы, ему нужно будет подключиться по VPN к сети, находящейся в Великобритании. Если власти некоей страны мониторят и цензурируют интернет, то жителям этой страны тоже может пригодиться возможность замаскировать свой трафик.
Читать дальше →
Total votes 30: ↑23 and ↓7+31
Comments9

Отзывчивый веб-дизайн и учёт высоты окна браузера

Reading time9 min
Views16K
Знаю, что у многих появится вопрос о том, почему у этой статьи такой необычный заголовок. Как связаны «отзывчивый веб-дизайн» и «высота окна браузера»? Пожалуй, этот заголовок кажется необычным из-за того, что под «отзывчивым дизайном», как правило, понимают проектирование страниц таким образом, чтобы они подстраивались бы под ширину области просмотра, чтобы они хорошо бы выглядели на разных устройствах. Сайты всегда тестируют, уменьшая ширину браузера и наблюдая за происходящим. Но я практически никогда не сталкивался с некими указаниями по тестированию какого-то проекта, в которых сказано, что страницы исследуют путём уменьшения высоты окна браузера. Возможно, вы когда-нибудь ловили себя на такой мысли: «Надо ли проверять страницы в окнах браузера разной высоты?». Я полагаю, что делать это надо, и собираюсь убедить в этом всех, кто прочитает эту статью.



При работе над веб-сайтом не очень правильно делать некие предположения, не опираясь на реальные данные. Поэтому очень важно брать на себя ответственность по проверке сайтов в окнах браузеров разной ширины и разной высоты.
Читать дальше →
Total votes 19: ↑18 and ↓1+25
Comments6

Назад к BLE или способ автоматизировать рутинные операции

Reading time12 min
Views4.9K

Кадр из фильма «Назад в будущее» (1985 год)

Стандарт Bluetooth 5.0 вышел в 2016 году, 2019-м появилась версия 5.2. За последнее время Apple провела две конференции WWDC 2017, WWDC 2019 посвященных CoreBluetooth. Активно развивается технология построения mesh сетей. Все стало еще лучше, быстрее и эффективнее.  Интерес к этому направлению только растет. Выстроены целые системы управления на этой технологии.

Мы же задались целью автоматизировать рутинные операции и повысить безопасность доступа пользователей на свое рабочее место. В статье разберем, что было решено предложить пользователям, поговорим немного о технологии BLE (хотя, как тут кратко?) на примере небольшого проекта, который запускается на двух смартфонах и позволяет передавать данные в обе стороны, ну а в конце познакомлю с нашим приложением GM MOBILE ASSISTANT.

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

О полезности contextvars

Reading time5 min
Views28K

В Python есть множество возможностей и языковых конструкций. Какие-то мы используем каждый день, а о некоторых даже опытные программисты узнают с удивлением после нескольких лет работы с языком (привет, Ellipsis!). Совсем недавно вышел Python 3.9, но в этой статье я расскажу о функциональности, представленной еще в версии 3.7. На мой взгляд, она совершенно незаслуженно обделена пристальным вниманием. Речь, конечно же, о contextvars.
Читать дальше →
Total votes 39: ↑35 and ↓4+38
Comments9

Программисту: 9 фильмов, которые обязательно надо посмотреть в 2020 году

Reading time3 min
Views104K
Фильмы вдохновляют нас, помогают стать умнее и вырасти над собой. Некоторые из них могут внести отличный вклад в развитие программиста. Фильмы — это прекрасный инструмент, помогающий понять современный мир. Мир, в котором всё взаимосвязано.



В материале, перевод которого мы сегодня публикуем, речь пойдёт о нескольких фильмах, которые стоит посмотреть программисту.
Читать дальше →
Total votes 78: ↑34 and ↓44+6
Comments76

Машинное обучение: с чего начать или как построить первую модель

Reading time8 min
Views13K


В качестве первой задачи для машинного обучения возьмем что-то понятное и простое, например, прогноз стоимости жилья. Готовый датасет можно найти на сайте kaggle. На первых шагах обучения не стоит брать датасеты с большим количеством переменных, например, «House Prices: Advanced Regression Techniques» состоит из 80 переменных и advanced regression, остановимся на «House Sales in King County, USA» с 21 параметром. Скачиваем данные и анализируем предоставленное описание. В наличии дата, цена, количество спален, ванных комнат, общая и жилая площадь, этажность, оценка вида, вид на море, оценка общего состояния, грейд (оценка строительства и дизайна), площадь над и под уровнем земли, год постройки, год последнего ремонта, код зоны, координаты (долгота и широта), данные о площади домов 15 соседей.

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

1. Работа с данными.

Сделаем отступление и отдельно отметим важность анализа данных. В настоящий момент все более-менее популярные алгоритмы уже написаны в виде библиотек и непосредственное построение модели сводится к нескольким строкам кода, например, k-ближайших соседей из sklearn в python:
Читать дальше →
Total votes 3: ↑2 and ↓1+3
Comments9

Методы борьбы с воровством в кружке робототехники (часть 1)

Level of difficultyEasy
Reading time6 min
Views60K
Приветствую всех членов сообщества! А отдельно — преподавателей и собственников технических кружков: именно вам, уважаемые коллеги, адресована моя статья.

Меня зовут Владимир Мозговой. Я являюсь основателем частного центра технического творчества «Robo.Grade» в г. Новочеркасске.

Тема публикации: как я пресекал хищение денег и имущества в техническом кружке.
Читать дальше →
Total votes 128: ↑124 and ↓4+160
Comments274

Web-разработка на Python глазами PHP-программиста

Reading time7 min
Views176K

Введение



В статье хотелось бы поднять вопросы отличия использования Python для web-разработки по сравнению с оной на PHP. Надеюсь, статья не приведет к холиварам, так как она вовсе не о том, какой язык лучше или хуже, а исключительно о технических особенностях Python.
Читать дальше →
Total votes 77: ↑62 and ↓15+47
Comments95

Самый южный дата-центр

Reading time8 min
Views69K
Когда мы в разговоре слышим слово «юг», наше сознание непроизвольно рисует солнечные картины, соленый бриз, стаи морских птиц, пальмы. В этой статье пойдет разговор о самом южном дата центре в мире, но, несмотря на сезонное изобилие солнца, Вы не найдете здесь разгуливающих в бикини курортниц. При полярной станции Амундсена-Скота, что разместилась на 89 градусах 59 минутах и 24 секундах южной широты, для поддержания работы нейтринной обсерватории был создан и успешно функционирует дата-центр «Ледяной Куб» (Ice Cube data center). О задачах этого ИТ-узла и о тех условиях, в которых приходится поддерживать работоспособность оборудования, и пойдет речь далее в статье.

Читать дальше →
Total votes 107: ↑105 and ↓2+103
Comments57

Cобрать лучшее из двух миров — фреймворков и CMS (часть 1)

Reading time7 min
Views30K
Четыре года — это в IT уже долгострой. Именно столько, и даже чуть больше времени мне понадобилось чтобы довести CleverStyle CMS до версии 1.0, до состояния когда архитектура устаканилась, имеется достаточная функциональность и целостность системы как таковой, все найденные баги исправлены, и основные сценарии работают без проблем.

Получилось создать что-то среднее между фреймворком и, собственно, CMS, как раз то, что нужно для разработчика, и хочу поделиться этим с сообществом.

Уверен, многим не хватало именно такого решения, это подтверждается многочисленными вопросами на том же Тостере и долгими ветками комментариев под ними.

Обязательно нужно объяснить почему


Сложность, избыточность, гибкость, функциональность и скорость.



Я не нашел решения, которое имело бы удовлетворительный для меня баланс этих параметров (безопасность тоже, но это очевидно и подразумевается само собой изначально).
CleverStyle CMS — это не CMS в привычном смысле, это CMF, выше фреймворка по уровню архитектуры но ниже и гибче CMS.
В связи с таким позиционированием получилось очень удобное решение в первую очередь для разработки уникального функционала, так как есть большинство необходимых инструментов, за которыми не нужно далеко идти, не нужно настраивать, а можно сразу использовать и получать результат.
Читать дальше →
Total votes 47: ↑28 and ↓19+9
Comments103

Google купила производителя термостатов за 3.2$ млрд

Reading time1 min
Views64K
image

Не готовится ли Google предложить что-то и для идеи «умного дома»?

Сегодня стало известно, что поисковый гигант приобрёл компанию Nest — производителя термостатов — за значительные 3.2 миллиарда долларов. О самой компании стало известно примерно три года назад: в частности то, что главой компании является Тони Феделл, бывший старший вице-президент одного из подразделений Apple (именно с ним связывают выпуск и успех iPod), а её техническая сторона, вероятно, имеет академические корни — вице-президентом является Йоку Мацуока, профессор CS университета Вашингтона.
Узнать подробности
Total votes 37: ↑33 and ↓4+29
Comments29

Классификация 3D принтеров (7 технологий 3D печати)

Reading time4 min
Views229K
На хабре уже были статьи о технологиях печати, которые используют 3D принтеры, однако в данной статье я постарался подойти к вопросу системно, чтобы в голове у читателя сложилась четкая картина о том, какие принципы заложены в технологии 3D печати, какие материалы используются и в конечном итоге какую технологию лучше использовать для получения определенного результата, будь то деталь из титана, или мастер-модель для последующего тиражирования.
Статья основана на книге Fabricated: The New World of 3D printing

image

Читать дальше →
Total votes 61: ↑57 and ↓4+53
Comments8

Как мы искали Марс-3

Reading time9 min
Views442K
Честное слово, это почти случайно получилось, что такая новость пришла к началу апреля и Дню космонавтики. Сегодня я расскажу о том, как история, которая началась и оборвалась более 40 лет назад, внезапно получила продолжение в наши дни. О том, как простой юзернейм вконтакта, в своем интересе к Марсу дошел до NASA. О том, что международная солидарность ученых — не пустой звук. И о том, что космос ближе, чем кажется.

Мы искали Марс-3.

И мы нашли его! Прямо на Марсе, на дне гигантского кратера Птолемея, среди безжизненных пустошей и валунов.

О том, как мы это сделали, сегодняшний рассказ.


Читать дальше →
Total votes 677: ↑669 and ↓8+661
Comments169

Как отправлять push уведомления из Вашего Rails приложения

Reading time3 min
Views16K
Один из наиболее популярных способов связи мобильного приложения с сервером — отправка push уведомлений пользователю. Если Вы уже сталкивались с реализацией push уведомлений, то для Вас открытия Америки не произойдет, однако, новичкам в данной теме приходиться туго — это связанно с огромной путаницей в информации (от переводчика: действительно довольно много противоречивой, а зачастую и вовсе бесполезной информации). Именно эта путаница стала причиной написания данной статьи для WellWithMe, где я опишу разработку серверной части push уведомлений.

Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments2

«Заводим» радиоуправляемые розетки без пульта

Reading time5 min
Views80K


Совершенно случайно наткнулся в каталоге Ч-и-Д на аттракцион невиданной щедрости. Сейчас дополнительные беспроводные розетки для комплекта Velleman 7500-3B стоят всего 100 рублей за штуку. Но это за розетку без пульта, то есть с несколько неясными перспективами ее использования, поскольку до вскрытия не очень понятно, что там внутри, а образца управляющих кодов нет. Если же закладываться на пульт, то предложение сразу перестает быть таким интересным.

Несмотря на некоторый риск (хотя что там тех ста рублей?!), стало интересно, чем это изделие, причем именно в такой конфигурации, поможет социалистической революции в масштабах одного отдельно взятого домашнего хозяйства.

Перед посещением магазина я теоретически подковался. То есть — поискал, что есть в этом нашем интернете на тему указанных розеток. И практически успокоился, когда выяснил, что они совместимы (Velleman WRS3B) с библиотекой RC-Switch, которую уже давно использую в домашнем контроллере для управления розетками, выполнения команд по сигналам радиопультов и обмена данными с периферией.

Это вселяло надежду.

Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments22

Контроллер центральный домашний, всемогущий КЦД-В-2-12

Reading time48 min
Views166K
История появления на свет центрального домашнего контроллера довольно запутанна. Мне кажется, если на секунду отвлечься и представить его в виде зимнего леса (вид сверху), то можно будет увидеть беспорядочные тропинки, плохо замаскированные ямы и, возможно, бродящего где-то в глуши И. Сусанина.

Функционал наращивался постепенно: сначала подключил беспроводные розетки, потом замахнулся на выключатели света. Аппетиты росли — датчики протечки, задымления, дверей, метеодатчики, радиореле и управление AV-техникой. Мастерство росло не так быстро. Поэтому получилось то, что получилось: вещь, бесконечно далекая от гайдлайнов по программированию и устройству электронных схем, но вполне работоспособная.

И знаете что? Меня это устраивает.
Читать дальше →
Total votes 80: ↑76 and ↓4+72
Comments46

Плагин для Bootstrap 3, повышающий accessibility интерфейсов

Reading time2 min
Views17K
Набор инструментов Bootstrap пользуется достаточно большой популярностью среди разработчиков. Тем не менее, интерфейсы, получающиеся с его помощью, зачастую имеют проблемы с accessibility, то есть с доступностью для пользователей с ограниченными возможностями. В результате, получившийся интерфейс может не соответствовать предъявляемым к нему требованиям, так как часто accessibility является одним из пунктов технического задания, да и в принципе не очень доступный интерфейс — это уже плохо.

Команда разработчиков PayPal некоторое время работала над решением ряда проблем доступности в Bootstrap 3, итогом чего стало появление accessibility плагина, который недавно был выложен в открытый доступ. Фактически он позволяет реализовать доступность интерфейса на базовом уровне без каких-либо особых знаний в этой области.
Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments1

Пишем, собираем и запускаем HelloWorld для Android в блокноте

Reading time10 min
Views129K


Когда я начал изучать Android, захотелось полностью написать и скомпилировать Android-приложение вручную — без использования IDE. Однако эта задача оказалась непростой и заняла у меня довольно много времени. Но как оказалось — такой подход принёс большую пользу и прояснил многие тонкости, которые скрывают IDE.

По-сути эта статья является переводом и переработкой статьи Building Android programs on the command line под современные на данный момент JDK (7) и Android SDK (API level 19). Кроме того, я многое упростил и добавил кое-что от себя.

Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
Читать дальше →
Total votes 108: ↑97 and ↓11+86
Comments42

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity