Pull to refresh
4
0.1
Send message

C#, Кодогенерация и DDD. Часть 2 — Получаем данные и пробуем генерировать

Level of difficultyHard
Reading time10 min
Views2.9K

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

А атрибуты из Roslyn - как объекты.

Читать далее

C#, Кодогенерация и DDD Часть 1 — Настраиваем проект и запускаем простой кодогенератор

Level of difficultyMedium
Reading time8 min
Views6.3K

В этом цикле статей рассмотрим как можно легко и быстро делать на C# любые однотипные действия просто навешивая атрибуты на доменные сущности

(первая часть, вторая часть, третья часть)

Читать далее

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

Level of difficultyEasy
Reading time2 min
Views1.5K

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

В голову пришло три способа организации:

Читать далее

Как стать C#-разработчиком с нуля? Бесплатная программа обучения

Level of difficultyEasy
Reading time2 min
Views39K

Если вбить слово «С# разработка» в поисковую строку, можно найти огромное количество курсов по данному направлению. Проблема в том, что все курсы являются платными и, как правило, имеют ценник в несколько десятков тысяч рублей.

Чтобы разбавить засилие платных курсов, мы подготовили для вас программу обучения «C#-разработчик с нуля», которая состоит только из бесплатных материалов.

Читать далее

Книга: «Антипаттерны SQL. Как избежать ловушек при работе с базами данных»

Reading time10 min
Views18K
image Привет, Хаброжители!

Язык SQL необходим для работы со структурированными данными. Программисты, прекрасно знающие свой любимый язык (Java, Python или Go), не могут разбираться во всем, и часто не являются экспертами в SQL. Это приводит к появлению антипаттернов — решений, которые на первый взгляд кажутся правильными, но со временем создают все больше проблем.

Научитесь выявлять и обходить многие из этих распространенных ловушек! Проведите рефакторинг унаследованного кошмара и превратите его в жизнеспособную модель данных!

Примеры SQL-кода основаны на версии MySQL 8.0, но в тексте также упоминаются другие популярные РСУБД. В примерах кода используется Python 3.9+ или Ruby 2.7+.
Читать дальше →

Инструмент для автоматической оценки конкурса при поступлении в ВУЗы РФ

Reading time7 min
Views12K

Каждый выпускник школы сталкивается с проблемой выбора профессии и, следовательно, ВУЗа. Этот этап жизни является наиболее сложным для школьника психологически: нужно подготовиться и сдать экзамены, от которых зависит, наберут ли они проходной балл в выбранное учебное заведение. Сам процесс поступления тоже является источником стресса: новая система подачи документов не гарантирует 100% зачисление даже с необходимыми баллами. До самого последнего момента абитуриент не знает, пройдёт он или нет на бюджет в выбранных ВУЗах и решение о подаче оригиналов документов приходится принимать на основании ограниченной информации и своих собственных предположениях о дальнейшем развитии ситуации. Получается, все выпускники последние 2 месяца лета не наслаждаются заслуженным отдыхом, а всей страной играют в покер со ставками на свое дальнейшее образование!

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

Читать далее

Typeser: 1С-like ERP-конструктор на базе TypeScript

Reading time6 min
Views6.6K

Хотелось бы представить на суд местного сообщества недавно созданную облачную веб платформу разработанную бывшим 1с-овцем освоившим java, js, ts, react.

Интерфейсы TypeScript(*.d.ts файлы) генерируются на лету. Они актуальны и доступны в коде даже без сохранения конфигурации.

Главная фишка - есть возможность писать обработчики событий на языке TypeScript и sql код на триггеры при записи объектов. Редактор кода тоже онлайн и реализован на базе monaco-editor. В нем типизируется все: структура и типы метаданных, данные и элементы формы, события обработчиков.

Читать далее

Создание многопоточного сервера на C#

Level of difficultyEasy
Reading time10 min
Views39K

Данная статья предназначена для таких же новичков как и я. Вся информация в этой статье основывается на моем опыте создания одного единственного веб-сервера, который был создан в рамкам учебного проекта на 3 курсе по специальности 09.02.07 СПО.

Читать далее

Пара баек про IT-безопасность

Reading time4 min
Views17K

Сейчас мои продукты, написанные для Роспатента, проходят аттестацию по информационной безопасности. Этот "увлекательный и интересный" процесс побудил меня вспомнить несколько баек из моей личной практики, связанные с IT-безопасностью.

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

Да будет байка!

Шпаргалка — Как активировать лицензии 1С при помощи утилиты Ring

Reading time4 min
Views16K

Идея этого поста - шпаргалка на будущее, но я буду рад, если кому-то пригодится приведенная информация.

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

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

Стоит отметить, что в этом примере лицензии привязываются к параметрам машины!

Поехали.

Читать далее

Принципы работы IQueryable и LINQ-провайдеров данных

