Pull to refresh
-25
@ITCarnread⁠-⁠only

User

Send message

На что обратить внимание при переходе к IPv6

Level of difficultyEasy
Reading time8 min
Views20K

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

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

На вопрос «а почему именно v6, а не v5, ведь теперь адрес не состоит из 6 байт?» можно ответить так. Почитайте RFC 1819. Он был принят и в нём указано, что в заголовке пакета должна быть указана версия 5. Версия 5 просто была занята при разработке нового протокола, который, соответственно и получил наименование IPv6 и заветное значение `6` в заголовке пакета.

Читать далее

Как опубликовать приложение в RuStore и подключить монетизацию: пошаговый гайд

Level of difficultyEasy
Reading time6 min
Views33K

Привет! На связи Александр Руснак, руководитель направления разработчиков, технологий и сервисов RuStore. В мае 2022 года мы с командой и партнёрами запустили российский магазин приложений для Android.

В январе 2023 года аудитория RuStore составила 10 миллионов человек. На витрину магазина уже загружено 5 тысяч приложений от 3,6 тысячи разработчиков.

Для тех, кто ещё не знаком с RuStore, мы сделали подробный гайд по регистрации и загрузке приложений.

Читать далее

Книга «40 алгоритмов, которые должен знать каждый программист на Python»

Reading time6 min
Views52K
image Привет, Хаброжители!

Понимание работы алгоритмов и умение применять их для решения прикладных задач – must-have для любого программиста или разработчика. Эта книга поможет вам не только развить навыки использования алгоритмов, но и разобраться в принципах их функционирования, в их логике и математике.

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

Дойдя до конца, вы превратитесь в эксперта по решению реальных вычислительных задач с применением широкого спектра разнообразных алгоритмов.
Читать дальше →

Полиморфизм: подавать холодным

Level of difficultyEasy
Reading time7 min
Views24K

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

Читать далее

Классификация защищённых мессенджеров. Новые проекты

Reading time5 min
Views50K


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

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

История Open Compute Project. Сервера

Reading time6 min
Views9.2K

В апреле 2011-го Facebook выступил с революционной идеей — перенести принципы Open Source из мира программного обеспечения в мир аппаратных средств. Новое сообщество назвали Open Compute Project. Его идеология похожа на идеологию Open Source: открыто делиться идеями по разработке серверного оборудования и сообща делать его более эффективным, дешевыми, надежными и простыми в обслуживании. 

В этом году OCP исполняется 10 лет, и за это время сообщество разработало множество крайне интересных продуктов и создало несколько новых стандартов для индустрии. Самое время сделать небольшой обзор.

Читать далее

Чем заняться в 2023? Идеи для пет-проектов и подборка материалов по профессиональному развитию

Reading time3 min
Views25K

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

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

Изобретая серверы — Open Compute Project

Reading time11 min
Views26K
Стартовавший в 2011 году проект Facebook под названием Open Compute Project (OCP) предполагает создание открытых стандартов и архитектур оборудования для построения энергоэффективных и экономичных ЦОД. OCP начинался как проект по разработке оборудования для дата-центра Facebook в Прайневилле (штат Орегон). В итоге в Facebook решили сделать архитектуру открытой, включая серверные платы, блоки питания, серверные шасси и стойки. Компания выпустила спецификации OCP с рекомендациями по архитектуре компактных и энергоэффективных стоечных серверов и методам охлаждения.



Под катом мы в деталях рассмотрим из чего состоят эти сервера, как они работают и что это дает.

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

Сегрегация общества: модель Шеллинга и распределение этнических групп в городах Израиля

Level of difficultyHard
Reading time27 min
Views4.3K

Модель сегрегации Шеллинга является одной из самых ранних агент-ориентированных моделей в социальной науке. Модель была представлена Томасом Шеллингом для иллюстрации того, как индивидуальные стимулы и индивидуальное восприятие различий могут привести к сегрегации. Хотя модель показательна для целого ряда явлений, когда люди склонны переселяться в зависимости от доли похожих соседей, она была признана особенно полезной для изучения сегрегации по месту жительства.

В модели каждый агент принадлежит к одной из двух групп и стремится жить в районе, где доля "друзей" достаточно высока: выше определенного порогового значения F. В зависимости от F, для групп равного размера, модель проживания по Шеллингу сходится либо к полной интеграции (случайное распределение), либо к сегрегации. Изучение этнических жилых моделей израильских городов с высоким разрешением показывает, что реальность сложнее, чем эта простая дихотомия интеграции-сегрегации.

?

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

Level of difficultyEasy
Reading time5 min
Views39K

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

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

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

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

?

Визуальный язык ДРАКОН: математические истоки алгоритмической макроконструкции «силуэт» и метод Ашкрофта-Манны

Reading time6 min
Views3.2K

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

На практике построение конструкции силуэт не представляет трудности и делается несколькими щелчками мыши. Но речь не об этом. Мы пойдем неочевидным путем и построим силуэт в два этапа. Сначала создадим графическую заготовку классическим методом Ашкрофта-Манны. Затем с помощью специального приема преобразуем заготовку в силуэт.

Читать далее

Простейшая нейросеть: еще раз и подробнее

