Search
Write a publication
Pull to refresh
14
0
Тимофей @tima_tey

Full stack WEB Developer

Send message

Гугл таблица как БД для телеграм бота

Level of difficultyEasy
Reading time6 min
Views29K

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

Читать далее

Старый добрый семисегментный индикатор

Level of difficultyEasy
Reading time18 min
Views47K
image

В этой статье я хочу продолжить свой цикл о программировании Arduino для начинающих электронщиков. Мы познакомимся с подключением светодиодного семисегментного индикатора к микроконтроллеру через сдвиговый регистр, разберемся с особенностями его программной обработки. Также я продемонстрирую, как с помощью редактора электронных таблиц Excel можно генерировать семисегментные коды. И, как всегда, много внимание будет уделено деталям, которые часто воспринимаются понятными «по умолчанию», но на самом деле для новичка таковыми не являются. В конце, следуя «Arduino way», напишем простой класс для управления семисегментной индикацией.
Читать дальше →

Основы библиотеки cURL PHP

Level of difficultyEasy
Reading time7 min
Views38K

cURL — библиотека, используемая для отправки HTTP-запросов с различных языков программирования, включая C, PHP и другие.

В статье проведено знакомство с библиотекой, описаны основные функции и предопределённые константы. Представлены способы настройки сеанса, совершения GET- и POST-запросов, обработка исключений, проверки SSL-сертификата и аутентификации на сервере.

Читать далее

Carbonyl — графический веб-браузер для Linux-консолей

Level of difficultyMedium
Reading time5 min
Views19K

Консоль Linux обычно имеет дисплей с клавиатурой и используется для подключения к главному компьютеру для обмена данными и отображения результатов обработки. В большинстве случаев сама обработка выполняется хост-компьютером. Однако есть гики, которые хотят на консоли просматривать веб-страницы, и есть программное обеспечение, такие как текстовые браузеры типа «Browsh», которые могут отображать веб-сайты в графическом виде без графического интерфейса.

Большинство основных дистрибутивов Linux поставляются с предустановленными Firefox или Falkon. И идея текстового браузера для консоли Linux может показаться абсурдной. В конце концов, первые браузеры были основаны на графическом интерфейсе, а современный Интернет так вообще состоит из графики и JavaScript — элементов, с которыми консольным браузерам трудно или даже невозможно работать. Но именно эта несовместимость с современной Сетью делает консольные браузеры такими привлекательными для некоторых пользователей. Для этого есть несколько причин. Интерфейсы таких браузеров чрезвычайно просты в компоновке и работают очень быстро. Текстовые браузеры требуют меньше пропускной способности для работы, и загружают страницы намного быстрее, чем графические. Кроме того, графические браузеры потребляют больше ресурсов ЦП для Javascript, CSS и т. д. Также изображения, автоматически воспроизводимые видео и звуковые эффекты могут отвлекать внимание пользователя.

Но как можно сохранить малое потребление ресурсов ЦП текстовых браузеров, при этом отображая графику через консоль?

Через Carbonyl.
Читать дальше →

20 уроков, которые я вынес из 20 лет работы программистом

Level of difficultyEasy
Reading time9 min
Views118K
Вы приступаете к чтению статьи с высокой концентрацией советов. Учиться у предшественников – хороший способ добиться успеха, но здесь мы часто забываем о важной оговорке. Практически любой совет работает только в определенном контексте, но дается обычно без каких-либо указаний на него.

«Да просто повысьте цены!» — говорит компания, которая уже двадцать лет на рынке и первые годы продавала продукт за копейки, чтобы привлечь клиентов и прийти к успеху. «Нужно всё реализовать в микросервисах», — говорит компания, которая по-быстрому сколотила монолит, набрала несколько тысяч пользователей и метнулась к микросервисам, когда начались проблемы с масштабированием.

Без понимания контекста советы теряют смысл или, хуже того, приносят вред. Если бы люди из примеров выше последовали своим собственным советам в начале пути, то, вероятно, пожалели бы этом. Этой ловушки сложно избежать. Мы представляем собой кульминацию своего опыта, но при этом смотрим на него через призму настоящего.
Читать дальше →

Поднимаем зомби: перехват контроля над мёртвым IoT-производителем

Level of difficultyEasy
Reading time12 min
Views11K

В 2017 году появилась компания NYCTrainSign, которая изготавливала реплики таймеров обратного отсчёта, показывающие, сколько осталось до прибытия следующего поезда Нью-Йоркского метро.


Однако этот таймер не вешался на потолок, а ставился на стол в качестве стильного украшения дома.

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

Однако под флёром Instagram* скрывались посредственные технические решения и недопустимо высокие затраты на производство. [* Запрещены в России.]

В начале 2018 года компания перестала отвечать под постами в соцсетях, а приобретённые таблички получили очень немногие покупатели. Компания порекомендовала покупателям оспорить платёж, чтобы попробовать вернуть свои деньги.
Читать дальше →

Как девять женщин могут родить ребёнка за месяц

Level of difficultyMedium
Reading time7 min
Views14K

2022 год научил нас быстро менять приоритеты для оперативного реагирования на внешние факторы. В наших целях была зафиксирована ключевая задача по отказу от софта вендора в пользу собственных решений, разработанных на основе микросервисной архитектуры. Стоял вполне комфортный срок: полностью завершить переход до конца года, и команды планомерно шли к этой цели, наряду с разработкой менее масштабных, но тоже важных фич. Но в связи со вполне реальными рисками преждевременного ухода вендора из РФ сроки доработок сократились с полугода до одного месяца (почти как в известной шутке про невозможность родить ребёнка ранее, чем через 9 месяцев, сколько людей для этого процесса не привлекай). Ниже я опишу наш опыт мобилизации и решения поставленных задач в нереалистичные сроки.

Читать далее

Лучшие техники ревью кода

Level of difficultyMedium
Reading time5 min
Views15K

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

Читать далее

Электронный конструктор, не бьющий током

Reading time13 min
Views49K

Дайте угадаю: вы в детстве заворожённо рассматривали печатные платы? Вам было любопытно узнать, как работает этот мини-город из разноцветных деталек? Возможно, у вас был опыт сборки электронных схем по книгам Борисова и Свореня? Советский сорокаваттный паяльник, кусочек канифоли в спичечном коробке? А ещё штаны с намертво влипшей в ткань каплей припоя?

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

Linux на смартфоне: делаем экран погодной станции, используя Termux и Node-RED

Level of difficultyEasy
Reading time6 min
Views19K

Всем привет!

Сейчас я покажу, как перенести на смартфон проект погодной станции, изначально сделанный под Raspberry Pi. Для этого мы установим программу Termux — эмулятор терминала Linux —, затем поставим на него среду визуального программирования Node-RED и за 5 минут реализуем готовый проект — погодную станцию, то есть экран, выводящий текущую погоду и прогноз. Использовать будем только Free/Open Source- инструменты.

Читать далее

Как тестировать современный фронтенд

Reading time19 min
Views53K

Бывало, замечаешь в коде «нехороший» модуль или функцию и тут же тянутся руки их отрефакторить. Но как потом убедиться, что правки не сломали какой-нибудь сценарий в приложении или вовсе не положили продакшен? Этих ситуаций можно избежать, если в проекте есть тесты. 

Меня зовут Александр Моргунов, я техлид в Самокате. Пишу на TypeScript, React, ReactNative. В разное время писал тесты для фронтенда, бэкенда и мобилок. В этом посте хочется поговорить о том, как можно тестировать современные фронтенд-приложения и какие подходы к тестированию сейчас актуальны. 

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

Читать далее

Как не продолбать декабрь. Пошаговая инструкция

Reading time5 min
Views14K

Декабрь – такой месяц: вот он начинается, и вот ты уже где-то посреди января. Как будто включается скорость Х2, и ты ничего не успеваешь сделать. Ни по работе, ни по дому, ни спортом заняться, ни подарки купить.

Кратко, что придется делать:

во-первых, сформулировать, что мне важно,

во-вторых, написать список дел,

в-третьих, делать по одному делу в день из этого списка.

Все.

А теперь подробнее. Сначала опишу алгоритм, как если бы вы пришли ко мне на прием с запросом «Как мне не продолбать декабрь?». Потом вопросы и реальные кейсы.

Еще шаги...

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

Reading time3 min
Views3.6K

Период с 1970 по 1990 годы известен как «войны протоколов». В это время инженеры, системообразующие организации и целые государства пытались решить, какой протокол передачи данных позволит строить наиболее функциональные и надежные компьютерные сети. Этому отрезку времени и связанным с ним технологиям посвящены целые книги. Сегодня мы собрали несколько таких материалов, опираясь на рекомендации резидентов Hacker News, Reddit и других тематических площадок.

Читать далее

Эволюция HTTP. Часть 1. Краткая история развития самого популярного протокола Всемирной паутины

Reading time11 min
Views11K

Привет! Меня зовут Глеб Гончаров, я руководитель группы разработки клиентского продукта в СберМаркете. В серии статей я рассмотрю историю развития протокола HTTP. Полное обсуждение семантики выходит за рамки, но понимание ключевых изменений в устройстве HTTP и мотивов принимаемых решений даст необходимую основу для обсуждения вопросов производительности и ограничений протокола, особенно в контексте предстоящих улучшений HTTP/2 и его преемника HTTP/3. Про HTTP-NG сейчас написано только на английском и буквально в нескольких редких книгах, так что я поизучал домашние страницы членов комитета и их презентации 1996-1998 гг., чтобы понять основные мотивы. Хочу поделиться находками с аудиторией Хабра.

Читать далее

Как отобразить таблицу на экране мобильного устройства: решения

Reading time2 min
Views26K

В данной статье мы рассмотрим какие существуют решения по отображению таблиц с большими массивами данных на экранах мобильных устройств.

Читать далее

Digital богемия. Руководство по дизайну 1.0

Reading time12 min
Views4K

В свое время, мне надоело пересылать бесконечные ссылки на статьи и материалы своим студентам. Тогда я взял и собрал свое «полное» руководство, первой версией которого и делюсь с вами. А поскольку дизайн — это всегда борьба с шаблонами восприятия, я отказался от привычных «страниц» для каждого раздела, ведь digital свободен от ограничений печати. Так и получился первый «гранд-рид».

Читать далее

Жизненный цикл гипотезы

Reading time5 min
Views4.2K

Всем привет! Меня зовут Аксёнов Павел. Я работаю CPO (директором по продукту) цифровой платформы Самолет Плюс и преподаю управление продуктом в OTUS. А еще у меня есть опыт работы на Head позициях в Яндекс, Ozon и Mail.

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

Читать далее

Прокачиваем насос с помощью ESPHome и реле от Sonoff

Reading time6 min
Views22K

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

Под катом вы найдёте рассказ о том, как немного денег, любви и пара выходных сделали из серого утёнка прекрасную утку на стероидах.

Читать далее

Как битриксоиды в React уходили

Reading time12 min
Views5.8K

Приятно познакомиться, мы битриксоиды. Да-да, те самые которые:
- вообще не модные,
- пишут НЕ на Laravel и Symphony,
- возятся с кучей мягко говоря “неидеального” кода под названием “1С-Битрикс: Управление сайтом”,
- проходят Академию 1С-Битрикс и сдают платные экзамены для подтверждения компетенций,
- умеют дорабатывать обмен с 1С без истерики,
- берут с заказчика "тонну денег" за то что любой php-джун сделает на вордпрессе одной левой,
- но при всем этом почему-то делают сложные проекты переживающие тысячи доработок без потери товарного вида и управляемости.

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

Но сегодня речь не о бекенде. Поговорим мы про переделку нашего собственного сайта на более-менее свежих FRONTEND-технологиях. И одновременно прикинем, а почему бы не делать все сайты/магазины/личные кабинеты на таком стеке.

Подробнее

28 расширений VS Code для разработки документации

Reading time3 min
Views34K

Плагины VS Code, без которых техническим писателям и разработчикам документации жить можно, но сложно. В подборке — линтеры, форматирование, работа с git, проектирование API, подготовка схем и милота для удобной разработки.

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

Information

Rating
Does not participate
Location
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity