Pull to refresh
58
Karma
0
Rating

Embedded SW Designer

13 распространенных задач в Kubernetes и способы их решения

VK corporate blog DevOps *Kubernetes *


Команда VK Cloud перевела статью о проблемах в Kubernetes, с которыми часто сталкиваются инженеры-разработчики при запуске новых масштабируемых отказоустойчивых веб-сервисов. 
Читать дальше →
Total votes 48: ↑44 and ↓4 +40
Views 14K
Comments 3

4 острые бритвы познания — как использовать в IT и в жизни

Development Management *GTD *Reading room Popular science Lifehacks for geeks

Про бритву Оккама хоть раз слышал каждый: во многих статьях и книгах встречается призыв не множить сущности без необходимости. Но не все знают, что в науке есть и другие «бритвы», которые помогают избавиться от лишнего. Термин «бритва» используется для обозначения метода, который помогает отбрасывать что-то ненужное, маловероятное, неправдоподобное. Принцип «бритвы» или «лезвия» — это на удивление универсальный инструмент, который помогает не только в процессе научного познания, но и в работе, и в повседневной жизни.

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

Читать далее
Total votes 63: ↑61 and ↓2 +59
Views 12K
Comments 24

VPN Gate, или — неубиваемая Великим Китайским Файрволом распределённая сеть VPN

Information Security *System administration *Network technologies *Distributed systems *
FAQ

Сегодня речь пойдёт о технологии распределённой сети VPN Gate, своего рода недруга Поднебесной в области интернет цензуры. На Хабре много статей на тему SoftEther VPN (нижележащий слой VPN Gate), но нет ни одной технически всесторонней статьи про саму распределённую сеть и такое чувство, что в рунете про неё вообще забыли.

VPN Gate — академический эксперимент Дайу Нобори. Проект представляет собой интернет-сервис научных исследований в Высшей Школе Университета Цукуба, Япония. Цель данного исследования заключается в расширении знаний «Глобальных распределенных открытых ретрансляторов VPN».

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

Однако это не так, данный проект уже насчитывает 8634 узлов и 534 петабайта трафика за всё время существования. К примеру даже у TOR-а узлов — 7 тысяч.

Читать далее
Total votes 81: ↑80 and ↓1 +79
Views 35K
Comments 101

На какие профессии повлияет ChatGPT

Development of mobile applications *Algorithms *Machine learning *Development Management *The future is here
Opinion

3 недели назад я написал инструкцию о том как получить доступ к ChatGPT в России. За это время она неожиданно набрала более 130т просмотров, что показывает явный интерес сообщества к этой теме.

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

Окей, давай посмотрим что ты там пишешь
Total votes 58: ↑55 and ↓3 +52
Views 33K
Comments 201

Всё про USB-C: типы кабелей

RUVDS.com corporate blog Interfaces *
Translation

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

Примечание пер.: это первая часть серии, посвященной стандарту USB-C. Остальные статьи по этой теме доступны здесь:

Читать дальше →
Total votes 96: ↑90 and ↓6 +84
Views 29K
Comments 30

Lingtrain. Приложение для создания мультиязычных книг и параллельных корпусов

Open source *Programming *Machine learning *Learning languages Natural Language Processing *
Tutorial

Хочу показать, как создать мультиязычный параллельный корпус и книги при помощи моего пет-проекта.

Для примера возьмем 10 редакций "Мастера и Маргариты" Михаила Булгакова (ru, uk, by, en, fr, it, es, de, hu, zh). Сначала выровняем девять переводов с оригиналом, а затем выровняем все вместе. Получим параллельный корпус на 10 языках и много красивых книг. Приступим.

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

Читать далее
Total votes 56: ↑56 and ↓0 +56
Views 5.2K
Comments 25

Как работает Wine

Дата-центр «Миран» corporate blog System Programming *Game development *Development for Linux *Software
Translation


Wine — это свободное программное обеспечение для запуска Windows-приложений на нескольких POSIX-совместимых операционных системах, включая Linux, macOS и BSD.

Если вы любите Linux, то наверняка когда-то запускали Wine. Возможно, для какой-то «важной» программы Windows, у которой нет аналога под Линуксом, или поиграться. Забавный факт: даже Steam Deck от Valve запускает игры через оболочку на основе Wine (она называется Proton).

