Обновить

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

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

Всем привет. Меня зовут Азат Юлдашев. Я учусь на первом курсе образовательного центра «Алабуга Политех» по специальности «Программирование 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 типы, позволяя явно задавать их для всех структур данных. Это увеличивает читаемость кода и уменьшает количество ошибок в финальной сборке приложения.

Читать далее

Clean ABAP — Как сделать код чистым, прочитав рекомендации к единому стилю? Часть 1

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

К сожалению привлечь внимание АБАПера можно лишь рассказав шутку про 1С. Но мы постараемся обойтись без шуток. У нас есть замечательная возможность обсудить стиль чистого кода, к которому надо стремиться. Надо ли?

Читать далее

Мультиархитектурность

Привет, читатель! Возникла у меня идея порассуждать на занимательную, на мой скромный взгляд, тему. Возникла она у меня потому что, наверное, просто накипело. Эта тема, как ты уже понял из названия, мультиархитектурность (забавный термин который я сам же и придумал, хотя не уверен, быть может он существовал и до меня).

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

Читать далее

Очередное доказательство

Как известно, теорема Ферма была доказана в 1995 году. Только поиски простого доказательства не остановились. Ферма, говорят, уместил его на полях книги. Предлагаю очередную попытку. С желанием разобраться в правильности или нет данного доказательства. Оно опирается на школьную математику. Правда, затрагивает лишь трехмерное пространство. Есть надежда, что этот метод подойдет и для n-мерных пространств, где n>3.

Читать далее

Как работает буферизация в Rust: стандартная библиотека std::io::{BufReader, BufWriter}

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

Для себя задался вопросом, как работает буферизация для Rust и зачем она нужна при чтении файла с текстом. Оказалось, что ответ найти сложно: про буферизацию чаще всего разбирают либо в контексте C++, либо Java, но первый вариант сложноват, а второй не подходит из-за разных подходов к работе с памятью.

Казалось бы, можно открыть стандартную библиотеку Rust, найти документацию std::io::{BufReader, BufWriter} и закончить на этом. Однако моя цель разобрать вопрос на более фундаментальном уровне, поэтому ниже попробую сделать это, несмотря на пробелы в базовых знаниях.

Читать далее

Как инвестировать россиянину в 2023, и почему именно в крипту?

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

Читать далее

Как выложить свой модуль на PyPI

PyPI (Python Package Index) - это каталог модулей и библиотек для языка программирования Python, которые могут использовать все. Я думаю, все, кто программируют на Python, хотя бы раз устанавливали и использовали модули. Так вот, все пользовательские модули (т. е. те модули, которые вы устанавливаете, а не те, которые идут из-под коробки) выложены на PyPI.

Что же нам нужно, чтобы выложить модуль на PyPI?

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

Command Injections Ч.1

Уязвимость Command injection (В дальнейшем CMDi) относится к наиболее критическим типам уязвимостей. Она позволяет нам выполнять системные команды непосредственно на внутреннем сервере хостинга, что может привести к плачевным последствиям. Если веб-приложение использует управляемый пользователем ввод для выполнения системной команды на внутреннем сервере, мы можем внедрить вредоносную полезную нагрузку, чтобы выполнять наши команды.

Читать далее