Как стать автором
Обновить
1
0

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

Отправить сообщение

Как написать Telegram бота на C#? [Часть 1]

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров27K

Приветствую, товарищи-программисты!

Материалы по разработке Telegram ботов на C# начинают потихоньку устаревать, новой информации я не нашел, поэтому решил написать свою статью.

В своей статье я написал простенького Telegram бота для обучения и использования его основы в ваших будущих проектах. А как я сделал, смотрите в моей статье!

Хочу своего бота!
Всего голосов 22: ↑13 и ↓9+4
Комментарии111

Как стать Delphi-программистом за час «для самых маленьких»

Уровень сложностиПростой
Время на прочтение41 мин
Количество просмотров16K

Принято считать, что программирование это сложно, но это миф (все проще чем кажется), и все что нужно чтобы стать программистом это немного упорства и изобретательности.

В этой статье мы получим все базовые навыки, которые нужны Delphi программисту (включая базовые знания RunTime, работу с Com-объектами и Canvas, вводом\выводом, файлами, парсингом, ооп, и тд), по окончании статьи.

Окунутся в чудесный мир бесконечного скрол
Всего голосов 44: ↑24 и ↓20+4
Комментарии186

Вариантность в программировании

Время на прочтение6 мин
Количество просмотров110K

До сих пор не можете спать, пытаясь осмыслить понятия ковариантности и контравариантности? Чувствуете, как они дышат вам в спину, но когда оборачиваетесь ничего не находите? Есть решение!


Меня зовут Никита, и сегодня мы попытаемся заставить механизм в голове работать корректно. Вас ожидает максимально доступное рассмотрение темы вариантности в примерах. Добро пожаловать под кат.

Читать дальше →
Всего голосов 56: ↑49 и ↓7+42
Комментарии22

Обзор нововведений в C# 10

Время на прочтение6 мин
Количество просмотров35K

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

Читать далее
Всего голосов 42: ↑41 и ↓1+40
Комментарии57

Unity: Что представляет из себя Coroutine и зачем там IEnumerator

Время на прочтение5 мин
Количество просмотров20K

Название статьи - это вопрос, который мне задали на собеседовании на позицию Middle. В этой статье мы расмотри корутины в Unity, что они из себя представляют, и заодно захватим тему Enumerator\Enumerable в С# и небольшую тайну foreach. Статья должна быть очень полезной для начинающих и интересной для разработчиков с опытом.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии7

Даты, время и часовые пояса: улучшения в .NET 6

Время на прочтение15 мин
Количество просмотров16K

Материал переведен. Ссылка на оригинал

В этой статье я расскажу о грядущих улучшениях в .NET 6, затрагивающих даты, время и часовые пояса. Все, о чем здесь говорится, вы можете опробовать сами — эти возможности будут доступны, начиная с версии .NET 6 Preview 4.

Мы рассмотрим следующие темы:

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии5

События C# по-человечески

Время на прочтение6 мин
Количество просмотров488K

Невозможно, просто взять и вникнуть в этот глубокий смысл, изучая События (event) в просторах базового и, на первый взгляд, бесконечного C#.

Когда я изучал События (не в рамках .NET!), потратил много сил, чтобы, наконец-то, разобраться, как они устроены и должны конструироваться. Поэтому, я решил опубликовать свою методику понимания структуры пользовательского события, коим представляется ключевое слово event в С#.
Не буду цитировать и без того замученную MSDN, а постараюсь объяснить понятно и доступно.
Читать дальше →
Всего голосов 63: ↑44 и ↓19+25
Комментарии60

Как работают векторы. Баскетбол на Unity 3D

Время на прочтение5 мин
Количество просмотров5.7K

На примере создания 2D игры «Баскетбол», рассмотрим векторы (скорости, сил, локальной и глобальной систем координат). Разберем принципы представления систем координат и представления векторов. А еще, затронем работу с LineRenderer и многокамерность.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии1

Уменьшить размер консольного .NET 5.0 приложения

Время на прочтение3 мин
Количество просмотров5.3K

Сборка консольного приложение может неожиданно создать файл гораздо большего размера чем ожидалось из-за неявных зависимостей.

В чём проблема и как решить?

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии34

Ahead-of-Time компиляция и Blazor

Время на прочтение3 мин
Количество просмотров5K

В .NET 6 запланирована поддержка AOT компиляции для Blazor WebAssembly приложений. Давайте попробуем запустить в Preview 2 версии.

Анонса и инструкций пока что нету. Поэтому и решено написать этот пост.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии3

Посмотрим на девочек? Или ml.net в работе

Время на прочтение9 мин
Количество просмотров65K

К сожалению, мир машинного обучения принадлежит python.

Он давно закрепился, как рабочий язык для Data Silence, с чем Microsoft решила поспорить. Так появился ML.NET, кросс-платформенная и открытая система машинного обучения для разработчиков .NET.

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

Ознакомиться
Всего голосов 39: ↑35 и ↓4+31
Комментарии62

SQLite — не игрушка

Время на прочтение7 мин
Количество просмотров79K

Рассказываю, почему SQLite отлично подойдет вам в повседневной работе. И неважно, разработчик вы, аналитик, тестировщик, админ или продакт-менеджер.

Читать далее
Всего голосов 239: ↑237 и ↓2+235
Комментарии89

А что если перейти на Удобный Шестидневный календарь?

Время на прочтение3 мин
Количество просмотров72K

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


Предложение по новому календарю


Примем, что в году 360 дней. В каждом месяце установим ровно по 30 дней. То есть 5 недель по 6 дней. Год начинается с понедельника, а каждый месяц будет начинается с понедельника и заканчивается субботой.


Оставшиеся 5 (в високосный год 6) дней находятся вне календаря. Назовём эту вневременную неделю "Предновогодней":


Число 360 имеет следующие простые делители 2 2 2 3 3 5, то есть очень удобно для вообще любых математических манипуляций, да и 360° всем известно.


Читать дальше →
Всего голосов 121: ↑104 и ↓17+87
Комментарии388

Как удалить «неудаляемые» приложения со смартфона

Время на прочтение5 мин
Количество просмотров249K


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

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.
Читать дальше →
Всего голосов 190: ↑179 и ↓11+168
Комментарии203

Как мы переосмыслили работу со сценами в Unity

Время на прочтение5 мин
Количество просмотров11K

Unity как движок имеет ряд недостатков, но которые благодаря возможностям для кастомизации и инструментам для кодогенерации можно решить.

Сейчас я вам расскажу о том, как мы написали плагин для Unity на основе пост-процессинга проектов и кодогенератора CodeDom.

Читать далее
Всего голосов 8: ↑5 и ↓3+2
Комментарии11

Полиморфизм для начинающих

Время на прочтение7 мин
Количество просмотров955K
Полиморфизм — одна из трех основных парадигм ООП. Если говорить кратко, полиморфизм — это способность обьекта использовать методы производного класса, который не существует на момент создания базового. Для тех, кто не особо сведущ в ООП, это, наверно, звучит сложно. Поэтому рассмотрим применение полиморфизма на примере.
Читать дальше →
Всего голосов 132: ↑91 и ↓41+50
Комментарии131

VPS на Linux с графическим интерфейсом: запускаем сервер RDP на Ubuntu 18.04

Время на прочтение6 мин
Количество просмотров82K

В предыдущей статье мы разобрали запуск сервера VNC на виртуальной машине любого типа. У этого варианта масса недостатков, основным из которых являются высокие требования к пропускной способности каналов передачи данных. Сегодня мы попробуем подключиться к графическому рабочему столу на Linux по RDP (Remote Desktop Protocol). Система VNC основана на передаче массивов пикселей по протоколу RFB (Remote Framebuffer), а RDP позволяет отправлять более сложные графические примитивы и высокоуровневые команды. Обычно он используется для организации служб удаленных рабочих столов в Windows, но серверы для Linux также доступны.
Читать дальше →
Всего голосов 56: ↑56 и ↓0+56
Комментарии48

Равномерное перемещение объекта вдоль кривой

Время на прочтение6 мин
Количество просмотров17K


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

Наверное, каждый имеющий отношение к теме знает или, по крайней мере, слышал, про кривые Безье, B-сплайны, сплайны Эрмита и прочие интерполяционные и сглаживающие сплайны и совершенно правильно предложил бы использовать в описанной ситуации один из них, но не всё так просто, как хотелось бы.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии18

Создаем стильный водопад из RiME прямо в Unity или UE4

Время на прочтение6 мин
Количество просмотров14K
Есть игры с таким запоминающимся визуалом, что страшно считать потраченное на его разработку время, взять хотя бы последний God of War или RDR2. А бывают проекты, которые подкупают своей атмосферной, даже если они далеки от ААА. Как пример — RiME не раз хвалили за стиль, звук и историю. А недавно левел-дизайнер игры перешел в команду CD Projekt Red, чтобы работать над Cyberpunk 2077. Еще RiME вдохновила 3D-художника Math Roodhuizen на создание собственного арта.

И на фоне всего этого я наткнулся на ArtStation на гайд по созданию реалистичной воды. Если в прошлый раз речь шла про реку, то в этот раз про стилизованный водопад. В первой части разберем, как создавать «волновой эффект», да еще и прямо в игровом движке. Для удобства все шаги сопровождаются гифками и/или картинками.

Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии2

Непрерывная интеграция в Unity: как сократить время сборок и сэкономить ресурсы + пайплайн в подарок

Время на прочтение6 мин
Количество просмотров9.6K


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

Платформы непрерывной разработки и интеграции, или CI/CD, сейчас используются повсеместно в тех отраслях, где решающую роль играет итеративность и отлаженность технических процессов. В этой статье речь пойдёт о CI/CD для реализации наших Unity-проектов для мобильной геймдев-разработки: с какими проблемами мы столкнулись, как их удалось решить, каких улучшений мы добились и как прописан наш пайплайн сборок билдов.

Сразу договоримся, что в качестве сервера CI мы используем TeamCity от JetBrains, в качестве хранилища Git-репозиториев ― GitHub, для хранения артефактов сборки ― Nexus.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии8
1

Информация

В рейтинге
Не участвует
Откуда
Челябинск, Челябинская обл., Россия
Зарегистрирован
Активность