Reading time8 min
Views79K
Средства LINQ позволяют .Net-разработчикам единообразно работать как с коллекциями объектов в памяти, так и с объектами, хранящимися в базе данных или ином удаленном источнике. Например, для запроса десяти красных яблок из списка в памяти и из БД средствами Entity Framework мы можем использовать абсолютно идентичный код:

List<Apple> appleList; 
DbSet<Apple> appleDbSet;
var applesFromList = appleList.Where(apple => apple.Color == “red”).Take(10);
var applesFromDb = appleDbSet.Where(apple => apple.Color == “red”).Take(10);

Однако, выполняются эти запросы по-разному. В первом случае при перечислении результата с помощью foreach яблоки будут отфильтрованы с помощью заданного предиката, после чего будут взяты первые 10 из них. Во втором случае синтаксическое дерево с выражением запроса будет передано специальному LINQ-провайдеру, который транслирует его в SQL-запрос к базе данных и выполнит, после чего сформирует для 10 найденных записей объекты С# и вернет их. Обеспечить такое поведение позволяет интерфейс IQueryable<T>, предназначенный для создания LINQ-провайдеров к внешним источникам данных. Ниже мы попробуем разобраться с принципами организации и использования этого интерфейса.
Читать дальше →

Про лояльность и ЗП

Reading time4 min
Views103K

Пишу эту статью для гениальных генеральных директоров, хитрых умных собственников и руководителей отделов кадров служб персонала компаний, в которых трудятся ИТ специалисты и разработчики. Я поработал много где - начиная от домашне-уютных, с "семейной атмосферой", компаний и до "кровавого энтерпрайза", типа гигантов нефте-золото-брильянто-страховой металлургии. Начинал с админства, макросов и программирования приложений БД и постепенно ушёл на тёмную сторону дорос до ИТ директора в одной хорошей ИТ компании. Сегодня хочу поговорить про лояльность компании и про "денежную мотивацию", которая "в ИТ - не работает".

Почитать сказки про лояльность

Как надёжно удалить файлы и зачистить HDD/SSD

Reading time7 min
Views95K


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

Естественно, в квартире находят множество улик, позволяющих квалифицировать гражданина сразу по нескольким статьям.

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

Лучше 1С может быть только 1С: Базуха

Reading time5 min
Views11K

Я уже ранее писал о том, что придумал движок, который позволяет работать с не 1С SQL-базой из клиентов, которыми являются базовые конфигурации 1С:Деньги. Думаю, это классное решение для небольших частных или малотиражных конфигураций! Я назвал его Базовый Учет или Базуха (Базовый Учет Хозяйства).

Читать далее

Убийца 1С на 1С

Reading time2 min
Views19K

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

Читать далее

Как вернуть былую славу 1С? (Make 1C Great Again)

Reading time41 min
Views51K
Сегодня компания 1С прекрасно себя чувствует — крепко удерживает лидерские позиции на рынке учетных систем СНГ, продвигает свои облачные решения, покупает новые технологии и целые компании, заключает выгодные союзы с IT-гигантами, правительство РФ включает их в перечень системообразующих компаний. Но надолго ли этот успех? Не перейдет ли в скором времени некогда успешная компания в учебники по бизнесу как яркий пример ошибок роста? И можно ли избежать возникающих проблем?

Данная статья описывает ситуацию, которая сложилась вокруг платформы 1С: Предприятие. Ведь несмотря на покупку известных веб-продуктов (Битрикс, МойСклад, Мегаплан, amoCRM, UMI и т.д.), основной доход для компании 1С уже третий десяток лет продолжают приносить именно продажи и обслуживание решений на платформе 1С: Предприятие.

Судьба предателя, угнавшего новейший МиГ-25 в Японию

Reading time9 min
Views1.5M

Сегодня в воздушном пространстве США летают около пятидесяти истребителей российского производства — от устаревших МИГ-15 и до современных МИГ-29. Большая их часть приобретена на открытом рынке после распада Советского Союза и расторжения Варшавского Договора. В советское время у американцев не было шансов приобрести наши боевые машины, хотя Штаты ради этого были готовы на все.

6 сентября 1976 года произошло ЧП: во время учебного полета на одном из дальневосточных аэродромов в Приморье, старший лейтенант Виктор Беленко поднялся в воздух на суперсовременном МИГ-25, и не вернулся на базу.

Сегодня в воздушном пространстве США

Как я ушел на 1С-фриланс

Reading time4 min
Views42K

Хочу рассказать, как я умудрился уйти на фриланс.

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

Я приближался к возрасту 45 лет, работа программистом 1С вызывала отвращение. Необходимость каждый день быть в офисе "от звонка до звонка" воспринималась как рабство. 1С, кстати, я занимаюсь уже 20 лет. При этом еще 2.5 часа в день тратил на дорогу.

Читать далее
1

Information

Rating
3,249-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity