Как стать автором
Обновить
409.06
Рейтинг

Программирование *

Искусство создания компьютерных программ

Сначала показывать
Порог рейтинга

Запуск фоновых задач в asp.net core

Программирование *.NET *ASP *C# *
Tutorial

Небольшой обзор стандартных средств запуска бэкграунд-задач в аспнет приложениях — что есть, чем отличается, как пользоваться. Встроенный механизм запуска таких задач строится вокруг интерфейса IHostedService и метода-расширения для IServiceCollection — AddHostedService. Но есть несколько способов реализовать фоновые задачи через этот механизм (и ещё несколько неочевидных моментов поведения этого механизма).

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

Новости

Удивительное приключение в стране оптимизирующих компиляторов

Python *Программирование *C++ *Lisp *C *

Приглашаю вас в небольшое приключение выходного дня, в котором никто никому ничего не будет доказывать. Мы просто будем реализовывать один и тот же несложный алгоритм, разыскивающий простые числа в некотором диапазоне, на нескольких языках программирования: C, C++, Scheme и Python - и смотреть, что этим кодом могут сделать современные оптимизирующие компиляторы. В процессе приключения мы увидим, что «динамический» не означает «совсем уж медленный», и посмотрим на приёмы программирования на Scheme, что, как мне кажется, можно сравнить с путешествием на экзотический остров.

Читать далее
Всего голосов 30: ↑29 и ↓1 +28
Просмотры 4.2K
Комментарии 26

OverScript — язык программирования, написанный на C#

Программирование *.NET *C# *

Привет! Меня зовут Дмитрий, я написал на C# свой интерпретируемый язык программирования, который назвал — OverScript. Это си-подобный язык со статической типизацией. Сразу скажу, что это не прототип, а готовый проект. Весь код на 100% мой. Я подробно не интересовался, как написаны другие языки, поэтому вся реализация интерпретатора это моя чистая импровизация. Мой подход неконвенциональный, поэтому к техническим аспектам стоит относиться без ассоциаций с тем, что вы могли ранее видеть в других языках, несмотря на то, что некоторые вещи могут казаться знакомыми.


image

Читать дальше →
Всего голосов 22: ↑18 и ↓4 +14
Просмотры 10K
Комментарии 68

Вопросы и ответы для собеседования Go-разработчика

Программирование *Go *Карьера в IT-индустрии

Структурирование информации — очень полезный навык. И дабы привнести некоторый порядок в этап подготовки к интервью на должность Golang разработчика (и немножко техлида) решил записывать в этой заметке в формате FAQ те вопросы, которые я задавал, задавали мне или просто были мной найдены на просторах сети вместе с ответами на них. Стоит относиться к ним как к шпаргалке (если затупишь на реальном интервью — будет где подсмотреть) и просто набору тем, которым тебе стоит уделить внимание.


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


Да, это очень объемный пост, и врятли его можно вдумчиво осилить за один подход, но поместив его в закладки он, возможно, когда-то сослужит вам добрую службу (читать его можно по частям, находясь в метро или между вечными совещаниями; да и Ctrl + F никто не отменял). Ещё ему очень не хватает оглавления для удобной навигации между вопросами, но у хабраредактора нет возможности генерировать TOC (если будут запросы об этом в комментариях — сделаю его руками). Об очепятках, пожалуйста, пишите в личку.

Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Просмотры 9.3K
Комментарии 8

Первые 255 задач на «‎литкоде»‎

Программирование *Алгоритмы *
Были годные статьи об аргументированной пользе алгоритмов (например, habr.com/ru/company/geekfactor/blog/597035), тут хочется поделиться личным опытом.

На всякий случай, не стоит переоценивать пользу алгоритмов: если вы на одном уровне зп и при этом коллега крутил на всем подряд биг О нотэйшн, скорее всего софт скилы у него развиты лучше.

Что дано: фронтэнд с элементами nodejs разработки. Знаю javascript, взял java из-за общего префикса и Брюса Эккеля. Язык годный, легко читать, осознал что надо оч много писать после 175 задачек на ресурсе под именем leetcode. Попробовал язык мобилок, язык прекрасный, но не для мобилок. Swift прекрасен и будет еще прекраснее в будущем. До наступления прекрасного будущего решил юзать питон: легко и мало писать, но трудно читать — да и пофиг, так как каждый день новая задачка.
Читать дальше →
Всего голосов 13: ↑7 и ↓6 +1
Просмотры 13K
Комментарии 12

Как проверить данные во фрейме Pandas с помощью Pandera

Блог компании SkillFactory Python *Программирование *
Перевод
Tutorial

В науке о данных важно тестировать не только функции, но и данные, чтобы убедиться, что они работают так, как вы ожидали. Материалом о простой библиотеке Pandera для валидации фреймов данных Pandas делимся к старту флагманского курса по Data Science.

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

Нерешённые проблемы кибербезопасности в ML

Информационная безопасность *Программирование *Машинное обучение *

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

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

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

VS Code portable,  делаем настоящую переносную сборку для Windows

Высокая производительность *Python *Программирование *Visual Studio *Изучение языков
Из песочницы

Я не так давно начал изучать Python, и решил,  что мне необходима портативная сборка.  Причин для этого несколько, но статья не об этом. Если вам такое не нужно, дальше можно не читать. Во время поисков решения этой задачи часто сталкивался с вопросами людей по этой теме, но однозначного решения так и не нашел, но ответы некоторых пользователей натолкнули на верное решение. Почему VS Code? Ну, просто у них есть версия “portable”, так она гордо называется на сайте, но скачав ее, возникает вопрос, а как к тебе приделать Python?

 Сразу оговорюсь, целью было сделать полноценно переносную версию из связки Python + среда разработки + Git (для изучения).  В статье все расписал максимально подробно, так же на github закину файлы со всеми изменениями, и вам останется только создать структуру каталогов как у меня. Если хотите все разложить по своему- читайте-исправляйте,  по аналогии думаю не сложно будет сделать под себя.

Читать далее
Всего голосов 7: ↑2 и ↓5 -3
Просмотры 3.3K
Комментарии 4

Нейросети-кодеры: к чему готовиться программистам?

Программирование *Natural Language Processing *
Recovery mode

Развитие искусственного интеллекта доросло до качественного прорыва, когда нейросети становятся «слегка сознательными». Из-за чего бизнесмены строят фантастические планы и считают будущие прибыли, программисты тренируют красноречие, а стратеги ищут способ защитить человечество от машинного самоуправства.

Началось все с невинной задачки: надо было понять, как вырастет мировой рынок AI в ближайшие годы. За самыми смелыми прогнозами я полез в отчет Кэти Вуд. Ее аналитики обещают, что рынок вырастет более чем в десять раз, с 10,5 до 108 триллионов долларов к 2030 году. При этом стоимость специализированного аппаратного и программного обеспечения, а также услуг по обучению нейросетей будет радикально падать. Искусственный интеллект будет брать количеством, забравшись в самые неожиданные сферы нашей жизни.

Немного фактов. Сейчас одна из самых продвинутых нейросетей для генерации текста – это GPT-3, содержащая 175 млрд токенов. В 2015 году, когда GPT только создавалась, стоимость обучения такой нейросети составила бы $875 млн, и на это потребовались бы годы. А в 2020 году такое обучение было проведено, и оно обошлось в $4,6 млн. По прогнозам ARK, в 2030 году затраты на подобную задачу снизятся до 500 долларов, а время – до нескольких часов. Понимаете, да? В 9200 раз меньше. Закон Мура с экспонентой тихо курят в сторонке.

Читать далее
Всего голосов 14: ↑4 и ↓10 -6
Просмотры 8.3K
Комментарии 14

Безопасная разработка и уязвимости программного кода

Блог компании OTUS Информационная безопасность *Программирование *DevOps *
Из песочницы

Часть 1. Как писать свой код без ошибок

На сегодняшний день трудно представить себе какую-либо отрасль бизнеса, в которой не использовались бы информационные технологии. Не только в банковской сфере, но и в промышленности, транспорте, сельском хозяйстве – везде ИТ играют огромную роль. У каждой отрасли своя специфика и найти готовое приложение, которое бы полностью удовлетворяло потребности конкретной организации не всегда возможно.

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

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.2K
Комментарии 2

Как работать с числами с плавающей точкой в Python

Блог компании SkillFactory Python *Программирование *
Перевод

К старту курса по Fullstack-разработке на Python делимся решениями классической проблемы неточности чисел с плавающей точкой для новичков. В материале вы найдёте примеры работы с функциями и классами, предназначенными специально для решения проблем чисел с плавающей точкой.

Читать далее
Всего голосов 25: ↑23 и ↓2 +21
Просмотры 7.6K
Комментарии 2

Java: отличия Map и HashMap

Программирование *Java *Интерфейсы *ООП *
Из песочницы
Перевод

Map - это интерфейс, а HashMap - одна из его реализаций. Тем не менее, в этой статье мы постараемся разобраться, чем полезны интерфейсы, узнаем как сделать код гибче с помощью интерфейсов и почему существуют разные реализации одного и того же интерфейса.

Читать далее
Всего голосов 25: ↑5 и ↓20 -15
Просмотры 7.6K
Комментарии 13

Ряд способов для передачи голоса на расстояние с помощью ESP32/Arduino

Блог компании FirstVDS Программирование *Разработка систем связи *Разработка под Arduino *

Источник картинки: silenthollywood.com

Использование микроконтроллеров ESP32/Arduino позволяет создавать достаточно любопытные проекты, среди которых особняком стоят проекты для передачи голоса. Например, создать собственную рацию, которая может быть весьма тонко настроена на программном уровне. В этой статье мы обзорно рассмотрим несколько известных способов для реализации подобной задумки.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 5.6K
Комментарии 9

Динамические структуры в shared-памяти

Программирование *C++ *Системное программирование *NoSQL *

Приветствую, читатель! Хотелось бы осветить свою небольшую библиотеку для C++, которая призвана помочь Вам создавать динамические структуры в shared-памяти. Далее - под катом.

Читать далее
Всего голосов 5: ↑2 и ↓3 -1
Просмотры 3.2K
Комментарии 27

Разбираем алгоритмы компьютерной графики. Часть 6 — Анимация «Плазма»

Python *Программирование *Компьютерная анимация *Демосцена
Tutorial

Разновидностей алгоритмов генерации "плазм" столько же, сколько, наверное, звезд на небе. Но связывает их вместе принцип плавного формирования перехода цветов.

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

Я попробую рассмотреть один из вариантов, который использует функции синуса и косинуса.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 2.7K
Комментарии 6

Hawk — оpen source сервис для поиска ошибок в коде от специалистов ИТМО

Блог компании Университет ИТМО Open source *Программирование *

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

В этот раз мы поговорим о Hawk  ―  сервисе, который автоматически анализирует код и отслеживает в нем ошибки.

Детали ― под катом.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.7K
Комментарии 1

Пробрасывание LTO-1 стримера по iSCSI, проблемы и решения

Настройка Linux *Программирование *Разработка под Linux *
Recovery mode
imageПосле просмотра серии видеороликов «Данные на магнитной ленте» от Макс “Fagear” Крюков. Захотелось себе приобрести, что-нибудь из стримеров. Требование было чтобы оно ещё работало, стоило не как крыло самолета. И было вполне годно не только чтобы проиграться. Порывшись на барахолках, был найден стример HP LTO-1, со SCSI контроллером и кучей картриджей небольшой юзаности. Подключил к компу, погонял стандартной XPшной прогой для бэкапов. Всё работает всё хорошо. Но выяснилась одна проблема, слоты PCI на материнке расположены так, что две PCI карты туда нормально не воткнуть. А убирать X-Fi не хотелось, к тому же SCSI контроллер греется, и желательно бы его охлаждать, а это лишний шум который не нужен. Было принято решение поставить стример в другой комп(благо ненужных комплектующих хватает). Поставить Linux, и пробросить стример по iSCSI. А уже включать по мере необходимости, или вообще держать там, где шума не слышно. Опыт работы с iSCSI был, всё должно было заработать без сучка и без задоринки.
Ага щас...
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 1.5K
Комментарии 12

Пишем чистый код при помощи деструктуризации объектов в JavaScript

Блог компании Skillbox JavaScript *Программирование *Лайфхаки для гиков
Перевод

Сравниваем традиционный способ извлечения значений и деструктуризацию (ES6) в JavaScript

В этой статье мы рассмотрим традиционное присваивание значений из объектов в переменные и новый синтаксис деструктуризации в ES6. Материал адаптирован на русский язык совместно с тимлидом группы frontend-разработки в Skillbox Иваном Казанцевым.

Читать далее
Всего голосов 26: ↑21 и ↓5 +16
Просмотры 5.6K
Комментарии 20

Об 1С для программистов, или Натягиваем сову на глобус

Программирование * *

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

Начать погружение
Всего голосов 33: ↑32 и ↓1 +31
Просмотры 14K
Комментарии 94

Дженерики в Go — подробности из блога разработчиков

Блог компании SkillFactory Программирование *Интерфейсы *Go *Изучение языков
Перевод

В Go 1.18 добавлена поддержка дженериков. Это самое большое нововведение с момента первого Open Source выпуска Go. Не будем пытаться охватить все детали, затронем всё важное. Подробное описание со множеством примеров смотрите в документе с предложением по улучшению языка. Материалом делимся к старту курса по Backend-разработке на Go.

Читать далее
Всего голосов 13: ↑11 и ↓2 +9
Просмотры 5K
Комментарии 5

Вклад авторов