Pull to refresh
2
Karma
0.2
Rating

Разработчик ПО

Книга «C# 10 и .NET 6. Современная кросс-платформенная разработка»

Reading time 12 min
Views 7.6K
Издательский дом «Питер» corporate blog C# *Professional literature *
image Привет, Хаброжители!

Шестое издание книги серьезно переработано, добавлены все новые функции, реализованные в версиях C# 10 и .NET 6.

Вы изучите принципы объектно-ориентированного программирования, научитесь писать, тестировать и отлаживать функции, реализовывать интерфейсы и наследовать классы. В издании рассматриваются API .NET, призванные решать такие задачи, как управление данными и их запросами, мониторинг и повышение производительности, а также работа с файловой системой, асинхронными потоками, сериализацией и шифрованием. В книге приведены примеры кода кросс-платформенных приложений, веб-сайтов и служб, которые вы можете создавать и развертывать на основе ASP.NET Core.
Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 5

Микросервис головного мозга

Reading time 13 min
Views 13K
JUG Ru Group corporate blog JavaScript *Microservices *

Когда нужно делить фронтенд-часть приложения на микросервисы? Какой стек использовать? И какие стандарты использовать, чтобы не выстрелить себе же в ногу при переходе на микрофронты? Михаил Трифонов (Lead Frontend в компании Cloud) ранее уже выступал с докладами о микросервисах, получил фидбек от сообщества и с его учётом сделал новый доклад на HolyJS. А теперь мы (организаторы HolyJS) сделали для Хабра текстовую версию этого выступления.

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

Читать далее
Total votes 22: ↑21 and ↓1 +20
Comments 6

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

Reading time 13 min
Views 4.3K
ISPsystem corporate blog Programming *Designing and refactoring *Development Management *
Opinion
Translation

Фил Карлтон как-то сказал: «В информатике есть только два сложных вопроса: инвалидация кэша и присвоение имен».

Первое — это вполне реальная проблема; второе — проблема определения реальности.

Неверный алгоритм кэширования ставит под угрозу целостность системы. Неадекватные имена могут поставить под угрозу само существование системы.

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

Читать далее
Total votes 18: ↑18 and ↓0 +18
Comments 26

Концепции Rust, которые неплохо бы знать пораньше

Reading time 21 min
Views 6.5K
Programming *C++ *System Programming *Functional Programming *Rust *
Translation

Весь минувший месяц я глаз не мог оторвать от языка программирования Rust, ведь его конёк – создание современных программ, обеспечивающих безопасную работу с памятью. За прошедшие годы появилось несколько языков, которые позиционировались как «инструмент что надо» для написания надёжного бекенд-софта. Постепенно маятник качнулся от Java/C++ к Go и Rust, выстроенных на многолетних разработках по теории языков программирования. Суть – в создании инструментов, которые были бы эффективны именно в наш век.

Читать далее
Total votes 34: ↑25 and ↓9 +16
Comments 12

Распределенный SQL: альтернатива шардированию баз данных

Hard Hard
Reading time 7 min
Views 5.5K
RUVDS.com corporate blog SQL *NoSQL *Data storage *Distributed systems *
Translation

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

Распределённый SQL представляет новый способ масштабирования реляционных баз данных с помощью полностью автоматизированной и прозрачной для приложений стратегии, подобной шардингу. Распределённые БД SQL изначально спроектированы под практически линейное масштабирование. В текущей статье вы познакомитесь с основами распределённого SQL и узнаете, как начать работу с этими базами данных.
Читать дальше →
Total votes 39: ↑36 and ↓3 +33
Comments 17

Введение в нечёткую логику

Reading time 9 min
Views 6K
Timeweb Cloud corporate blog Programming *Algorithms *
Tutorial
Translation
image

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

Создавая такой алгоритм, вы заметите, что просто замусориваете ваш код логикой if-else (пока он не превратится в кашу), а самим вам начинает казаться, что вот так просто не прокатит.

Итак, если только вас не пробирает дрожь от математики – читайте дальше. Здесь в дело вступает нечёткая логика! Немного контекста: слово «нечёткий» (англ. «fuzzy») в данном случае означает «труднопонимаемый» — таков может быть, например, код вашего коллеги.

В этом посте я постараюсь объяснить нечёткую логику и объяснить, как она работает.
Читать дальше →
Total votes 27: ↑24 and ↓3 +21
Comments 20

Кто последний на индустриальный стандарт? Мне только спросить…

Reading time 13 min
Views 2.5K
System Analysis and Design *Designing and refactoring *Product Management *

Сегодня в сообществе ИТ архитекторов, поддерживающих подход “Архитектура как код”, все чаще появляются упоминания о его перспективах выйти на уровень нового индустриального стандарта. Можно было бы сказать, что любое общество должно быть амбициозным и видеть себя в “Центре Вселенной”. Поэтому, не стоит об этом раньше времени статьи написывать. Но важно заметить, что архитекторы облечены ролью и должностью существенно влиять на решения о выборе стека и подходов в крупных компаниях. Поэтому, кажется, важно уже сегодня рассказать, что лежит в основе таких предположений.

