Pull to refresh
3
0
Алексей @ParaPilot

User

Send message

Оцениваем сложность алгоритмов на C# по памяти и времени с примерами

Level of difficultyHard
Reading time10 min
Views3K

Продолжаем говорить о производительности и оптимизации кода. Сегодня поговорим о том, как и зачем оценивать сложность алгоритмов,  а также наглядно покажем, как эта сложность влияет на производительность кода.

Читать далее
Total votes 8: ↑6.5 and ↓1.5+5
Comments13

Почему FAR — центр моей компьютерной вселенной

Reading time4 min
Views46K

Какую программу вы обычно запускаете сразу после загрузки операционной системы? Кто-то сразу стартует браузер — поглядеть, кто там сегодня в Интернете (на Хабре) неправ. У многих — это редактор кода: «Я, как утром встал, сразу за дрель!». Возможно, вы сначала привычно открываете мессенджеры и почту — проверить, что там нового и важного.

Я обычно сразу после запуска операционки открываю свой Любимый Файловый Менеджер. Это «переходящее звание» — в разные периоды моего компьютерного прошлого этой чести «удостаивались» разные приложения с классическим двухпанельным интерфейсом. Сначала это был простой, но универсальный Norton Commander. Потом появился DOS Navigator со всяческими классными фичами: CD-плеер, телефонная книга с дозвоном по модему, встроенный табличный редактор и прочие прекрасные и поразительные для тех лет вещи.

Когда Windows прочно вытеснил DOS и все понемногу забыли про файл autoexec.bat, звание моего любимого файлового менеджера плавно перешло к Total Commander. Он продержался довольно долго, но в какой-то момент в мою жизнь буквально ворвался FAR...

Читать далее
Total votes 158: ↑161.5 and ↓-3.5+165
Comments532

Создаем свой аналог sqlite c нуля. Часть #1

Reading time5 min
Views5.2K

Это цикл статей где мы создаем базу данных с нуля. За образец автор взял sqlite, так как простая база данных, где вся база данных храниться в одном файле и меньше фич по сравнению с mysql.

Мы ответим на эти вопросы: В каком формате данные будут сохранены(в памяти или на диске), Когда они должны сохраняться на диск? Почему первичный ключ(primary key) является единственным на одну таблицу?, и так далее

В этой части мы создадим REPL, которое принимает команды, обрабатывает ошибки.

Читать далее
Total votes 13: ↑12.5 and ↓0.5+12
Comments9

Как я свою игру делал и что из этого получилось

Level of difficultyEasy
Reading time5 min
Views18K

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

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

Итак, вводные у меня были такие. Я достаточно рано решил, что хочу работать в игровой индустрии. Пробовал себя в разных ролях, но осилить программирование по книжкам в 12 лет оказалось непросто задачей, тогда я по сути методом исключения перешел на изучение 3д моделирования. Уже в 16 лет я получил первую работу в качестве 3д художника в Crazy Panda Games в маленький отдел, который занимался гиперказуалками и был эдаким обучалищем для джунов. После года моей работы там в мире произошли некоторые обстоятельства, из-за чего меня и многих моих коллег уволили, а поиск работы в индустрии стал на порядок сложнее.

Читать далее
Total votes 26: ↑24 and ↓2+22
Comments17

Блеск и нищета паттерна «Спецификация» в С#. Оцениваем планы запросов

Level of difficultyHard
Reading time20 min
Views11K

О паттерне «Спецификация», который позволяет улучшить структуру приложения, и, следовательно, увеличить гибкость, уменьшив при этом объем кода, а значит — сократить количество ошибок, но это не точно. Почему? - читаем ниже. 

Читать далее
Total votes 45: ↑44 and ↓1+43
Comments47

Использование Redis почти как SQL БД: Реализация чата с кешированием сообщений

Level of difficultyMedium
Reading time10 min
Views8.5K

Допустим, мы хотим создать чат и хранить сообщения для него. Вполне возможно, мы можем добавить для этого простую базу данных (БД), такую как MySQL или даже NoSQL БД.

Обычно многие используют Redis как key‑value (dictionary) хранилище. Тем не менее, Redis — это несколько большее, чем key‑value, как многие привыкли думать.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments6

Как калькуляторы вычисляют синус?

Level of difficultyEasy
Reading time3 min
Views54K

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

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

Читать далее
Total votes 99: ↑97 and ↓2+95
Comments52

План самостоятельного обучения DDD, CQRS, EventSourcing

Reading time7 min
Views38K

Если вы собрались плотно погрузиться в тему Doman Driven Design (DDD), о том как его применять, как использовать, для чего он нужен, и как с ним связаны Command and Query Responsibility Segregation (CQRS), Event Sourcing и другие термины из мира DDD то можно воспользоваться планом обучения, который последовательно погрузит вас в эти темы и поможет сориентироваться. Часть информации на русском, часть на английском языке, так как русскоязычных аналогов я не смог найти.

Погрузиться в DDD
Total votes 36: ↑35 and ↓1+34
Comments4

Domain-driven design: рецепт для прагматика

Reading time21 min
Views67K

Почему к DDD обычно подходят не с той стороны? А с какой стороны надо? Какое отношение ко всему этому имеют жирафы и утконосы?

Специально для Хабра — текстовая расшифровка доклада «Domain-driven design: рецепт для прагматика». Доклад был сделан на .NET-конференции DotNext, но может пригодиться не только дотнетчикам, а всем интересующимся DDD (мы верим, вы осилите пару примеров кода на C#). Видеозапись доклада также прилагается.
Total votes 45: ↑44 and ↓1+43
Comments29

Разбираемся с middleware в ASP.NET Core

Reading time6 min
Views65K

Этой статья раскрывает концепции Middleware в ASP.NET Core. К концу этой статьи вы получите четкое представление о следующих моментах:

- Что такое Middleware?

- Почему порядок расположения Middleware имеет значение?

- Методы Run, Use и Map.

- Как создать собственное Middleware?

- Как реализовать просмотр каталогов с помощью Middleware?

Приступить к прочтению!
Total votes 9: ↑8 and ↓1+7
Comments6

Сто паттернов для разработки корпоративных программ. Часть первая

Level of difficultyMedium
Reading time27 min
Views16K

В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.

Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут посвящены паттернам из книг Мартина Фаулера и Роберта Нистрема.

Читать далее
Total votes 18: ↑12 and ↓6+6
Comments20

Топ-10 блоков питания в 2023 году: от бюджетных и компактных до дорогих и мощных

Level of difficultyEasy
Reading time14 min
Views30K

Какой выбрать блок питания и на что стоит обратить внимание. Ведь именно он отвечает за безопасность и стабильность всех комплектующих. При покупке нового устройства смотрите на его мощность, наличие сертификатов от 80 Plus и Cybenetics, КПД, уровень шума, виды разъёмов и гарантийный период.

В подборке представлено 10 блоков питания от известных брендов: Corsair, Cooler Master, MSI, Thermaltake, SilverStone, EVGA и XPG. Большинство из них формата ATX.

Информация и цены актуальны на момент написания статьи.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments14

25 вопросов и ответов по терминам REST API на собеседовании по вакансии системного аналитика

Level of difficultyMedium
Reading time11 min
Views28K

Cистемный аналитик играет ключевую роль в проектировании приложений и построении интеграций. Одним из основных инструментов для этого является REST API и знание REST API — важный навык для системного аналитика. В этой статье мы представим 25 вопросов по REST API, которые помогут вам подготовиться к интервью на вакансию системного аналитика и прокачать свои навыки. Полезного чтения!

Читать далее ...
Total votes 12: ↑7 and ↓5+2
Comments11

Когнитивные искажения в программировании. Часть 2

Reading time5 min
Views9K

Всем привет!

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

Читать далее
Total votes 16: ↑12 and ↓4+8
Comments10

Как сохраняли еду во время путешествий до появления холодильника

Reading time9 min
Views12K

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

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

Читать далее
Total votes 42: ↑31 and ↓11+20
Comments44

«Клиентов нужно не искать, а создавать»: погружение в Telegram API через TDLib

Reading time9 min
Views9K

Сперва я рассказывал простые вещи о Telegram Bot API и делал интересных ботов — виртуальную подругу и друга для заказа шавермы. Затем коснулся тестовых серверов и юзерботов. И наконец, пришла пора заглянуть глубже — узнать, как сделать свой клиент для Telegram. Что такое TL-схема и TDLib? Об этом мы сегодня и узнаем.

Данная статья не только поможет тем, кто решил написать свой клиент для Telegram, но и немного расширит кругозор остальным: MTProto — это не приевшийся JSON API. Добро пожаловать под кат!

Готовы показать свои знания в IT? Примите участие в IT-кроссворде Selectel, выиграйте 10 000 рублей на аренду серверов и эксклюзивный мерч Selectel.

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

Сравнение HTTP-библиотек

Level of difficultyMedium
Reading time13 min
Views4.7K

В .NET приложениях часто приходится обращаться к внешним HTTP-сервисам. Для этого можно воспользоваться стандартным HttpClient, или какой-нибудь сторонней библиотекой. Мне приходилось сталкиваться с Refit и RestSharp. Но никогда мне не приходилось принимать решение о том, что именно применять. Всегда я уже приходил в проект, который использовал ту или иную библиотеку. И мне пришло в голову как-то сравнить эти библиотеки, чтобы в случае необходимости осмысленно принимать решение об их использовании. Этим я и займусь в данной статье.

Но как конкретно сравнивать эти библиотеки? Я нисколько не сомневаюсь в том, что все они способны совершать HTTP-запросы и получать ответы. В конце концов, вряд ли они стали бы настолько популярны, если бы не могли делать это. Меня больше интересуют дополнительные возможности, которые бывают весьма полезны в крупных корпоративных приложениях.

Давайте приступим.

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

Это база: нюансы работы с Redis. Часть 1

Level of difficultyMedium
Reading time15 min
Views32K

Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на то, что в Интернете очень много статей и докладов по этой БД, мы в своей практике достаточно часто встречаемся с непониманием некоторых основных концепций Redis и со стороны разработчиков, и со стороны системных администраторов.

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

Читать далее
Total votes 79: ↑79 and ↓0+79
Comments5

Доводим разработчика до выгорания: три простых шага

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

В первом случае я был ведущим специалистом в стартапе на посевной стадии с финансированием, работал непосредственно под и совместно с руководителем. Во втором я был одним из рядовых разработчиков, работал в команде из одиннадцати человек в составе крупной технологической компании (уровня Meta, Google, Apple и т.д.). Вот пошаговое руководство из методички выгорания, по которой работали эти команды.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments23

Микросервис отправки писем через smtp Yandex .Net Web Api MailKit

Level of difficultyEasy
Reading time7 min
Views5K

Эта статья предназначена для новичков и рассматривает микросервис отправки писем через smtp Yandex с использованием .Net Web Api и MailKit. В ней будет рассмотрено, как настроить и использовать данный микросервис для отправки писем с помощью почтового сервиса через существующий почтовый ящик Яндекса.

Ссылки для понимания и работы

GitHub Документация Яндекс

Дерево проекта:

Читать далее
Total votes 11: ↑5 and ↓6-1
Comments16
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity