Обновить

Неочевидные вещи в TypeScript

Уровень сложностиСредний

TypeScript — это строго типизированный язык программирования, являющийся надмножеством JavaScript. Он предлагает несколько функций, которые делают его популярным выбором среди разработчиков. Однако есть некоторые неочевидные вещи, которые разработчики должны знать о TypeScript, чтобы в полной мере использовать его возможности.

Утверждения типа

Утверждения типов позволяют разработчикам переопределять систему вывода типов по умолчанию в TypeScript. Они используются, когда разработчик знает о типе значения больше, чем может вывести TypeScript. Утверждения типа записываются в виде значения или значения как Type.

Читать далее

ЖЦ кастомного UI в андроиде с примерами кода на Котлине?

Уровень сложностиСредний

ЖЦ (жизненный цикл) кастомного UI-компонента в Android схож с жизненным циклом обычных компонентов (Activity, Fragment, View и т.д.). Жизненный цикл состоит из нескольких этапов: создание, инициализация, изменение, уничтожение и т.д. Каждый этап предоставляет возможность для выполнения определенных действий, таких как установка атрибутов, обработка событий и т.д.

Пример кастомного UI-компонента, который наследуется от View и имеет жизненный цикл:

Читать далее

Решать как Виет! Новый метод решения кубических уравнений

В школе все были знакомы с квадратными уравнениями, а кто-то даже и с кубическими игрался. В этой статье/обзоре мы рассмотрим именно решение кубического, которое ещё в 15-ом веке получил математик Франсуа Виет используя прямую подстановку вида x=2acos(\phi). Я же в этой статье использую так называемую p-параметризацию из которой формула Виета следует напрямую, из неё следует не только она, но сегодня поговорим именно о ней.

Начнем с того с чего начал я когда получал все эти формулы. Рассмотрим, как обычно, уравнение такого вида:

Читать далее

Создание телеграм бота на Django + pyTelegramBotApi

Уровень сложностиПростой

Задался я вопросом создания бота в телеграм для беседы, который бы напоминал нам о др всех её участников. И я столкнулся с такой проблемой, что хотелось поиграться с админкой django, но нет нормальных туториалов по использованию ботов именно вместе с django. Был вариант, который я нашел, с реализацией через core команды по типу manage.py runserver и тд, но зачем для простенького бота такие заморочки. Даже думал попробовать использовать Flask, ведь его много где использовали и он мне даже показался очень удобным по началу для моей задачи. А потом просто все заработало и я понял, что это проще, чем кажется. Собственно, сегодня разберем бота на Django и pyTelegramBotApi.

Бот на Django...

Как я писал библиотеку на Python

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

Читать далее

Адаптируем доп.материал из книги Васильева А.Н. " Программирование на С++ в примерах и задачах" под Linux

Уровень сложностиПростой

Адаптируем код примера из книги Васильева А.Н. под Linux

Проблема: Так как в книге выбрана среда разработки Visual Studio Express 2013 (OS Windows) и программы тестировались на ней. В Linux дополнительный материал к книге " Программирование на Си++ в примерах и здачах " (http://eksmo.ru/c++_codes.zip) открывается с проблемами в русской кодировке.

О чём: В статье представлено решение проблемы с кодировкой русского текста в комментариях к программе и при выводе текста в консоль.

Читать далее

Кто такой тимлид и чем он занимается

Уровень сложностиПростой

Когда я устраивался на должность тимлида после работы в студии, то поймал лютый синдром самозванца. Я думал, что вот есть настоящие лиды, а я что? Я ничего об этом знаю и не справлюсь. 

Я стал искать информацию в интернете и, кажется, прочитал и просмотрел все, что на тот момент было в доступе о тимлидстве. 

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

Читать далее

Как я создавал поисковик с нуля: личный опыт

Всем привет. Меня зовут Азат Юлдашев. Я учусь на первом курсе образовательного центра «Алабуга Политех» по специальности «Программирование Python». Хочу поделиться с вами опытом создания поисковика.

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

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

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

Читать далее

Как найти и удалить майнер с компьютера Windows

Уровень сложностиПростой

Пользователи время от времени встречаются с зависаниями ПК. Здесь есть множество причин — от слабых комплектующих до захламления памяти. Но так же устройства начинают виснуть из-за компьютерных вирусов. Вирусы-майнеры являются очень популярными среди злоумышленников уже на протяжении 4 лет. Именно поэтому мы считаем, что каждому пользователю нужно знать, как найти майнер на компьютере Windows 7, 10 вовремя.

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

Есть 2 эффективных метода их обнаружения.

Читать далее

Замена терминала Tilda обычным gnome-terminal

Уровень сложностиПростой

Привет, вот уже много лет я большую часть времени провожу в линуксе, а значит, работа в терминале для меня в каком-то роде необходимость. Раньше я пользовался стандартным терминалом, который шел в комплекте с Linux Mint, а затем и с Pop!_Os, пока мой коллега не показал мне Tilda. Это была любовь с первого взгляда: терминал в быстром доступе по нажатию одной клавиши, не создает миллион окошек каждый раз и, в целом, достаточно приятный и удобный.

Но времена меняются. Примерно год назад я купил себе ультра-широкий 49" монитор, на котором Tilda запускается во всю ширину экрана, что крайне неудобно, т.к. приходится крутить головой (я использую oh-my-zsh с темой powerlevel10k, из-за чего полезная информация отображается как у левого края консоли, так и у правого). Скажу честно, особо разбираться с настройками Tilda я не стал, хотя и попробовал руками задать ширину окна. Не помогло, а руки чесались написать свой велосипед...

Читать далее

Можно ли сделать хороший сайт на Opencart (Ocstore) «из коробки»?

На старте любого e-commerce проекта требуется выбрать движок для будущего сайта, и часто люди интересуются, стоит ли выбирать бесплатный движок для интернет‑магазина, или придётся сразу покупать платный вариант. Это достаточно важный момент, ведь на старте проекта итак вкладываться много усилий для того, чтобы создать сайт в желаемом дизайне и наполнить его контентом. Поэтому совсем не хочется проделать трудный путь напрасно и переделывать все сначала. В этом посте я попытаюсь рассказать о том, что ждёт предпринимателя «за кулисами» бесплатной CMS Opencart (OCstore).

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

Читать далее

Telegram Бот-Переводчик на Python

Уровень сложностиПростой

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

Читать далее

Стандартизация, сертификация и начало пути в QA

Уровень сложностиПростой

В общем, я «твёрдо и чётко» решил учиться на QA, где именно говорить пока не буду, а то ведь у нас принято в народе подозревать в рекламе любой текст, ну или просто хейтить. Cтартовал 19 января.

Читать далее

Переосмысление Flappy Bird или анатомия клона «Яндекс игр»

Являясь небольшой начинающей командой разработчиков, мы решили попробовать свои силы в создании клона популярной игры с добавлением новых элементов в геймплее и визуальной составляющей. Задача была найти идею с минимальным сроком производства. Выбор пал на всем известную Flappy Bird. Изначально, нам не хотелось создавать «в лобовую» клон известного проекта, задача была сделать иначе и лучше, при этом, не придумывая велосипед. Другими словами, научиться делать качественный ремейк.

Читать далее

Паттерн проектирования «Декоратор» / «Decorator»

Уровень сложностиПростой

Паттерн декоратор (Decorator) – один из наиболее известных и распространенных паттернов проектирования, используемых в Java. Он позволяет динамически добавлять новую функциональность к объектам, не изменяя их исходный код. Это очень удобно, когда нужно добавить дополнительные возможности к уже существующему объекту.

Пример использования паттерна декоратор в Java: Предположим, у нас есть интерфейс Pizza, который имеет методы getDescription() и getCost(). Этот интерфейс представляет собой базовый класс для разных типов пиццы.

Читать далее

Что нужно знать для переезда на Бали?

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

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

На Бали кайфовый климат, всегда тепло, довольно лайтовый сезон дождей, не как в Тае, красиво, развито, есть все необходимое для длительного комфортного проживания: быстрый интернет, коворкинги, модные кафе на любой вкус и цвет, жилье на любой бюджет, а главное - огромное русскоговорящее комьюнити.

Читать далее

Освоение ремесла. Руководство по становлению квалифицированным программистом

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

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

Читать далее

Почему вы должны писать на TypeScript в 2023 году?

Уровень сложностиПростой

TypeScript — то же самое, что и JavaScript, но переменные не могут менять типы.

Цель создания TypeScript — сделать JavaScript лучше. TypeScript добавляет в JavaScript типы, позволяя явно задавать их для всех структур данных. Это увеличивает читаемость кода и уменьшает количество ошибок в финальной сборке приложения.

Читать далее