Читать далее
Total votes 12: ↑10 and ↓2 +8
Comments 16

Дайджест уходящего года: релокейт в Европу и США, главное о карьере и сверхзанятости

Reading time 8 min
Views 5.1K
getmatch corporate blog IT career Reading room Lifehacks for geeks Urbanism

Что ждет IT-инженера в Сербии, Швеции, США, Болгарии и Грузии? Чем Берлин отличается от остальной Германии в плане работы и жизни? Как правильно проходить собеседование на софт-скилы? Как расти в карьере? И каково это — полтора месяца работать на двух фултайм-работах? Собрали самые популярные статьи из блога getmatch за год — читайте, если пропустили.

Читать далее
Total votes 23: ↑18 and ↓5 +13
Comments 2

9 книг для тимлидов и тех, кто хочет ими стать

Reading time 4 min
Views 8.8K
СберМаркет corporate blog Development Management *Project management *Product Management *

Привет! На связи СберМаркет Tech. Эту подборку книг составили инженерные менеджеры СберМаркета и ведущие подкаста «Для tech и этих» Олег Федоткин, Никита Елагин, Семён Мацепура и Вячеслав Артемьев. Сейчас в подчинении у ребят суммарно более 200 инженеров. Мы попросили их поделиться книгами, которые в своё время помогли им вырасти из разработчиков в управленцев. Эти книги не только про лидерство, но и про найм, стратегическое мышление и коммуникации. Они будут полезны тем, кто уже управляет командой или идёт к такой цели. Поехали!

Читать далее
Total votes 12: ↑9 and ↓3 +6
Comments 3

Что читать техлиду: 7 увлекательных книг

Reading time 6 min
Views 20K
МойОфис corporate blog Professional literature *Development Management *Studying in IT

Какие качества отличают хорошего технического лида? Уверены, как минимум инициативность, стратегическое видение, интерес к новым практикам и инструментам, идущие рука об руку с желанием постоянно развиваться. Немалую роль в lifelong learning техлида могут сыграть правильно подобранные книги.

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

Под катом рекомендуем 7 изданий о soft-skills, методологиях, управлении командами и проектами.

Читать далее
Total votes 64: ↑62 and ↓2 +60
Comments 16

Как я стал тимлидом

Reading time 14 min
Views 4.5K
Development Management *Personnel Management *IT career
Case

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

Читать далее
Total votes 15: ↑12 and ↓3 +9
Comments 10

В очередь, ...! Как управлять состоянием системы через события

Reading time 11 min
Views 4.1K
PHP *Programming *System Analysis and Design *Designing and refactoring *

Существует множество разных подходов к построению архитектуры серверных приложений. В данной статье рассмотрим Event-driven архитектуру (она же событийно-ориентированная). Рассмотрим основные принципы, как перейти от связей Компонент А <-> Компонент В, к связям через события Компонент А -> Событие А -> Компонент Б и зачем это нужно?

Читать далее
Total votes 14: ↑14 and ↓0 +14
Comments 14

Жарим TOAST в PostgreSQL

Reading time 12 min
Views 8.9K
Postgres Professional corporate blog Open source *PostgreSQL *Data storage *Data storages *
Review

У нас не подгорит!

Как PostgreSQL хранит большие значения столбцов? Какие явные и неявные ограничения есть у существующего механизма хранения? Что за проблемы вызваны этими ограничениями? И как можно решить эти проблемы, и расширить возможности PostgreSQL? Об этом, и чуть больше - данная статья.

Читать далее
Total votes 58: ↑58 and ↓0 +58
Comments 13

Если бы Остер раздавал советы автоматизаторам. Часть 1

Reading time 7 min
Views 6.7K
X5 Tech corporate blog IT systems testing *Web services testing *

Привет, Хабр! Меня зовут Мария Снопок, я отвечаю за автоматизацию тестирования на Python в X5 Tech. Я, конечно, не Остер, но могу дать с десяток вредных советов из области автоматизации. В частности, о том, как испортить жизнь себе и окружающим. 

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

Читать далее
Total votes 13: ↑12 and ↓1 +11
Comments 8

Эпистемология качества программного обеспечения

Reading time 7 min
Views 1.9K
МойОфис corporate blog Reading room Software IT-companies
Translation

Допустим, вы приняли руководство новой командой. У вас есть картбланш на внедрение любой выбранной вами политики, чтобы сделать работу сотрудников более продуктивной, а код — менее «глючным». Что же вы предпримете?

На продаже ответа на этот вопрос сделана не одна карьера. Внедрите парное программирование! Перейдите на Haskell! Используйте UML для всего на свете! Этим технологиям посвящают книги и конференции — при этом нет уверенности, стоят ли они затраченных усилий, как скоро дадут эффект и работают ли они вообще.

