Pull to refresh
0
@Redlumusread⁠-⁠only

User

Send message

КАША в голове, КАША в коде — первые шаги к порядку

Level of difficultyEasy
Reading time4 min
Views11K

7 советов для начинающих программистов

Заметил? Многие, кто только начал изучать программирование, сразу ныряют в сложные штуки и пытаются прыгнуть выше головы.

Я через это проходил.

И чтобы не сгореть на старте, не чувствовать себя потерянным и не бросить все на середине, я собрал 7 советов, которые действительно помогают.

А если хочешь те же советы, но с мемами, щепоткой иронии и айтишной тоской - загляни в видео.

Читать далее

Как я стал программистом и перестал им быть

Level of difficultyEasy
Reading time5 min
Views18K

Привет! Я давно в IT, настолько что верстал еще под IE6. Начинал ещё со школы: сервера Diablo II, боты mIRC, карты Warcraft III на JASS, код, форумы, общение и дикий, нескончаемый интерес. Без какого-либо понимания, что я делаю и куда меня это приведёт.

Я никогда не считал это чем-то серьёзным, но был уверен, что в случае чего смогу этим прокормиться — так по итогу и вышло. Хоть я и усердно убегал от «бездушных железок».

Заваривайте чай, расскажу вам свою историю как я попал в IT и вот уже лет 13 тут, приятного прочтения

Читать далее

Функциональное и объектно-ориентированное проектирование

Level of difficultyMedium
Reading time6 min
Views7.1K

В современном обучении программированию, как правило, основное внимание уделяется парадигме объектно-ориентированного программирования (OOP) и вытекающей из неё методологии объектно-ориентированного проектирования (OOD). Определённый ренессанс в наше время испытывает парадигма функционального программирования, но практически никогда в связке с ней не рассматривается функциональное проектирование. Попытаемся осветить наше видение этих вопросов.

Читать далее

Создание своего ядра на Rust

Level of difficultyHard
Reading time19 min
Views9.7K

В этой статье мы пройдём путь создания простого, но функционального ядра операционной системы на языке Rust.
Разумеется, мы не будем собирать полноценную альтернативу Linux, но сосредоточимся на ключевых компонентах, которые лежат в основе любого ядра.

Читать далее

История Java: развитие, изучение Марса, битва с Microsoft, Spring, Gradle и Maven, IntelliJ IDEA и Eclipse

Level of difficultyMedium
Reading time20 min
Views3.7K

От появления до покорения Красной планеты. В этой статье — история языка Java: от первых шагов и битвы с Microsoft до инструментов, без которых не обходится ни один Java разработчик. И да, вы узнаете, при чём здесь дуб, кофе и остров.

Читать далее

Про ГОСТовский шифр Кузнечик, его SBox и потерянные сиды

Reading time9 min
Views42K
Привет, %username%!



Недавно мы вернулись с конференции EuroCrypt 2019, где познакомились с чрезвычайно умными людьми и заодно узнали новые, чрезвычайно обидные факты о ГОСТовском SBox.

Так что, это второй подход к снаряду. Исправленный и дополненный.

В этот раз не будет непонятных красно-синих слайдов, зато будут оригинальные документы из комитета ISO c объяснениями авторов Кузнечика.

И даже челлендж в конце!

Поехали.
Читать дальше →

Тайное уравнение, позволявшее США следить за всеми

Level of difficultyMedium
Reading time5 min
Views42K

В 2006 году АНБ скрыла в криптографическом стандарте Dual EC DRBG математический бэкдор. Агентство отрицало его наличие восемь лет. Затем утечки Сноудена подтвердили его существование.

Двойные эллиптические кривые (Dual Elliptic Curve) используются как безопасные генераторы случайных чисел (RNG). Математический бэкдор позволял правительству США расшифровывать SSL-трафик Интернета (Green 2013)1.

Эта статья будет технически глубоким исследованием для программистов. Мы реализуем и исходную правительственную научную статью (SP 800-90 2006)2, и бэкдор, обнаруженный исследователями Microsoft (Shumow & Ferguson 2007)3.

На моём домашнем компьютере для взлома 28 байт (не бит) при помощи этого бэкдора требуется 2 минуты. Представьте, какой объём Интернет-трафика правительство США могло расшифровывать при помощи суперкомпьютеров Министерства обороны.

Читать далее

Передаем документацию заказчику: Markdown, Git, CI/CD и почти полная автоматизация

Reading time5 min
Views6.3K

Представьте, что вы разработали программное обеспечение. Все идеально: код отточен, тесты пройдены, система готова к работе. Но тут встает вопрос: как отправить документацию заказчику?

Всем привет! Меня зовут Катя, я развиваю Gramax, open source-платформу для управления технической документацией. В этой статье хочу поделиться впечатлением от стандартных способов передачи документации на заказную разработку. А также рассказать о том, как этот процесс можно автоматизировать с помощью Gramax.

Рассказывай!

Как обучают ИИ: без формул, но с котами

Level of difficultyEasy
Reading time10 min
Views7.5K

В этой статье — без воды, трюизмов, академизмов и формул — разберёмся, в чём принципиальное отличие машинного обучения (ML) от до-ИИ программирования, а затем генеративного ИИ от классических моделей машинного обучения (ML). Поговорим о типах генеративных моделей, их архитектуре и областях применения.
Заодно затронем важный вопрос: где проходит граница между классическим программированием и вероятностным творчеством, на котором построены современные нейросети.
Статья ориентирована прежде всего на тех, кто делает первые шаги в ИИ, но если ты начинающий ML-инженер, архитектор ИИ-приложений, основатель стартапа или просто хочешь разобраться, что на самом деле происходит под капотом у ChatGPT и Midjourney — ты, скорее всего, найдёшь здесь для себя что-то полезное.

Читать далее

Как все успевать и не выгорать. 42 способа планирования на все случаи жизни

Level of difficultyEasy
Reading time15 min
Views22K

Магии не существует, а есть способы планирования, которые помогают работать эффективнее и продвигаться в больших и сложных делах. Мы собрали 42 способа, инструмента, подхода к планированию: как базовые, так и новаторские. Разберем, как ими пользоваться и насколько они хороши.

Читать далее

Не так страшен чёрт, как его малюют. Пошаговый план создания собрания собственников для смены Управляющей компании

Level of difficultyEasy
Reading time12 min
Views4.3K

Привет, Хабр! Меня зовут Вячеслав. В какой-то момент мне надоел произвол, творимый управляющей компанией в доме, где я живу. Вечная грязь, обшарпанные коридоры, отсутствие видеонаблюдения, эпопеи в случае аварий с отоплением, водоснабжением, электрикой. Я задался вопросом: “А можно ли в принципе как-то решать эти проблемы?”. Оказалось, можно! В статье расскажу, как я начал борьбу с управляющей компанией за комфортную жизнь. А начал я с самого сложного - организовал собрание собственников. Да, звучит страшно! Некоторые боятся даже думать о том, что их ждет, если они возьмутся за этот вопрос. Но не тот это черт, которого надо бояться, с ним надо просто разобраться! Вооружившись сильным желанием, энтузиазмом, законами и знаниями, я преодолел этот путь, а значит, и вы сможете. В статье расскажу, что вас ждет, если вы решите сменить управляющую компанию, какие подводные камни и неожиданные повороты могут встретиться на этом пути, как можно оптимизировать процесс и не потратить все свои нервы. А если останутся вопросы, с радостью отвечу на них.

Для того, чтобы быть максимально полезным читателю, я решил влить сюда немного теории (законодательства) и описать свой личный опыт.

1. Начало

Я живу в Санкт-Петербурге, в небольшом 14-ти этажном кирпичном доме 70-ых годов постройки. Дом в спокойном спальном районе с малоэтажной застройкой, вокруг много зелени, детских площадок, в соседних кварталах торговые центры, поликлиники, фитнес-центры.  В самом доме всего 97 квартир с удобными планировками, два лифта, мусоропровод. На площадке всего по 7 квартир, нет ощущения общежития. С соседями по этажу быстро сложились дружеские отношения.  Единственная проблема – плохая работа управляющей компании. Надоела вечная грязь в холле, в лифтах, на этажах, периодически забитый мусоропровод. На придомовой территории вечно разбросанный мусор. В случае аварий чаще всего проблемы приходится решать самим жителям (отопление, вода, электрика). О текущем ремонте вообще бесполезно говорить. Даже простейшие работы вроде замены перегоревшей лампочки и замены разбитого стекла выполняется в среднем за полгода.

Читать далее

Почему Exceptions в Java не взлетели — и что с этим делать в 2025 году

Level of difficultyMedium
Reading time11 min
Views11K

Всем привет!

Меня зовут Илья, я работаю в Райффайзен Банке. Мы пишем свои бэкенд-сервисы на Java и Kotlin, поэтому зачастую приходится переключаться с одного языка на другой. Из-за этого невольно начинаешь сравнивать подходы и механизмы одного языка с его JVM-собратом. Сегодня я бы хотел поговорить об одном из таких механизмов — пропагации ошибок и исключений.

Используете ли вы в своем коде исключения? Ответ кажется странным, так как исключения являются неотъемлемой частью Java. Но что, если я спрошу, используете ли вы исключения для управления логикой своей программы?

Читать далее

20+ open source утилит для шифрования файлов на (почти) любой случай жизни

Reading time9 min
Views70K


На самом-самом деле его секреты нафиг никому не нужны. И кстати, такой ключ за 5 баксов ещё надо поискать


Шифропанкам посвящается. Мы собрали тулкит из популярных программ (преимущественно с симметричным шифрованием), которые помогут защитить личные данные от несанкционированного доступа и попросили исследователя криптографии из компании «Криптонит» прокомментировать наш выбор.


Под катом безопасные решения для шифрования файлов при помощи браузера, для быстрой защиты, пересылки, загрузки в облако шифрованных данных, криптографические контейнеры с двойным дном, десяток консольных инструментов для криптографии и комбайн, объединяющий их под единым графическим интерфейсом. А еще ответы на животрепещущие вопросы, например: «Что лучше AES, Кузнечик, Serpent или Twofish»?

Читать дальше →

Учимся безболезненно переносить и клонировать серверы

Reading time5 min
Views11K

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

По катом расскажу, как перенести сервер с помощью снапшота и прямой передачи данных по сети — без создания образов и остановки сервисов. Метод подойдет и для облака, и для выделенных серверов.
Читать дальше →

Как собрать Docker-образ, который можно запускать в проде (а не только у себя на ноуте)

Level of difficultyEasy
Reading time4 min
Views30K

Если ты пишешь Dockerfile, скорее всего, он работает. Но вопрос не в том, работает ли. Вопрос в другом: будет ли он работать через неделю, на другом сервере, в CI/CD, на чужом железе — и будет ли это безопасно?

Читать далее

Проектирование Информационных систем. Часть 8. Разработка логической структуры данных. 8.1. UML Class diagram

Level of difficultyMedium
Reading time15 min
Views2.7K

Одним из важнейших этапов в проектировании Информационной системы является выявление бизнес-объектов и их детализация на сущности Предметной области. По результатам этих активностей можно спроектировать модель хранилищ данных. Чаще всего такие работы выполняют параллельно с этапом описания бизнес-процессов.

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

Таким образом мы расширяем наш домен решений, добавляя в него – модель данных.

Чтобы сложить картинку о бизнес-объектах области автоматизации, необходимо уметь описывать бесконечное разнообразие сущностей мира - конечными фразами.

Это можно сделать огрублено, приблизительно, упрощенно.

1)   Первый шаг упрощения основан на том, что все объекты различны, но одни отличаются друг от друга «слабо», «мало», «незначительно», другие — «сильно», «существенно».

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

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

Для выражения различий между классами им присваиваются различные имена (названия, обозначения, символы, номера и т.п.).

Классифицировать можно не только объекты, но и свойства (цвета, звуки, силы, размеры и т.д.), и процессы (ходить, бегать, тянуть, есть, пить и т.д.). Таким образом, классификация сущностей исследуемой предметной области идентифицируется в виде названия некоторых классов.

Читать далее

Топ 10 заповедей системного дизайна

Level of difficultyMedium
Reading time19 min
Views15K

В этой статье я не теоретизирую. Каждый из блоков — это то, что работает. Если вы разработчик, который хочет думать как архитектор — статья для вас.

Если вы архитектор, которому надоело рисовать схемы ради схем — этот список тоже для вас.

А если вы просто строите что-то серьёзное — сохранить, перечитать, внедрить. Это основа.

Читать далее

Работа аналитиком данных: задачи, зарплата, плюсы, минусы и где учиться — в 2025

Reading time4 min
Views9K

Мы на Хабр Карьере помогаем IT-специалистам зарабатывать больше, а компаниям — быть в курсе трендов на рынке найма. 

Аналитика данных — одна самых востребованных специализаций сегодня, особенно в России, где цифровизация бизнеса идет полным ходом. Если задумываетесь о карьере в этой сфере, но не знаете, с чего начать — эта статья для вас.

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

Читать далее

Как организовать идеальное рабочее место: проверенные решения от команды Selectel

Reading time6 min
Views11K

Привет, Хабр! У нас в компании действует гибридный график, поэтому важно, чтобы рабочие места не только в офисе, но и дома были удобными. В интернете есть десятки советов о том, как их обустроить, но полезны ли они на самом деле — большой вопрос. Узнали, что сотрудники Selectel думают о частых рекомендациях и как выглядят их рабочие места — на которых даже навели порядок перед фотосетом.

Если посмотреть с десяток интернет-статей об эргономичном рабочем месте, начинает казаться, что оно должно выглядеть как кадр из сериала «Разделение»: гаджеты на фоне красивого минимализма. А еще обязательно нужно купить стол с подъемным механизмом и суперкресло. Но эргономика — это не про эстетику, а про создание комфортной среды, которая помогает человеку меньше уставать и эффективно решать задачи. А по-настоящему удобное рабочее место может сильно отличаться от картинки.
Читать дальше →

Проблемы БД или почему большой продакшн спасут только массовые расстрелы запросов

Level of difficultyEasy
Reading time13 min
Views7.8K

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

Привет, Хабр! Именно так считает наш сегодняшний гость – Дмитрий Немчин, руководитель направления эксплуатации инфраструктуры данных в Т-банке и по совместительству член программного комитета Data Internals, профессиональной конференции
по инженерии, базам и системам хранения и обработки данных.

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

Читать далее

Information

Rating
Does not participate
Registered
Activity