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

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

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

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Linkedin обижает рекрутеров

Программирование *IT-инфраструктура *Карьера в IT-индустрии Социальные сети и сообщества IT-компании

Масштабная зачистка профилей пользователей Linkedin началась в октябре 2021 года.

Что? Кого? И почему?

Давайте разбираться.

Читать далее
Всего голосов 43: ↑8 и ↓35 -27
Просмотры 7.3K
Комментарии 43

Новости

Jooq 3.15+. Сравнение R2DBC и JDBC подходов к разработке

PostgreSQL *Программирование *Kotlin *
Tutorial
Приветствую!

На протяжении нескольких лет моего опыта в качестве разработчика ПО, не раз сталкивался с ситуацией, когда нужно было выполнить не самый простой SQL-запрос по производительности. Несмотря на то, что не всегда здорово большие аналитические запросы генерить и отдавать на фронт, я напишу статью именно на эту тему. Для примера воспользуемся двумя технологиями, чтобы реализовать простой пример: R2DBC и JDBC

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

Python: Логируем как профессионалы

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

Часто вижу, что помимо обработки исключений, люди мучаются кое с чем еще, а именно с логированием.

Большинство людей не знают, что писать в логи, поэтому решают логировать все, что угодно, думая, что все подряд – это в любом случае лучше, чем ничего, и, в конечном итоге, просто создают шум. А шум – это информация, которая никак не помогает вашей команде понять, в чем дело и как решить проблему.

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

Структурное логирование и интерполированные строки в C# 10

Программирование *.NET *Компиляторы *C# *Промышленное программирование *
Из песочницы

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

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

Как писать bash-скрипты надежно и безопасно: минимальный шаблон

Системное администрирование *Программирование **nix *Разработка под Linux *DevOps *
Перевод

Скрипты на Bash. Как много в этом слове. Любому разработчику рано или поздно приходится их писать. Почти никто не скажет "да, я люблю писать bash-скрипты", и поэтому этой теме уделяют мало внимания.

Я не буду пытаться сделать из вас эксперта в Bash, а просто покажу минимальный шаблон, который поможет сделать ваши скрипты более надежными и безопасными.

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

Грабли, спрятанные в Kotlin

Блог компании Maxilect Высокая производительность *Программирование *Java *Kotlin *

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

В этой статье мы поговорим о том, на что нужно обратить внимание.

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

Как отказаться от промежуточной среды разработки и ничего не потерять

Блог компании Хекслет Разработка веб-сайтов *Программирование *DevOps *

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

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

Main Loop (Главный цикл) в Android Часть 2. Android SDK

Блог компании Циан Программирование *Разработка под Android *

Основой любого приложения является его главный поток. На нем происходят все самые важные вещи: создаются другие потоки, меняется UI. Важнейшей его частью является цикл. Так как поток главный, то и его цикл тоже главный - в простонародье Main Loop.

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

Это вторая часть цикла статей по разбору главного цикла в Android. В первой части мы разобрались с тем, что такое главный цикл и как он работает. В этой же части давайте разберемся как Main Loop работает в Android SDK. Разбираться будем в контексте Android SDK версии 30.

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

8 советов по отладке для пользователей IntelliJ IDEA, о существовании которых вы возможно не знали

Программирование *Java *
Перевод
Tutorial

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

Но давайте будем честными. Обычно мы используем только опцию точки останова. При большом желании мы можем использовать условную точку останова.

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

Чтобы помочь вам, мы составили список советов и приемов от наших разработчиков в Lightrun. Мы надеемся, что эти советы помогут вам быстрее находить и устранять ошибки.

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

Go: конкурентность и привязки к потокам в планировщике

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

Переключение горутины с одного потока ОС на другой довольно затратно и может значительно замедлить работу приложения, если это происходит слишком часто. Однако со временем эту проблему решил планировщик Go путем обеспечения привязки горутин к потоку (scheduler affinity) в условиях конкурентной работы (concurrently). А чтобы нам лучше понять всю прелесть этой доработки, давайте вернемся назад в прошлое и посмотрим, как было до.

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

Тип данных Either как альтернатива выбрасыванию исключений

Блог компании Издательский дом «Питер» Программирование *API *Функциональное программирование *Kotlin *
Перевод

Исключения – это базовый элемент многих языков программирования. Они обычно используются для обработки аномальных или непредусмотренных условий, при устранении которых необходим особый подход, нарушающий нормальный поток задач в приложении. В некоторых языках, например, в C++ или Java, исключения используются повсюду. Но не все языки спроектированы так. В C# или Kotlin нет проверяемых исключений. В других языках, например, Go и Rust, исключений нет вообще.

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

Читать далее
Всего голосов 15: ↑12 и ↓3 +9
Просмотры 2.7K
Комментарии 9

Безопасность ПЛК: 13-15) Сетевые интерфейсы и безопасная перезагрузка ПЛК

Информационная безопасность *Программирование *Промышленное программирование *SCADA *Инженерные системы
Перевод
Tutorial

Контроллеры ПЛК и модули сетевого интерфейса обычно поддерживают несколько протоколов связи, которые включены по умолчанию. Отключите порты и протоколы, которые не требуются для приложения.

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

Определите безопасные состояния для процесса в случае перезапуска ПЛК.

Разбираем рекомендации по безопасному программированию ПЛК, формируем список своих рекомендаций. Всех неравнодушных прошу под кат.

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

MPS: изучаем метапрограммирование на примере ардуино

Блог компании Luxoft Программирование *Разработка под Arduino *DIY или Сделай сам

Привет, Хабр. Я разработчик в Luxoft и хочу поделиться тем, с чем мы работаем на одном из наших проектов.

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

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

Краткий экскурс в RUGOT-3. Инструкция и демонстрация

Python *Программирование *Машинное обучение *

GPT-3 — нейронная сеть, наделавшая шума в 2020 году, как самая сложная, объёмная и многообещающая модель по работе с текстовыми данными. Создана организацией OpenAI в нескольких вариациях, от 125 миллионов до 175 миллиардов признаков. Хотя в названии организации и есть слово “Open”, по факту модель GPT-3 является проектом проприетарного типа, то есть, с закрытым программным кодом, доступ к которому выдаётся за деньги.

В октябре этого же года команды из SberDevices на основе статьи от OpenAI и кода модели GPT2 смогли разработать русскоязычный аналог под название ruGPT-3 в 5 вариациях от 125 млн. до 13 млрд. признаков, используя мощности суперкомпьютера «Кристофари», а самое главное, что в данном случае код действительно открытый, за исключением модели на 13 млрд.

За счет универсальности и гибкости модели ее можно использовать не только для создания текста, но и в десятках других сложных сценариев, например:

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

О типах

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

Автор оригинального материала — Роберт С. Мартин (Uncle Bob), 25 июня 2021

Я написал свою первую программу в 1964 году. Программа называлась «Компьютеризированные ворота мистера Паттерсона» и была реализована на маленьком пластиковом компьютере под названием DIGICOMP-I, который представлял из себя симпатичный маленький трехбитный конечный автомат с 6 логическими элементами.

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

Microsoft и Всероссийское общество инвалидов подписали меморандум о создании в России среды равных цифровых возможностей

Блог компании Microsoft Программирование *Здоровье IT-компании

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

Microsoft и Всероссийское общество инвалидов (ВОИ) подписали соглашение о стратегическом сотрудничестве. Компании объединят усилия, чтобы создавать в России среду равных возможностей с помощью цифровых инструментов и информировать общество о новых инклюзивных технологиях.

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

Как работает Автотрекинг

Разработка веб-сайтов *JavaScript *Программирование *ReactJS *Ember.js *
Перевод

Это пост - третий из серии постов об автотрекинге - новой системе реактивности Ember.js. В этой серии я также обсуждаю общие принципы реактивности и то, как они проявляются в мире Javascript. (Прим пер.: ссылки на переводы предыдущих двух: 1. Что такое реактивность? 2.Что делает реактивную систему хорошей? )

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

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

10 важнейших принципов разработки программного обеспечения

Программирование *Анализ и проектирование систем *Проектирование и рефакторинг *ООП *Управление разработкой *
Перевод

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

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

Мы хотим помочь вам внедрить чистый код. Давайте рассмотрим наиболее распространенные принципы разработки программного обеспечения.

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

Как устроена генетическая медицина и чем занимается разработчик в международном коммерческом генетическом проекте

Блог компании ГК ЛАНИТ Программирование *Научно-популярное Биотехнологии Будущее здесь

Три года назад в Artezio в поисках партнера для разработки софта обратилась британская компания Congenica, занимающаяся  автоматизацией анализа и интерпретацией генетических исследований. Основная миссия Congenica – это внедрение генетической медицины в стандартный процесс здравоохранения, создание системы поддержки принятия клинических решений. Найти значимые генетические аномалии в задумке должно быть не сложнее, чем сдать анализ крови. Сейчас с нашим back-end разработчиком Артемом расскажем, как работают такие проекты. 

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

Ontol: Лучшие бесплатные онлайн-курсы от MIT

Программирование *Математика *Учебный процесс в IT Научно-популярное Физика
image

78% профессорско-преподавательского состава MIT ставит знания выше финансовой выгоды и согласились 20 лет назад стартовать инициативу MIT OpenCourseWare — полную оцифровку обучения и выкладывания его в окрытый доступ для всех желающих.

Около 35% поступивших в MIT студентов, говорят, что на их выбор повлияли бесплатные окрытые лекции MIT OpenCourseWare.

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

Компьютернеы науки, математика, физика, этические вопросы ML, система управления истребителя F-22, физика ковида, устройство мозга, кибербезопасность, разработка игр, квантовая и ядерная физика, химия, теория алгоритмов, теория вычислений, линейная алгебра. Добро пожаловать под кат. (осторожно, 100+ мб трафика на превьюшки)

Читать дальше →
Всего голосов 16: ↑10 и ↓6 +4
Просмотры 9.6K
Комментарии 7

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