Как стать автором
Обновить
2
0
Виталий Беленький @heman

Бэкенд разработчик Java

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

От песка до процессора

Время на прочтение9 мин
Количество просмотров387K
Сложно в это поверить, но современный процессор является самым сложным готовым продуктом на Земле – а ведь, казалось бы, чего сложного в этом куске железа?

image

Как и обещал – подробный рассказ о том, как делают процессоры… начиная с песка. Все, что вы хотели знать, но боялись спросить )

Читать дальше →
Всего голосов 321: ↑289 и ↓32+257
Комментарии154

Полупроводниковая монополия: как одна голландская компания держит под контролем мировую индустрию микросхем

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

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

Существует несколько основных компаний-производителей микрочипов. Есть Samsung в Южной Корее, TSMC на Тайване, Huawei в Китае, а также Intel и Texas Instruments в США. Все они производят чипы на собственных фабриках. Но машины, которые они используют для производства, производятся в основном одной компанией — голландской Advanced Semiconductor Materials Lithography (ASML).

Технология, которая делает возможным производство всех передовых чипов называется литографией в крайнем ультрафиолете (EUV). Одна EUV-машина стоит более 200 миллионов долларов. Она опирается на цепочку поставок, состоящую из более чем 800 других компаний, на доставку сотен тысяч деталей со всего мира. Многие из этих компаний существуют только благодаря одному клиенту – ASML.

Сложность как технологии, так и цепочки поставок даёт ASML сильное конкурентное преимущество. Время и затраты, которые потребуются конкуренту для воспроизведения всего процесса изготовления одной машины EUV-литографии, создают очень высокие барьеры для входа. На протяжении многих лет ASML позиционировала себя как практически единственного поставщика этой передовой технологии, которая произвела революцию в массовом производстве чипов. И поэтому в течение следующих нескольких десятилетий ASML сохранит свою монополию.
Читать дальше →
Всего голосов 85: ↑52 и ↓33+37
Комментарии124

Создаем свою простую (C++) библиотеку с документацией, CMake и блекджеком

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

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

Если вы ловили себя на мысли: ‭«А почему мне бы не создать свою полноценную библиотеку?‭», то я рекомендую прочитать вам мою статью.

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

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

Читать далее
Всего голосов 48: ↑47 и ↓1+58
Комментарии68

Джефф Дин из компании Google — это Чак Норрис нашего времени

Время на прочтение4 мин
Количество просмотров224K
«Джефф Дин компилирует и запускает свой код перед коммитом, но только чтобы проверить на баги компилятор и CPU», — вот один из множества шуточных фактов о Джеффе Дине.

Джефф Дин считается кем-то вроде Чака Норриса. Отличие только в том, что он вовсе не герой боевиков, а инженер-программист компании Google.

Шутки о нём впервые появились на 1 апреля шесть лет назад. Один из коллег Дина по имени Кентон Варда открыл страничку, куда каждый мог добавлять факты о Джеффе Дине. Идею с энтузиазмом подхватили другие разработчики — и вскоре наполнили страничку множеством таких «фактов».
Читать дальше →
Всего голосов 395: ↑364 и ↓31+333
Комментарии123

Андреас Клинг, его операционная система SerenityOS и браузер Ladybird

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


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

Взять к примеру шведского программиста Андреаса Клинга (Andreas Kling). В 2018 году он вышел из государственной клиники реабилитации наркоманов после трёхмесячного курса — и в качестве хобби начал разработку операционной системы SerenityOS. Нужно было чем-то занять свободное время и избавиться от посторонних мыслей. Создание новой ОС вполне подходит для такой задачи.

За несколько лет SerenityOS стала одним из крупнейших опенсорсных проектов в мире с тысячами контрибуторов. Приятный интерфейс в стиле 90-х, Unix-подобное ядро и лучшие идеи из других ОС — вот рецепт успеха.
Читать дальше →
Всего голосов 58: ↑56 и ↓2+73
Комментарии23

Изучите все языки программирования

Время на прочтение9 мин
Количество просмотров85K
Когда я был ещё первокурсником, то познакомился с другим студентом, который утверждал, что может писать код на любом языке программирования, который я смогу назвать. Я был несколько шокирован и ответил подначкой:

— Что, даже на том нечитаемом эзотерическом языке, где есть всего пара команд, которые едва-едва симулируют машину Тьюринга?
— Да, этот язык называется brainfuck. Я знаю brainfuck.

И это был не трюк — мы проверили. Я называл известный мне язык программирования, он тратил пару минут в Интернете на то, чтобы освежить свои знания по нему — и был способен писать на этом языке работающие алгоритмы. Я никак не мог понять этого. Ему, как и мне, было тогда около 18 лет — как он мог в этом возрасте знать все эти языки?

image
Интерпретатор brainfuck, написанный на brainfuck

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

Сегодня я советую своим студентам «постараться изучить все языки программирования». Подумайте сами — ведь эта идея лучше, чем все вот эти «В этом году я выучу Go! Ой, нет, теперь говорят что в моде Rust — выучу лучше Rust! Или Swift ...». Просто выучите все — не ошибётесь. А эта статья, возможно, вам в этом немного поможет.
Читать дальше →
Всего голосов 89: ↑81 и ↓8+73
Комментарии94

Как работает hashCode() по умолчанию?

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

Попытка заглянуть вглубь hashCode() привела к спелеологическому путешествию по исходному коду JVM, с рассмотрением структуры объектов и привязанной блокировки (biased locking), а также удивительных последствий для производительности, связанных с использованием hashCode() по умолчанию.
Читать дальше →
Всего голосов 59: ↑57 и ↓2+55
Комментарии53

Основы мониторинга (обзор Prometheus и Grafana)

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

Мониторинг сегодня – фактически обязательная «часть программы» для компаний любых размеров. В данной статье мы попробуем разобраться в многообразии программного обеспечения для мониторинга и рассмотрим подробнее одно из популярных решений – систему на основе Prometheus и Grafana

Читать далее
Всего голосов 15: ↑12 и ↓3+11
Комментарии21

Смерть от тысячи микросервисов

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

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

Читать далее
Всего голосов 105: ↑99 и ↓6+121
Комментарии309

Геометрия данных 4. Пространство графа

Время на прочтение12 мин
Количество просмотров11K
Особенность координатных систем на точечном базисе (ди- и би-координат) состоит в том, что их можно использовать как в обычном геометрическом пространстве, так и в пространстве графа.



Что такое пространство графа


Мерность пространства и мерность базиса


Мерность пространства графа определяется количеством его связанных вершин (будем считать, что все вершины графа связаны — однокомпонентный граф). Базис пространства задается как подмножество вершин графа с известными дистанциями между ними (метрикой). Подмножество может включать в себя как все вершины графа, так и только часть (подграф). В последнем случае мерность базиса меньше, чем мерность общего пространства графа.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии5

Какие навыки можно прокачать на проекте c большой кодовой базой

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


Как жить и развиваться на проектах с историей. Что дает разработчику опыт работы c большой кодовой базой, и почему не нужно стремиться переписать все с нуля, если даже очень хочется.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии14

Дайте крудошлепа

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

Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.

У нас был 3(три) Т‑Р-И статуса юзера. Anonym → Logined → Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.

Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.

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

Это было вступление.

Уважаемый Яндекс, Сбер и прочая! Я умею быстро решать задачи и кратно увеличивать выхлоп простыми решениями. Я самый умный программист, среди всех ваших работников! Я — НадНадсеньор! Сейчас докажу.

Потому что, только я могу решить задачку, которую вы уже 10 лет решить не можете, когда прилетает пуш‑уведомление или смс и в твоем всплывающем окне написано:

«Ваш шестизначный пароль доступа в наше приложение: 123...»

Не согласен! ...
Всего голосов 395: ↑332 и ↓63+339
Комментарии730

Как попробовать Smalltalk на вкус

Время на прочтение7 мин
Количество просмотров17K
Smalltalk LogoС выходом на большую арену Ruby и с появлением фреймворка Seaside, все чаще упоминается Smalltalk. Однако, среди молодого поколения (разработчики до 30 лет) бытует мнение, что это мертвый язык, разработанный на заре появления ПК и тогда же похороненный. Упоминание о Smalltalk на лекциях по ЯП, недалеко от COBOL, делает его еще более архаичным.

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

Но что происходит когда программисту хочется попробовать что-то новенькое? Он пытается это сделать. И от того, насколько это легко или сложно, с какими проблемами он столкнется, зависит его отношение к инструменту в дальнейшем.
попробовать Smalltalk
Всего голосов 88: ↑84 и ↓4+80
Комментарии57

Вышла Java 21

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров68K
Вышла общедоступная версия Java 21. В этот релиз попало около 2500 закрытых задач и 15 JEP'ов. Release Notes можно посмотреть здесь. Изменения API – здесь.

Java 21 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода.
Читать дальше →
Всего голосов 74: ↑74 и ↓0+74
Комментарии49

Как писать хардкорные статьи, чтобы их читали

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

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

Читать далее
Всего голосов 29: ↑28 и ↓1+50
Комментарии32

TgGram — сервис создания сайтов для/из телеграм каналов

Время на прочтение2 мин
Количество просмотров27K
Добрый день.

Как известно, контент опубликованный в телеграм не индексируется поисковиками. Я разработал сервис, tggram.com, автоматически создающий сайты для телеграм каналов.

Сразу несколько примеров:

rdslv.tggram.com
botcollection.tggram.com
memefeed.tggram.com

По желанию, возможен! кастомный домен и уникальный стиль, например:

startupoftheday.ru
crazydoge.com
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии27

Разбираемся с Redis

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

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

Читать далее
Всего голосов 46: ↑45 и ↓1+62
Комментарии7

Дизайнер не нужен. Правила создания красивых UI

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


Чем проще система — тем она эффективнее. Здесь не нужен художественный вкус или особая одарённость. Красота появляется сама собой, если система спроектирована без лишних деталей. Хороший пример таких интерфейсов дают рабочие инструменты. Молоток, ножовка, электропила. Всё это создано не для красоты, а чтобы идеально ложиться в руку и эффективно выполнять свою функцию. О красоте думают в последнюю очередь, но в итоге дизайн профессиональных инструментов зачастую вызывает искреннее восхищение. Ничего лишнего.

Такие же правила действуют в компьютерных интерфейсах. Чем проще — тем лучше. В этом смысле интересно посмотреть на новое поколение Linux-приложений в современном стиле с адаптацией под смартфоны (на КДПВ некоторые примеры), а также на свежие UI-фреймворки, которые продвигают современный стиль разработки.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+39
Комментарии30

Учимся разворачивать микросервисы. Часть 4. Jenkins

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


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


Это четвертая и заключительная часть серии статей "Учимся разворачивать микросервисы", и сегодня мы настроим Jenkins и создадим пайплайн для микросервисов нашего учебного проекта. Jenkins будет получать файл конфигурации из отдельного репозитория, собирать и тестировать проект в Docker-контейнере, а затем собирать Docker-образ приложения и пушить его в реестр. Последней операцией Jenkins будет обновлять кластер, взаимодействуя с Helm (более подробно о нем в прошлой части).

Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии6

Про школу и продуктивное мышление

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

Звонок в два часа ночи.

— Марьиванна, это Вы?

— Да!

— Это папа Вашего ученика. Вы спите?

— Да!!

— А мы, блин, учим!!!

Читать далее
Всего голосов 182: ↑138 и ↓44+124
Комментарии1769
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Работает в
Дата рождения
Зарегистрирован
Активность

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

Backend Developer
Senior
Java
PostgreSQL