Reading time10 min
Views63K

Машинное обучение это незаменимый инструмент для решения задач, которые легко решаются людьми, но не классическими программами. Ребенок легко поймет, что перед ним буква А, а не Д, однако программы без помощи машинного обучения справляются с этим весьма средне. И едва ли вообще справляются при минимальных помехах. Нейросети же уже сейчас решают многие задачи (включая эту) намного лучше людей. Их способность обучаться на примерах и выдавать верный результат поистине очаровывает, однако за ней лежит простая математика. Рассмотрим это на примере простого перцептрона.
Данная статья представляет собой пересказ-конспект первой части книги Тарика Рашида "Создай свою нейросеть" для тех, кто начал изучать тему, не понял отдельные детали или с трудом охватывает общую картину.

Читать далее

С чем едят конечный автомат

Level of difficultyEasy
Reading time9 min
Views28K
image

Машина Тьюринга и машина состояний, детерминированный и недетерминированный конечный автомат, конечный автомат Мура и конечный автомат Мили. Голова кругом от всех этих понятий. Как во всем этом разобраться новичку? Тем более, что и у бывалых спецов бывает такая каша в голове из этих понятий. Чего только стоит вебинар от Яндекс Практикум на тему «Конечные автоматы в реальной жизни». Именно случайный просмотр этого вебинара сподвиг меня написать статью. Я обратил внимание, что даже более опытные лекторы ловко жонглируют всеми этими понятиями или подменяют одни другими в своих лекциях. С этим можно просто смириться, или дойти до безумия, разбираясь что к чему. И как со всем этим жить начинающему ардуинщику, если про конечные автоматы в программировании трубят из каждого утюга, а добраться до истины самостоятельно непросто?

Не гарантирую, что после прочтения статьи все сразу станет на свои места, но, как минимум, постараемся выудить из всей этой «каши» что-то полезное для себя. Так что усаживайтесь по удобнее, тема не простая, под катом будет много текста.
Читать дальше →

Оценка количества простых циклов на графе

Level of difficultyMedium
Reading time4 min
Views9.2K

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

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

Читать далее

Почему ARM? Перспективы платформы в серверном применении

Reading time16 min
Views11K

«Когда-то небольшой английский стартап был простой игрушкой для сборки PoS-терминалов. Затем — компонентом для умных датчиков, connected- и более сложных embedded-устройств, где без операционной системы уже не обойтись. Еще позже — основой для большинства мобильных устройств. И теперь каждый владелец смартфона знает, что под его капотом — ARM».

Здравствуй, Хабр! Меня зовут Игорь Лепихин, я руководитель направления аппаратного обеспечения в Selectel. Мы с коллегами уже писали про тестирование и сборки под ARM-архитектуры. Но почему именно ARM? И способен ли он обогнать Intel и AMD в сегменте серверной аппаратуры? Под катом как раз об этом и поговорим.
Читать дальше →

8 книг по PostgreSQL: от баз данных с «нуля» для самоучек до руководства про БД в облаках

Level of difficultyEasy
Reading time7 min
Views77K

В целом, эта объектно-реляционная СУБД в дополнительном представлении не нуждается. Разработанная более 20 лет назад, она предназначена для создания и поддержки баз данных серверных приложений, в том числе ресурсоемких аналитических БД. Одна из особенностей PostgreSQL — открытый исходный код. Мы любим ее за развитое комьюнити и возможность развернуть «постгрю» самостоятельно и бесплатно.

Подготовили подборку полезных книг для тех, кто только начал или собирается работать с PostgreSQL. В нее вошли актуальные руководства на русском и английском языках. Если знаете еще одну-две отличных книги, смело рекомендуйте в комментариях.
Читать дальше →

Как программы общаются между собой

Level of difficultyMedium
Reading time9 min
Views18K

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

С развитием технологий, прошествием времени и увеличением масштабов ответить на этот вопрос становится всё сложнее.

Давайте совершим экскурс в историю и узнаем, как много было сделано и как мало изменилось.

Предупреждение: в статье я буду упрощать и жертвовать точностью ради понятности.
Читать дальше →

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

Reading time21 min
Views21K

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

Читать далее

Python & Linux: Почему навык змееуста для админа — это мастхев. История о личном опыте

Reading time5 min
Views16K

Python - это больше, чем просто язык программирования. Он является самым настоящим швейцарским ножом, который поможет во многих ситуациях.

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

Читать далее

Китайская электроника и «запрещенка»: как Поднебесная обходит санкции США, закупая литографические машины

Reading time4 min
Views15K

У КНР из-за торговой войны с США периодически возникают сложности с поддержанием нормальной работы своей отрасли по производству электроники, включая высокопроизводительные чипы. Так, сейчас в силе запрет на поставки Китаю установок для EUV-литографии. Кроме того, США пытаются ввести и запрет на поставки любого оборудования для литографии производства ASML.

Но Китай ищет выход из сложившейся ситуации. Похоже на то, что у Поднебесной более-менее все получается. Так, страна собирается начать производство собственных литографических машин в относительно скором будущем. Кроме того, Китай закупает подобное оборудование в обход санкций. Подробнее — под катом.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity