Продолжаем говорить о производительности и оптимизации кода. Сегодня поговорим о том, как и зачем оценивать сложность алгоритмов, а также наглядно покажем, как эта сложность влияет на производительность кода.
User
Почему FAR — центр моей компьютерной вселенной
Какую программу вы обычно запускаете сразу после загрузки операционной системы? Кто-то сразу стартует браузер — поглядеть, кто там сегодня в Интернете (на Хабре) неправ. У многих — это редактор кода: «Я, как утром встал, сразу за дрель!». Возможно, вы сначала привычно открываете мессенджеры и почту — проверить, что там нового и важного.
Я обычно сразу после запуска операционки открываю свой Любимый Файловый Менеджер. Это «переходящее звание» — в разные периоды моего компьютерного прошлого этой чести «удостаивались» разные приложения с классическим двухпанельным интерфейсом. Сначала это был простой, но универсальный Norton Commander. Потом появился DOS Navigator со всяческими классными фичами: CD-плеер, телефонная книга с дозвоном по модему, встроенный табличный редактор и прочие прекрасные и поразительные для тех лет вещи.
Когда Windows прочно вытеснил DOS и все понемногу забыли про файл autoexec.bat, звание моего любимого файлового менеджера плавно перешло к Total Commander. Он продержался довольно долго, но в какой-то момент в мою жизнь буквально ворвался FAR...
Создаем свой аналог sqlite c нуля. Часть #1
Это цикл статей где мы создаем базу данных с нуля. За образец автор взял sqlite, так как простая база данных, где вся база данных храниться в одном файле и меньше фич по сравнению с mysql.
Мы ответим на эти вопросы: В каком формате данные будут сохранены(в памяти или на диске), Когда они должны сохраняться на диск? Почему первичный ключ(primary key) является единственным на одну таблицу?, и так далее
В этой части мы создадим REPL, которое принимает команды, обрабатывает ошибки.
Как я свою игру делал и что из этого получилось
Создание своей игры. Я думаю, что многие игроки задумывались или даже пробовали заниматься этим делом. Сегодня всё большую аудиторию захватывают проекты независимых разработчиков, появляются видео на ютубе от одиночных авторов и идея создать свою игру видется всё более привлекательной.
На этой волне я и сам занялся созданием своей первой игры, на данный момент она ждет своего выхода в магазине стима, а ниже я расскажу про путь её создания и поделюсь своим опытом.
Итак, вводные у меня были такие. Я достаточно рано решил, что хочу работать в игровой индустрии. Пробовал себя в разных ролях, но осилить программирование по книжкам в 12 лет оказалось непросто задачей, тогда я по сути методом исключения перешел на изучение 3д моделирования. Уже в 16 лет я получил первую работу в качестве 3д художника в Crazy Panda Games в маленький отдел, который занимался гиперказуалками и был эдаким обучалищем для джунов. После года моей работы там в мире произошли некоторые обстоятельства, из-за чего меня и многих моих коллег уволили, а поиск работы в индустрии стал на порядок сложнее.
Блеск и нищета паттерна «Спецификация» в С#. Оцениваем планы запросов
О паттерне «Спецификация», который позволяет улучшить структуру приложения, и, следовательно, увеличить гибкость, уменьшив при этом объем кода, а значит — сократить количество ошибок, но это не точно. Почему? - читаем ниже.
Использование Redis почти как SQL БД: Реализация чата с кешированием сообщений
Допустим, мы хотим создать чат и хранить сообщения для него. Вполне возможно, мы можем добавить для этого простую базу данных (БД), такую как MySQL или даже NoSQL БД.
Обычно многие используют Redis как key‑value (dictionary) хранилище. Тем не менее, Redis — это несколько большее, чем key‑value, как многие привыкли думать.
Как калькуляторы вычисляют синус?
Синус, одна из фундаментальных тригонометрических функций, играет важнейшую роль в различных областях, включая математику, физику, проектирование и computer science. Процесс его вычисления нетривиален, особенно при реализации в электронных калькуляторах, где крайне важна эффективность и точность.
В предыдущих постах серии мы изучили, как калькуляторы решают уравнения и как они вычисляют квадратные корни. В этом посте мы изучим запутанный процесс вычисления функции синуса, начав с простых аппроксимаций, а затем перейдя к более сложным методикам.
План самостоятельного обучения DDD, CQRS, EventSourcing
Если вы собрались плотно погрузиться в тему Doman Driven Design (DDD), о том как его применять, как использовать, для чего он нужен, и как с ним связаны Command and Query Responsibility Segregation (CQRS), Event Sourcing и другие термины из мира DDD то можно воспользоваться планом обучения, который последовательно погрузит вас в эти темы и поможет сориентироваться. Часть информации на русском, часть на английском языке, так как русскоязычных аналогов я не смог найти.
Domain-driven design: рецепт для прагматика
Почему к DDD обычно подходят не с той стороны? А с какой стороны надо? Какое отношение ко всему этому имеют жирафы и утконосы?
Специально для Хабра — текстовая расшифровка доклада «Domain-driven design: рецепт для прагматика». Доклад был сделан на .NET-конференции DotNext, но может пригодиться не только дотнетчикам, а всем интересующимся DDD (мы верим, вы осилите пару примеров кода на C#). Видеозапись доклада также прилагается.
Разбираемся с middleware в ASP.NET Core
Этой статья раскрывает концепции Middleware в ASP.NET Core. К концу этой статьи вы получите четкое представление о следующих моментах:
- Что такое Middleware?
- Почему порядок расположения Middleware имеет значение?
- Методы Run, Use и Map.
- Как создать собственное Middleware?
- Как реализовать просмотр каталогов с помощью Middleware?
Сто паттернов для разработки корпоративных программ. Часть первая
В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.
Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут посвящены паттернам из книг Мартина Фаулера и Роберта Нистрема.
Топ-10 блоков питания в 2023 году: от бюджетных и компактных до дорогих и мощных
Какой выбрать блок питания и на что стоит обратить внимание. Ведь именно он отвечает за безопасность и стабильность всех комплектующих. При покупке нового устройства смотрите на его мощность, наличие сертификатов от 80 Plus и Cybenetics, КПД, уровень шума, виды разъёмов и гарантийный период.
В подборке представлено 10 блоков питания от известных брендов: Corsair, Cooler Master, MSI, Thermaltake, SilverStone, EVGA и XPG. Большинство из них формата ATX.
Информация и цены актуальны на момент написания статьи.
25 вопросов и ответов по терминам REST API на собеседовании по вакансии системного аналитика
Cистемный аналитик играет ключевую роль в проектировании приложений и построении интеграций. Одним из основных инструментов для этого является REST API и знание REST API — важный навык для системного аналитика. В этой статье мы представим 25 вопросов по REST API, которые помогут вам подготовиться к интервью на вакансию системного аналитика и прокачать свои навыки. Полезного чтения!
Когнитивные искажения в программировании. Часть 2
Всем привет!
Ну что ж, давайте продолжим знакомство с когнитивными искажениями и узнаем, какие еще ловушки нам уготованы. (А для тех, кто только что присоединился, вот ссылка на первую часть этой статьи.)
Как сохраняли еду во время путешествий до появления холодильника
Первый в мире холодильник был запатентован в 1899 году, но как без него справлялись путешественники на протяжении многих тысячелетий? У них были свои хитрости и способы сохранения продуктов.
Мы продолжаем серию статей о путешествиях. В первой части мы рассказали, что ели и чем лакомились мореплаватели в ходе экспедиций. Сегодня расскажем, как им удавалось сохранять продукты без холодильника, а также историю создания бульонного кубика.
«Клиентов нужно не искать, а создавать»: погружение в Telegram API через TDLib
Сперва я рассказывал простые вещи о Telegram Bot API и делал интересных ботов — виртуальную подругу и друга для заказа шавермы. Затем коснулся тестовых серверов и юзерботов. И наконец, пришла пора заглянуть глубже — узнать, как сделать свой клиент для Telegram. Что такое TL-схема и TDLib? Об этом мы сегодня и узнаем.
Данная статья не только поможет тем, кто решил написать свой клиент для Telegram, но и немного расширит кругозор остальным: MTProto — это не приевшийся JSON API. Добро пожаловать под кат!
Готовы показать свои знания в IT? Примите участие в IT-кроссворде Selectel, выиграйте 10 000 рублей на аренду серверов и эксклюзивный мерч Selectel.
Сравнение HTTP-библиотек
В .NET приложениях часто приходится обращаться к внешним HTTP-сервисам. Для этого можно воспользоваться стандартным HttpClient, или какой-нибудь сторонней библиотекой. Мне приходилось сталкиваться с Refit и RestSharp. Но никогда мне не приходилось принимать решение о том, что именно применять. Всегда я уже приходил в проект, который использовал ту или иную библиотеку. И мне пришло в голову как-то сравнить эти библиотеки, чтобы в случае необходимости осмысленно принимать решение об их использовании. Этим я и займусь в данной статье.
Но как конкретно сравнивать эти библиотеки? Я нисколько не сомневаюсь в том, что все они способны совершать HTTP-запросы и получать ответы. В конце концов, вряд ли они стали бы настолько популярны, если бы не могли делать это. Меня больше интересуют дополнительные возможности, которые бывают весьма полезны в крупных корпоративных приложениях.
Давайте приступим.
Это база: нюансы работы с Redis. Часть 1
Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на то, что в Интернете очень много статей и докладов по этой БД, мы в своей практике достаточно часто встречаемся с непониманием некоторых основных концепций Redis и со стороны разработчиков, и со стороны системных администраторов.
В серии статей я попытаюсь осветить неочевидные нюансы при работе с Redis и сегодня начну с основных концепций и понятий. А еще в конце статьи приведу небольшой чек-лист, который может помочь вам в оптимизации этого NoSQL решения.
Доводим разработчика до выгорания: три простых шага
В первом случае я был ведущим специалистом в стартапе на посевной стадии с финансированием, работал непосредственно под и совместно с руководителем. Во втором я был одним из рядовых разработчиков, работал в команде из одиннадцати человек в составе крупной технологической компании (уровня Meta, Google, Apple и т.д.). Вот пошаговое руководство из методички выгорания, по которой работали эти команды.
Микросервис отправки писем через smtp Yandex .Net Web Api MailKit
Эта статья предназначена для новичков и рассматривает микросервис отправки писем через smtp Yandex с использованием .Net Web Api и MailKit. В ней будет рассмотрено, как настроить и использовать данный микросервис для отправки писем с помощью почтового сервиса через существующий почтовый ящик Яндекса.
Ссылки для понимания и работы
Дерево проекта:
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity