Как стать автором
Обновить
-15
0

Пользователь

Отправить сообщение

Как работает веб-браузер (с картинками)

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров34K

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

Эта статья приоткроет завесу магии, скрывающуюся за кулисами веб-браузеров.

Давайте начнем!

Читать далее
Всего голосов 25: ↑22 и ↓3+24
Комментарии9

Отстаньте от разработчиков: не надо делать их руководителями просто ради грейда

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров25K


Бич профессии — превращать самого опытного разработчика в плохого менеджера. Я видел ситуации, когда синьор перерастает команду и ему предлагают должность руководителя. Многие соглашались и становились несчастными. И ладно бы только они: страдает-то в итоге команда и компания.

Зачем они соглашаются? Во-первых, потому что они росли всегда и останавливаться страшно. Во-вторых — это часто единственная возможность повышения.

Что мы поменяли у себя в разработке Газпромбанка:

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

Куда можно расти? В хеда профессии — эксперта, к которому может обратиться каждый в компании. Это как Стив Возняк в Apple.

Как это ни странно, в развитой инженерной культуре такие «эксперты выше синьора» — норма. В России я встречал мало компаний с такими фичами, поэтому хочу поделиться практическим опытом того, что это даёт.
Читать дальше →
Всего голосов 77: ↑77 и ↓0+77
Комментарии22

Elasticsearch: схема полей для фасетного поиска, фильтра товаров на примере интернет-магазина светильников

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.6K

Доброго времени суток! Я самоучка, никогда не получал образования в сфере IT, не работал программистом и не проходил каких-либо специализированных курсов в этой сфере. Акцентирую внимание на этом в самом начале для того, чтобы было понимание, что данная статья не претендует на статус профессионального руководства “как надо работать с Elasticsearch (далее по тексту просто ES)”, это не панацея, если можно так выразиться. Все описанное, лишь основано на моем личном опыте и понимании схемы и структуры документов, ориентированной на использовании для построения фасетного поиска в интернет-магазине к которому я пришел при изучении и разработке. Т.е статья рассчитана больше на новичков без личного опыта и представления работы с NoSQL базами данных, коей и является ES.

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

Как стать Python-разработчиком с нуля — личный опыт

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров49K

Это мой первый пост, прошу сильно не пинать. Для начала немного расскажу, кто такой тестировщик. Это специалист, который отлавливает ошибки на всех этапах разработки проекта. Работа рутинная, но ответственная. Получают тестировщики на 20-30% меньше, чем программисты: от 30 000 руб. и выше, всё зависит от опыта.

Становление тестировщиком – самый простой путь старта в IT, есть куда расти (тест-менеджмент, веб-дизайн, чистая разработка).

Эту информацию я почерпнул из открытых источников и подумал, что вот, я не умею программировать, а получать астрономическую зарплату работать в IT – хочется. Думал, что начну с ручного тестирования, устроюсь на работу – а дальше, как пойдёт.

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

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

Открыть гайд
Всего голосов 19: ↑17 и ↓2+21
Комментарии31

Смотрю в книгу — вижу «фигу». Техника «абсорбирования» учебников SQ3R вместо пассивного чтения

Время на прочтение9 мин
Количество просмотров12K

Школа и ВУЗ приучают читать учебники от корки до корки, помещая ученика в своего рода линейный таймлайн — вот начало книги, вот конец. А между ними середина. Двигайся вперед, листай страницы дальше. То, что прочитано — уже выучено. А хочешь повторить — загляни в заметки.

В общем, чрезвычайно «эффективный» подход...

А ведь надо совсем немного — из-под пелены букв достать ключевую суть и запомнить ее навсегда. Это идеальный результат прочтения любого учебника.

Читать далее
Всего голосов 17: ↑14 и ↓3+15
Комментарии7

Алгебра int о которой не говорят

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров24K

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

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

Читать далее
Всего голосов 35: ↑34 и ↓1+46
Комментарии42

Инструменты наблюдаемости, о которых нужно знать в 2023 году

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров8.8K

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

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

В этой статье мы рассмотрим возможности, ограничения и важные особенности одиннадцати популярных инструментов наблюдаемости, что позволит вам выбрать наиболее подходящий для вашего проекта.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+39
Комментарии4

Как красиво писать формулы c LaTeX?

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров34K

Привет, Хабр!

Меня зовут Шайдурова Арина, я Data Scientist  и участник профессионального сообщества NTA. Сегодня я поделюсь с вами своим опытом использования LaTeX для написания математических формул. Всё просто и с примерами, идеально подойдет для новичков синтаксиса LaTeX.

LaTeX является очень популярным инструментом для написания различных материалов: в нём можно написать и книгу, и резюме, и дипломную работу, создать постер и даже календарь. Среди его пользователей он ценится за многие качества, но основную ценность для технических задач представляет его удобное, гибкое и легкое написание всевозможных математических формул!

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии41

Сколько стоит умный дом? Рассказываю, как строил свой и что получилось за 1000 руб./м²

Уровень сложностиПростой
Время на прочтение25 мин
Количество просмотров98K

Подробный рассказ о том, как я свой дом и сад сделал умными. С фото, техническими деталями, стоимостями и выводами на будущее.

Читать
Всего голосов 246: ↑244 и ↓2+296
Комментарии296

Теория графов. Термины и определения в картинках

Время на прочтение5 мин
Количество просмотров190K

