Кажется, что отслеживать финансы — сложно. Удивлю вас, но даже у такой задачи есть простой и гениальный способ решения. Для управления своими личными финансами я взял и написал скрипт на Python. С его помощью можно следить за состоянием своего бюджета, записывая доходы и расходы, и видеть, на что вы тратите деньги каждый месяц.
Программирование *
Искусство создания компьютерных программ
Новости
Расширение PVS-Studio для Visual Studio Code: поиск ошибок в Java-коде
Java-разработчик и предпочитаешь работать в VS Code? Для тебя есть хорошая новость! Теперь ты можешь писать ещё более надёжный код вместе с расширением PVS-Studio, которое помогает находить ошибки в Java-проектах и не только.
Разработка и применение систем разграничения доступа на базе атрибутов
Привет! Меня зовут Михаил, в Positive Technologies я руковожу бэкенд-разработкой метапродукта MaxPatrol O2. В этой статье я расскажу, зачем нам в компании понадобилось разграничение доступа на основе атрибутов. Его еще называют ABAC (attribute-based access control). Рассмотрим, чем ABAC отличается от других способов разграничения доступа, как это реализуется и что мы в итоге сделали у себя.
ИБ и ИТ, давайте жить дружно. Вот как это возможно
Однако есть способы сделать безопасность своим союзником на пути к качеству. В этой статье — о дихотомии разработки и безопасности. О том, что, вообще говоря, миры информационной безопасности и архитектуры ИТ-систем не столь далеки друг от друга, как может показаться. И что на самом деле практики безопасности пересекаются с практиками повышения качества кодовой базы, а ПО можно сделать безопасным без потери качества. Поскольку я сама довольно долго занималась системной разработкой, после чего ушла в безопасность и сейчас работаю в команде собственной микроядерной операционной системы «Лаборатории Касперского» KasperskyOS, то отлично знаю, что хотела бы услышать еще тогда, когда ИБ была для меня другой стороной :)
Истории
Айтишник женился на девушке, с которой общался ChatGPT. А как научить бота общаться с клиентами?
Привет, Хабр! Меня зовут Алексей, в Пиробайте я разрабатываю мобильные приложения на Flutter. Недавно я зашел в Twitter и не знал — радоваться мне или плакать, ведь эпопея об айтишниках и кринжовых тредах получила новый виток развития.
Если вкратце, парень рассказал о том, что женился на девушке, с которой общался не он, а ChatGPT. И это было не просто пару сообщений, а поставленная на поток схема, где чат-бот искал, общался и звал на свидания тысячи девушек из Тиндера. Пока не нашел ту единственную, на которую перенастроил бота. А потом, слава Богу, начал общение самостоятельно. На других же девушках он зарабатывал реферальным путем (приводя их в разные компании). What a story, Mark!
История хоть и интересная, но в целом непонятно, зачем о ней писать здесь… Или не совсем? Давайте разбираться.
Где новичкам самостоятельно изучать программирование или как обойтись малой кровью
Эта статья является прямым продолжением моей прошлой статьи Несколько советов как новичкам не забросить изучение IT, где я обещала рассказать как эффективнее обучаться программированию самостоятельно, где набираться опыта и про бесплатные курсы от компаний с возможностью трудоустройства.
Ветераны IT: Как найти программистов прошлых поколений языков
При словосочетании «Ветераны IT» вы наверное представили себе сразу же старичков в пиджаках с нашивками из микросхем и шумным стационаром. Но это не совсем то, что мы подразумеваем под Ветеранами IT.
MyBatis «на минималках»
Привет, Хабр! Меня зовут Пётр Гусаров, я Java‑программист в CDEK. В этой статье расскажу про не очень распространённый фреймворк MyBatis.
Почему MyBatis? Потому что мы в CDEK используем его в большинстве проектов, и в деле он весьма неплохо себя показал. Немного сложен и непривычен на этапе входа, но все эти минусы перекрываются его гибкостью. «Да есть Hibernate, Jooq, JDBC и еще что‑то», — скажут бывалые. Есть, но в данной статье речь пойдёт о MyBatis.
Статья будет полезна новичкам, которые хотели попробовать данный фреймворк или попробовали, но что‑то не получилось.
Краткий обзор TinyML
TinyML сам по себе означает внедрение ml в маломощные микроконтроллеры и встроенные системы. Это устройствам IoT выполнять задачи обработки данных и машинного обучения непосредственно на самом устройстве, минимизируя таким образом необходимость в постоянном подключении к интернету или внешним вычислительным ресурсам. Основная цель TinyML - сделать ии или простые модельки доступным для самых маленьких устройств
Книга «Software Dynamics: оптимизация производительности программного обеспечения»
Программное обеспечение — начиная с мобильных и облачных приложений, заканчивая видеоиграми и системами управления автономным транспортом — становится все более и более ограниченным по времени. Оно должно обеспечивать надежные результаты плавно, последовательно и практически мгновенно. Неспособность гарантировать это приведет к недовольству потребителей, а в некоторых случаях даже может создать риск для человеческих жизней. Когда комплексное ПО работает плохо или дает сбой, инженерам необходимо выявить и исправить первопричины. Задача непростая, и для ее решения существовало не так уж много инструментов. Ричард Л. Сайтс, эксперт по анализу производительности, решает задачу напрямую, предлагая действенные способы и профессиональные инструменты для выявления динамики сложных, ограниченных по времени программ, а также для повышения надежности и устранения проблем с производительностью.
За плечами автора несколько десятков лет практической работы и обучения профессиональных разработчиков. Он знакомит читателя с принципами и техниками, которые применимы в любой среде, начиная со встраиваемых устройств и заканчивая дата-центрами, и подкрепляет их примерами на основе подключенных по Ethernet систем x86 и ARM под управлением Linux. Опираясь на полученную с помощью KUtrace информацию, читатели смогут использовать конкретные решения, а не просто перебирать техники, такие как отключение кэша или ядер.
Merlion Framework или как упростить работу с временными рядами
Единственная причина для существования времени — чтобы все не случилось одновременно.
Альберт Эйнштейн
Привет! Меня зовут Дмитрий, я дата-инженер в SM Lab, и в этом посте хочу рассказать вам о Merlion Framework. В посте мы рассмотрим его архитектуру, полезные функции и отличия от аналогов, разберём пару практических примеров, а также посмотрим, как всё считать и на какие метрики стоит обращать внимание.
В нашем мире время является незаметным четвертым измерением, по оси которого можно упорядочивать разные события.
Временной ряд – это набор данных, описывающих изменения какой-либо переменной во времени.
Задача анализа и предсказания временных рядов остаётся актуальной для бизнеса, ведь для успешного планирования возникает необходимость прогнозирования, например, следующих показателей:
Java Digest #9
Всем привет! 👋 👋 👋 Мы Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки — и решили делиться этим не только с коллегами, но и со всем сообществом.
Разобраться раз и навсегда: Task.WhenAll или Parallel.ForEachAsync в C#
Все хотят писать код, который работает быстро. Часто мы сидим, просматривая написанные алгоритмы и пытаясь понять, что можно сделать, чтобы настроить их производительность. В таком случае часто прибегают к параллельному выполнению задач. Конечно, если можно выполнять задачи параллельно и делать эту работу одновременно, то ожидаемо общее количество времени на обработку сократиться.
Если быстро посмотреть на результаты, которые появляются в интернете при поиске советов по реализации подобных вещей, то можно увидеть, что есть как много похожих, так и различных предложений от различных программистов. В какой-то момент поиска вы, вероятно, столкнётесь с поиском идеей использования
Task.WhenAll
или Parallel.ForEachAsync
.При чтении некоторых из этих материалов будет видно много различных противоречивых ответов как на StackOverflow, так и по всему интернету. Сегодня я собираюсь сравнить эти два метода с помощью определённых бенчмарков, которые стравят их друг против друга, чтобы, наконец, выяснить применимость каждого из двух методов.
Ближайшие события
Обзор языка Erlang и его синтаксиса
Привет, Хабр!
История Erlang 80-х годах прошлого века в стенах шведской компании Ericsson. Он был разработан первоначально для нужд телекоммуникаций, Erlang задумывался как инструмент для создания распределенных, отказоустойчивых систем с возможностью быстрого обновления кода. :
В этой статье кратко рассмотрим его синтаксис и основные возможности.
Создаем чат-бота на Python: Полное руководство
В этом полном руководстве от DataTech Community мы шаг за шагом рассмотрим процесс создания чат-бота на Python. Откройте для себя мощь NLTK и TensorFlow в обработке естественного языка и машинном обучении, чтобы создать интеллектуального помощника, способного общаться и отвечать на вопросы пользователей. Научитесь подготавливать данные, строить и обучать модель нейронной сети, а затем интегрировать ее в логику чат-бота для создания эффективного и интеллектуального виртуального помощника.
Переменные окружения для начинающих разработчиков или использование .env файла в разработке программного обеспечения
Безопасное управление конфиденциальными данными и настройками приложений может показаться сложной задачей для начинающих разработчиков. В этой статье мы разберем важные аспекты работы с переменными окружения, которые сделают вашу разработку более безопасной и эффективной.
Люди не понимают ООП
«ООП для меня означает лишь обмен сообщениями, локальные ограничения и защиту, сокрытие состояния процесса и крайне позднее привязывание», — Алан Кэй (человек, придумавший термин «объектно-ориентированное программирование»)1
Похоже, многим не нравится объектно-ориентированное программирование. Первое, что приходит в голову, когда слышишь эту трёхбуквенную аббревиатуру — это пример с автомобилем, наследование, геттеры, сеттеры и ObjectFactoryFactorySingleton.
Мне это всегда казалось довольно странным. Мне не только нравится ООП, я ещё и считаю, что часто это лучший/наиболее очевидный способ моделирования задачи. И ниже я расскажу, почему.
Где-то в дороге мы забыли о мастерстве программирования
«Поставляй!»
«Мы теперь Agile, детка. Двигайся быстро и ломай вещи!»
«Мы оцениваем наших инженеров по тому влиянию, которое они оказывают!»
Где‑то по пути, в разгар agilification программного обеспечения или золотой лихорадки зарплат инженеров‑программистов, мы забыли о мастерстве.
Миграция микросервисной архитектуры на API Gateway
Микросервисная архитектура Amediateka была спроектирована более 6 лет назад предыдущей командой разработки. С тех пор добавилось много новых микросервисов, но фундаментальная часть архитектуры осталась прежней. В этом году мы решили внедрить несколько глобальных изменений, одно из которых - API Gateway. Статья расскажет о том, что это такое, какие преимущества дает, как просто и безопасно мигрировать функционирующую систему на API Gateway и сделает обзор готовых решений.
Задача «Получить значение у N url из списка» с собеседования на Go
На данный момент нахожусь в активном поиске нового проекта, поэтому активно хожу на собеседования.
Решил поделиться своими мыслями о решении задачи, которую (как мне кажется) часто дают на собеседованиях.
Задача
Написать функцию, которая принимает несколько url адресов, а отдает сумму адресов и ошибку, если что-то пошло не так.
Интересно обсудить варианты решения?
Вклад авторов
-
alizar 4198.2 -
olegchir 3450.6 -
ru_vds 3038.4 -
haqreu 2868.0 -
tangro 2672.2 -
nmivan 2585.0 -
MaxRokatansky 2400.4 -
kesn 2353.0 -
DmitrySpb79 2296.0 -
grigoryvp 2212.2