Исследования показывают, что на качество нашей работы в наибольшей степени влияет человеческий фактор. Почему же мы делаем такую большую ставку на технические решения? Об этом в своей колонке рассуждает Гиллель Уэйн*, консультант по формальной верификации и автор книги Practical TLA+. Под катом — наш перевод авторского материала.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Total votes 29: ↑27 and ↓2 +25
Comments 5

Как работает аппаратный ключ безопасности — и почему не сделать программируемый ключ с улучшенной защитой?

Reading time 4 min
Views 7.7K
GlobalSign corporate blog Information Security *Cryptography *Open source *Manufacture and development of electronics *


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

Двухфакторная аутентификация (2FA) сегодня обязательна, потому что второй фактор и на порядок увеличивает усилия для взлома. Стандартный второй фактор — это телефон, куда приходит дополнительный код. Ещё один дополнительный фактор — аппаратный ключ безопасности, который невозможно скопировать. Такой ключ может защищать доступ к вашему парольному менеджеру.

Давайте посмотрим, как сделаны такие ключи, кто их выпускает. И самое главное — как их сделать ещё лучше.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 18

Коллекционирую лучшие C++ практики

Reading time 3 min
Views 13K
PVS-Studio corporate blog C++ *

Коллекционирую лучшие C++ практики


Что-то наши публикации всё больше о плохом, чем о хорошем. Здесь баг, тут код с запахом, это антипаттерн, вот так писать не надо. Помогите увидеть светлую сторону программирования на С++. Оставляйте комментарии.

Читать дальше →
Total votes 38: ↑37 and ↓1 +36
Comments 8

Я выбрал язык программирования с помощью икигаи, коучей и рефлексии — и это сработало

Reading time 7 min
Views 18K
IT career Lifehacks for geeks
Roadmap
🧠 Habr IT Media

Я в IT уже 15 лет: 10 лет разрабатывал DevOps в 1C и 3 года руководил отделом разработчиков в Сбере и не писал код. Однажды я понял, что хочу кодить, а не руководить — и передо мной встал вопрос: какой выбрать язык?

Может быть, взять самый популярный? Или тот, по которому больше всего вакансий? А может, тот, где самые высокие зарплаты?..

Под катом я расскажу, почему сама постановка вопроса о выборе языка программирования порочна и какой метод я использовал, чтобы найти идеальный ЯП. Это обошлось мне в 26 000 рублей, но с Хабром поделюсь бесплатно.

Сэкономить 26 000 рублей
Total votes 53: ↑38 and ↓15 +23
Comments 84

Как создать свою СУБД с нуля и не сойти с ума. Практическое пособие начинающему некроманту. Часть первая

Reading time 43 min
Views 18K
Abnormal programming *SQL *System Programming *Data storages *DIY
Tutorial
Sandbox
✏️ Technotext 2022

Наступил Апокалипсис.

Нет, не стоит бежать запасаться банками с консервами и крышками отечественной бай-колы! Апокалипсис произошёл только в нашей фантазии и с определённой целью — чтобы проверить, а может ли человек, обладающий только книгами по теме и стандартной библиотекой языка, воссоздать инструмент, который будет служить ему верой и правдой?

Так родился учебный проект SicQL, реляционная СУБД, чей символ — сова — это олицетворение силы знаний и мудрости. Олицетворение тех знаний и той мудрости, которые мы получим, создав с нуля то, чем мы пользуемся каждый день, может, не осознавая всей сложности таких инструментов.

Приглашаю присоединиться к увлекательному путешествию!

Принять приглашение на борт
Total votes 66: ↑65 and ↓1 +64
Comments 62

Архитектура Шредингера и способы с ней бороться

Reading time 21 min
Views 3K
System Analysis and Design *
✏️ Technotext 2022


Представьте, что вы работаете в команде над крупным проектом какое-то время. Проект прошел начальный этап и уже работает в продакшн среде. Им пользуются люди, даже можно сказать, что им пользуются много людей и они рассчитывают на ваш продукт, он для них важен. С какого-то момента вдруг вами овладевает беспокойство, что что-то не так. Каждый спринт дается тяжело. Новые задачи вызывают проблемы с внедрением, а после релиза вы ловите один инцидент за другим. Каждый день вы со страхом смотрите в свой месенджер, боясь увидеть очередное сообщение с очередной проблемой, которую нужно срочно решать. Запросы к базе начинают тормозить, важная информация теряться, все валится из рук, контроль над ситуацией утекает как песок сквозь пальцы. Вы начинаете плохо спать, начинают снится кошмары о бесконечных сообщениях в очередях вашего брокера, которые воркеры не способны переварить. Вам снятся сервера, на которых заканчивается CPU и память, потому что сервисы безмерно потребляют ресурсы. Утилизация дисков на серверах с СУБД уже давно под 100%, ведь сервисы что-то постоянно с них читают или пишут. Ошибки, задержки, падения. Вы просыпаетесь.

Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Comments 1

Information

Rating
1,863-rd
Registered
Activity