За последний год я намучился с отладчиком, который позволяет одновременно дебажить и Wine, и Windows-приложение в нём. Разобраться во кишочках Wine оказалось очень интересно! Я-то раньше много им пользовался, но никогда не понимал механику целиком. Можно взять файл Windows — и просто запустить его в Linux без каких-либо изменений. Если вы хотите знать, как это сделано, добро пожаловать под кат.
Читать дальше →
Total votes 232: ↑231 and ↓1 +230
Views 46K
Comments 44

Наглядное руководство по SSH-туннелям

Флант corporate blog Configuring Linux *System administration **nix *
Translation

Прим. переводчика: автор статьи рассматривает практические сценарии и примеры организации SSH-туннелей. А для лучшего понимания того, как это работает, графически показывает потоки трафика.

Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.

Читать далее
Total votes 75: ↑75 and ↓0 +75
Views 47K
Comments 17

Краткий справочник по «всем-всем» командам Linux

ГК ЛАНИТ corporate blog Configuring Linux **nix *Development for Linux *

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20,30,40 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого краткого справочника (на 300, 396, 455, 515, 612 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX
Total votes 126: ↑123 and ↓3 +120
Views 80K
Comments 106

Элементы языка С, которые являются неподдерживаемыми в языке С++

C *
Recovery mode

Нижеприведенный список является моей небольшой коллекцией примеров кода на языке С, которые не являются корректными с точки зрения языка С++ или имеют какое-то специфичное именно для языка С поведение. (Именно в эту сторону: С код, являющийся некорректным с точки зрения С++.)

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

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

Читать далее
Total votes 140: ↑139 and ↓1 +138
Views 30K
Comments 80

Веб-комиксы про жизнь айтишников: от зарождения и до наших дней

RUVDS.com corporate blog Reading room Media management *Popular science

Интернет-комиксы как явление даже старше, чем сама Всемирная сеть. Первые из них увидели свет ещё в середине 1980-х годов. Пионером жанра стал легендарный и таинственный Witches and Stitches от детройтского художника Эрика Милликина. Пародия на «Волшебника из страны Оз» распространялась по электронной почте и через другие ранние способы обмена информацией: WWW появится только в начале 90-х, а возможность размещать изображения во Всемирной паутине — в 1992-м.

Ведьминская тематика была неожиданной для сети тех времён, когда кроме профессиональных технарей в ней никого толком и не было — но Милликин, один из основателей и пионеров виртуального искусства как такового — считает себя потомком одной из салемских ведьм XVII века. А в уже тогда любившей приколы и гэги ранней интернет-среде мрачно-ироничные стрипы про ведьм разлетались не хуже конфет на Хеллоуин.
Читать дальше →
Total votes 45: ↑45 and ↓0 +45
Views 11K
Comments 10

Устаревшие Python-библиотеки, с которыми пора попрощаться

Wunder Fund corporate blog Website development *Python *Programming *
Translation

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

Читать далее
Total votes 37: ↑35 and ↓2 +33
Views 28K
Comments 28

49 Атрибутов Хорошего С-кода (Хартия Си программистов)

Programming *C *Programming microcontrollers *
Tutorial

Это не академические атрибуты из учебников. Это скорее правила буравчика оформления сорцов из реального prod(а). Некоторые приемы совпали с MISRA, некоторые с CERT-C. А кое-что является результатом множества итераций инспекций программ и перестроек после реальных инцидентов. В общем тут представлен обогащенный концентрат полезных практик программирования на С(ях).

Читать далее
Total votes 62: ↑57 and ↓5 +52
Views 21K
Comments 158

Как организовать код в Python-проекте, чтобы потом не пожалеть

Wunder Fund corporate blog Python *Programming *Perfect code *
Translation

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

Бенджамин Франклин

Python отличается от таких языков программирования, как C# или Java, заставляющих программиста давать классам имена, соответствующие именам файлов, в которых находится код этих классов.

Python — это самый гибкий язык программирования из тех, с которыми мне приходилось сталкиваться. А когда имеешь дело с чем-то «слишком гибким» — возрастает вероятность принятия неправильных решений.

Читать далее
Total votes 38: ↑35 and ↓3 +32
Views 34K
Comments 34

Игры для обучения программированию

RUVDS.com corporate blog Programming *Software Games and game consoles Logic games

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

Профессионалов мало. Но их можно обучать с нуля. Теоретически, при неограниченном времени любого человека можно обучить чему угодно, если у него бесконечное желание и любопытство. Кажется, любопытство даже важнее, чем способности.

Соответствующие способности можно развить, а интеллект — повысить в рамках генетически заданного широкого коридора. Это возможно в любом возрасте. Лучше всего с детства, хотя и взрослым ничто не мешает… Проще всего начинать с игр.
Читать дальше →
Total votes 51: ↑51 and ↓0 +51
Views 23K
Comments 24

Межмодульный анализ C и C++ проектов в деталях. Часть 2

PVS-Studio corporate blog C++ *

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

Читать далее
Total votes 6: ↑4 and ↓2 +2
Views 1.6K
Comments 12

Изучаем, как собрать свой двигатель — на случай «Большого ПЭ» и не только

RUVDS.com corporate blog Reading room Developing for Arduino *DIY Systems engineering *
✏️ Technotext 2022
Картинка Freepik и Flickr

Энергия в современном мире — это всё, и чем дальше, тем больше: экзоскелеты, роботы, разнообразные электрические виды транспортных средств. Всё это базируется на необходимости доступа к соответствующим источникам питания и, в то же время, ограничивается их отсутствием. Однако всё может стать ещё хуже, если традиционные источники питания станут вдруг недоступны, по тем или иным причинам. Либо же, потребуется создать собственный источник питания (например, для электропитания далеко расположенного лесного домика и т.д.). Ещё одним интересным вариантом может быть изготовление альтернативного источника питания для уже существующих устройств, — например, для дронов. Да, в этой статье мы поговорим об устройстве и возможности изготовления собственных двигателей внутреннего сгорания различных типов. Кроме того, для этих целей можно даже применить технологии машинного обучения!

Читать дальше →
Total votes 100: ↑99 and ↓1 +98
Views 36K
Comments 129

Астероидная опасность

Timeweb Cloud corporate blog Popular science Astronomy
Несколько раз в год мы узнаем из СМИ пугающие новости — астероид со страшным номером вот-вот сблизится с Землей на опасное расстояние. Обещанный день наступает, катастрофы не происходит, про пролет в лучшем случае рассказывают на профильных астрономических сайтах, а мейнстримные СМИ про него уже давно забыли, и в особенно веселых случаях успели за прошедшее время выпустить еще несколько аналогичных кликбейтных пугалок. С 2015 года человечество отмечает 30 июня как “День астероида”, целью которого является в том числе и просвещение в вопросах астероидной опасности, чем мы с вами в этом материале и займемся.


Падение Челябинского метеорита
Читать дальше →
Total votes 67: ↑65 and ↓2 +63
Views 12K
Comments 145

Прагматичный набор модификаций для Windows 10 на старом железе

RUVDS.com corporate blog Information Security *System administration *Development for Windows *Software

В статьях про раздувание софта часто упоминают лаги Windows 10/11. Главная причина — ожирение кода в новых версиях. Для работы ОС с каждым годом требуется всё больше ресурсов. После засорения системы приходится ждать 10–20 секунд, пока отрисуются пункты контекстного меню по правой кнопке…

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

Но что делать, если приходится поневоле сидеть под Win10/11? Тогда остаётся одно — бороться с ожирением софта хирургическим путём. А именно, отключить ненужные модули и компоненты, развестистый GUI, анимацию и спецэффекты, удалить лишний софт, почистить реестр. Другими словами, спустить жирок из системы. После мануальных процедур винда начинает шевелиться значительно бодрее.
Читать дальше →
Total votes 131: ↑76 and ↓55 +21
Views 30K
Comments 114

Создание HTTP-запросов на C++

RUVDS.com corporate blog Programming *C++ *HTML *
Translation

В этой статье я покажу вам, как создавать HTTP-запросы к REST-серверу с помощью библиотеки C++ Request, написанной Ху Нгуеном. При её написании мистер Нгуен во многом ориентировался на принципы проектирования из Python Requests, поэтому для тех, кто использовал или знаком с Python Requests, C++ Requests окажется вполне понятна.
Читать дальше →
Total votes 36: ↑33 and ↓3 +30
Views 14K
Comments 7

Information

Rating
Does not participate
Registered
Activity