В этой статье мы познакомимся с основными терминами и определениями Теории графов. Каждый термин схематично показан на картинках.

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

Теория графов
Всего голосов 17: ↑15 и ↓2+16
Комментарии8

10 удивительно зрелищных простейших клеточных автоматов

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров33K

Самое простое представление двумерного клеточного автомата основано на двух характеристиках: клетки имеют всего 2 состояния; правила изменения состояния зависят только от количества живых соседей из окрестности Мура первого порядка (8 окружающих).

Такая категория КА называется «Life-like», по названию самого известного автомата с такими характеристиками – «Conway's Game of Life». Игра «Жизнь» Конвея работает на правиле B3/S23, т.е. для рождения клетки требуется ровно 3 живых соседа, для выживания – 2 или 3. Во всех других случаях клетка умирает (или же остаётся пустой).

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

Сегодня взглянем на самых интересных представителей.

?
Всего голосов 158: ↑158 и ↓0+158
Комментарии24

Стохастический язык программирования на основе алгоритмов Маркова

Время на прочтение13 мин
Количество просмотров27K

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →
Всего голосов 139: ↑139 и ↓0+139
Комментарии24

C--. Первое знакомство

Время на прочтение4 мин
Количество просмотров46K

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

Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии61

Дао Кодинга (о стиле написания кода)

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров8.6K

Я натолкнулся на этот мануал в интернете, когда гуглил описание "Верблюжьей вёрстки". Меня, технически и стилистически, очень продвинул данный текст, поэтому я взялся за его перевод, для себя. Переводчик я — так себе, моя основная цель — передать смысл текста в максимально полном объёме. Навык программиста и энтузиазм мне в помощь.

Текст написан от первого лица, и я решил сохранить этот момент. Поэтому "я" — это не я, а оригинальный автор статьи "Tao of Coding" — Коэн Уиттерс.

Читать далее

Данное руководство описывает стиль написания программного кода, который я разрабатывал несколько лет. Но стиль мой настолько неизвестен, что я не знаю никого, кто пользовался бы таким странным способом программировать, каким пользуюсь я. Тем не менее, он мне нравится и я бы хотел поделиться этим знанием (эй ты, везунчик, слышишь меня?). Этот стиль я использовал в разных языках: С, С++, Java, C#, Python,... .

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

Читать далее
Всего голосов 14: ↑10 и ↓4+11
Комментарии30

Нормализация отношений. Шесть нормальных форм

Время на прочтение8 мин
Количество просмотров1.5M
В данной теме я затрону 6 нормальных форм и методы приведения таблиц в эти формы.

Процесс проектирования БД с использование метода НФ является итерационным и заключается в последовательном переводе отношения из 1НФ в НФ более высокого порядка по определенным правилам. Каждая следующая НФ ограничивается определенным типом функциональных зависимостей и устранением соответствующих аномалий при выполнении операций над отношениями БД, а также сохранении свойств предшествующих НФ.
Читать дальше →
Всего голосов 37: ↑22 и ↓15+7
Комментарии14

Программная реализация шифровальной машины «Энигма» на языке Си

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров14K

Пишем старую добрую шифровальную машину на старом добром языке программирования.

Читать далее
Всего голосов 30: ↑30 и ↓0+30
Комментарии9

Знакомство с указателями в Паскале

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров12K

Всем читателям habr.com, привет! Мы студенты Технического ВУЗа- Мария и Екатерина, и хотим рассказать о своем опыте работы с указателями на языке программирования Паскаль.

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

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

Читать далее
Всего голосов 38: ↑27 и ↓11+24
Комментарии171

Создаем свой собственный язык программирования с использованием LLVM. Часть 3: Генерация кода

Время на прочтение29 мин
Количество просмотров6K

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии2

Иерархические структуры данных и Doctrine

Время на прочтение15 мин
Количество просмотров82K

Введение



Хранение иерархических данных (или попросту — деревьев) в реляционных структурах задача довольно нетривиальная и вызывает некоторые проблемы, когда разработчики сталкиваются с подобной задачей.

В первую очередь, это связано с тем, что реляционные базы не приспособлены к хранению иерархических структур (как, например, XML-файлы), структура реляционных таблиц представляет из себя простые списки. Иерархические же данные имеют связь «родитель-наследники», которая не реализована в реляционной структуре.

Тем не менее, задача «хранить деревья в базе данных» рано или поздно возникает перед любым разработчиком.

Ниже мы подробно рассмотрим, какие существуют подходы в организации хранения деревьев в реляционных БД, а также рассмотрим инструментарий, который нам предоставляет ORM Doctrine для работы с такими структурами.
Читать дальше →
Всего голосов 64: ↑63 и ↓1+62
Комментарии41

Гайд по созданию Big Data-проектов в облаке: технологический стек, этапы и подводные камни

Время на прочтение8 мин
Количество просмотров5.6K


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

Меня зовут Алексей Бестужев, я архитектор VK Cloud, и в этой статье мы обсудим нюансы и неочевидные особенности запуска процессов при работе с большими данными в облаке. 

Материал подготовлен на основе нашего совместного вебинара с Кириллом Сливчиковым, управляющим партнером компании 7RedLines. 
Читать дальше →
Всего голосов 27: ↑26 и ↓1+39
Комментарии24

Информация

В рейтинге
5 992-й
Зарегистрирован
Активность

Специализация

Project Manager, Software Architect
Project management
Information Technology