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

Пользователь

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

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

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

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

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

Читать далее
Всего голосов 40: ↑25 и ↓15+11
Комментарии14

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

Время на прочтение10 мин
Количество просмотров16K
image Привет, Хаброжители!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 18: ↑4 и ↓14-10
Комментарии72

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

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

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

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

Да будет байка!
Всего голосов 21: ↑18 и ↓3+17
Комментарии49

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

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

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

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

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

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

Поехали.

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

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

Время на прочтение8 мин
Количество просмотров75K
Средства 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-провайдеров к внешним источникам данных. Ниже мы попробуем разобраться с принципами организации и использования этого интерфейса.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии3

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

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

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

Почитать сказки про лояльность
Всего голосов 203: ↑175 и ↓28+188
Комментарии709

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

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


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

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

В таких условиях чрезвычайно важно перед обыском надёжно удалить всю информацию с накопителей и мобильных устройств, чтобы злоумышленник не получил доступ к контактной книге, аккаунтам в социальных сетях и мессенджерах — иначе вы подставите своих товарищей и предоставите дополнительные улики следствию.
Читать дальше →
Всего голосов 103: ↑84 и ↓19+91
Комментарии309

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

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

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

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

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

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

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

Читать далее
Всего голосов 33: ↑26 и ↓7+22
Комментарии196

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

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

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

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

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

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

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

Сегодня в воздушном пространстве США
Всего голосов 262: ↑153 и ↓109+100
Комментарии2916

lsFusion vis 1С

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

Узнал о существовании этой среды разработки, решил сравнить «Фузину» для тех, кто занимается 1С. Чтобы понять, годится ли эта белорусская разработка на Java на роль «убийцы 1С».

Читать далее
Всего голосов 30: ↑29 и ↓1+37
Комментарии130

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

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

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

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

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

Читать далее
Всего голосов 36: ↑23 и ↓13+20
Комментарии216

Разбор статей конференции RecSys 2020

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

Привет, Хабр! Несмотря на все невзгоды года текущего, интересные мероприятия и статьи с них никуда не деваются. Поэтому ML команда Одноклассников подготовила разборы работ коллег из Google, Microsoft, Tencent и др. представленных на прошедшей этой осенью конференции по рекомендательным системам RecSys 2020.

Спектр вопросов поднимаемых в понравившихся нам статьях включает в себя как разборы новых алгоритмов рекомендаций, так и подходы к уточнению оценки старых. Вдобавок к этому мы рассмотрим очередной вариант решения задачи multi-task learning, замолвим слово о causal inference в разрезе рекомендеров, а также коснемся темы того, почему пользователи оказываются в “пузырях рекомендаций”.

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

IEnumerable<T> и IQueryable<T>, в чем разница?

Время на прочтение2 мин
Количество просмотров47K
Уважаемые Хабровчане, решил поделиться одним не очевидным моментом использования LinqToSql, с которым столкнулся некоторое время назад. А именно, про особенности использования каскадных Linq запросов:

Работая над очередным ASP.NET MVC проектом, и проектируя уровень доступа к БД мне потребовалось проверить качество скриптов, генерируемых Framework-ом L2C.

Что имеем (упрощенный вариант модели):


class User {
  public long Id { get; set; }
  public string Name { get; set; }
  public IEnumerable<Parameter> Parameters { get; set; }
}

class Parameter {
  public long UserId { get; set; }
  public string Name { get; set; }
  public string Value { get; set; }
}

Для получения данных написан класс UserRepository:

class UserRepository: MyProjectDataContext {
  public IEnumerable GetUsers() {
    return this.Users.ToModelUsers();
  }
}

static class RepositoryHelper {
  public static IEnumerable<Model.User> ToModelUsers(this IEnumerable<DataAccess.User> users) {
    return users.Select(u => new Model.User { Id = u.Id, Name = u.Name, Parameters = u.Parameters.ToModelParameters() });
  }

  public static IEnumerable<Model.Parameter> ToModelParameters(this IEnumerable<DataAccess.Parameter> parameters) {
    return parameters.Select(u => new Model.Parameter {… });
  }
}

пишем
var users = userRepository.GetUsers().ToList();

смотрим профайлер, и с удивлением обнаруживаем что для загрузки 10 пользователей и их параметров было выполнено целых 11 запросов.
подробности
Всего голосов 64: ↑43 и ↓21+22
Комментарии35

Деревья выражений в C# на примере нахождения производной (Expression Tree Visitor vs Pattern matching)

Время на прочтение18 мин
Количество просмотров39K
Доброго времени суток. Деревья выражений, особенно в сочетании с паттерном Visitor, всегда являлись довольно запутанной темой. Поэтому чем больше разнообразной информации по этой теме, чем больше примеров, тем легче интересующимся будет найти что-то, что им понятно и полезно.


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

Информация

В рейтинге
3 872-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность