Pull to refresh
-6
0

DevOps

Send message

Разбираем iOS-приложение: код, сборка, статические и динамические библиотеки, компиляция, запуск

Level of difficultyEasy
Reading time12 min
Views1.6K

Больше всего мне нравится изучать процессы мобильной разработки, включая самые низкоуровневые вещи. Из чего состоит iOS-приложение? Какие этапы оно проходит перед тем, как оказаться на устройстве пользователя? Что такое Executable binary? Что происходит внутри препроцессора?

Если вам, как и мне, интересно разбираться в Computer Science для iOS, приглашаю под кат. Разберём первые, самые базовые понятия, которые касаются любого iOS-приложения. Статья поможет тем, кто хочет двигаться дальше, кому интересен IT мир, и кто по каким-то причинам ещё не приступил к изучению подобного материала.

Читать далее
Total votes 15: ↑15 and ↓0+18
Comments1

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time46 min
Views257K

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

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Total votes 445: ↑437 and ↓8+489
Comments373

Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka

Level of difficultyEasy
Reading time16 min
Views11K

Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье.

Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке.

Для написания прототипа я буду использовать LitestarFastStream и dishka. Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах.

Ну что ж, приступим
Total votes 23: ↑22 and ↓1+24
Comments12

12 сервисов для прокачки насмотренности и поиска идей от руководителя команды дизайна Selectel

Reading time5 min
Views5.4K

Привет, Хабр! Меня зовут Алина, я руководитель отдела дизайна в Selectel. Слышали когда-нибудь, что главное в нашей работе — вдохновение? Я тоже, поэтому в этой статье расскажу, какое место на самом деле оно занимает в дизайн-процессе наряду с насмотренностью и опытом. А еще — поделюсь конкретными источниками и подсказками из практики нашей команды, которые помогают создавать крутые визуалы каждый день.
Читать дальше →
Total votes 30: ↑29 and ↓1+37
Comments1

Пробуем Typst, альтернативу LaTeX

Level of difficultyEasy
Reading time20 min
Views11K

Вы могли слышать об Typst, современной альтернативе LaTeX, написанный на Rust, или не могли, ведь на Хабре я нашёл лишь несколько статей о нём. Некоторые до меня подчёркивали, что есть некоторые недостатки у первого по сравнению с последним.

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

Читать далее
Total votes 28: ↑28 and ↓0+37
Comments55

Микросервисы в представлении среднего разработчика, и как всё на самом деле

Level of difficultyMedium
Reading time11 min
Views63K

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

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

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

погрузиться в микросервисы
Total votes 236: ↑232 and ↓4+260
Comments207

Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все

Reading time20 min
Views393K

Три месяца назад здесь на Хабре была опубликована статья “Интернет-цензура и обход блокировок: не время расслабляться”, в которой простыми примерами показывалось, что практически все популярные у нас для обхода блокировок VPN- и прокси-протоколы, такие как Wireguard, L2TP/IPSec, и даже SoftEther VPN, SSTP и туннель-через-SSH, могут быть довольно легко детектированы цензорами и заблокированы при должном желании. На фоне слухов о том, что Роскомнадзор активно обменивается опытом блокировок с коллегами из Китая и блокировках популярных VPN-сервисов, у многих людей стали возникать вопросы, что же делать и какие технологии использовать для получения надежного нефильтрованного доступа в глобальный интернет.

Мировым лидером в области интернет-цензуры является Китай, поэтому имеет смысл обратить на технологии, которые разработали энтузиасты из Китая и других стран для борьбы с GFW (“великим китайским файрволом”). Правда, для неподготовленного пользователя это может оказаться нетривиальной задачей: существует огромное количество программ и протоколов с похожими названиями и с разными не всегда совместимыми между собой версиями, огромное количество опций, плагинов, серверов и клиентов для них, хоть какая-то нормальная документация существует нередко только на китайском языке, на английском - куцая и устаревшая, а на русском ее нет вообще.

Поэтому сейчас мы попробуем разобраться, что же это все такое и как это использовать и не сойти с ума.

Читать далее
Total votes 126: ↑124 and ↓2+153
Comments136

10 библиотек Python для машинного обучения — подборка для начинающих

Level of difficultyMedium
Reading time8 min
Views18K

Составили список самых важных библиотек Python для машинного обучения и рассказали, для каких задач они могут быть полезны начинающим ML-инженерам и специалистам по Data Science.

Собрать подборку помог Кирилл Симонов — ML-разработчик компании IRLIX с экспертизой в компьютерном зрении.

Читать далее
Total votes 10: ↑9 and ↓1+10
Comments0

Как компилировать json или история оптимизации python сервиса

Level of difficultyMedium
Reading time10 min
Views8.7K

В прошлой статье мы начали историю создания одного из компонентов платформы экспериментов в компании Okko — сервис сплитования трафика.

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

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

Читать далее
Total votes 25: ↑24 and ↓1+32
Comments27

Docker для Angular-приложений: от простого к несложному

Level of difficultyMedium
Reading time16 min
Views5.7K

Привет, Хабр! Меня зовут Артём, я разрабатываю фронтенд систем управления сетью в YADRO. С Docker знаком давно и часто его использую. Но когда столкнулся с задачами, где недостаточно просто скопировать шаблонный Docker-файл и подправить пару строчек, решил больше погрузиться в эту тему. 

В статье я разберу типовые вопросы, связанные с запуском Angular-приложений в контейнерах, — это поможет в дальнейшем справиться с более замысловатыми задачами. Текст будет полезен тем, кто уже что-то знает про Docker, но не углублялся в детали или хочет освежить знания на практике.

Читать далее
Total votes 18: ↑17 and ↓1+18
Comments4

Магия CSS на практике: советы по вёрстке от гика

Level of difficultyMedium
Reading time8 min
Views18K


Хабр, привет! Я частенько пишу про работу CSS, его неизвестные возможности и влияние на доступность. Кажется, этих направлений мало для меня. Теперь я хочу показать техники вёрстки, используемые мной постоянно.


Цель — поделиться опытом с вами. Я использую не только трюки известных экспертов, есть лично мои придумки. Но, пожалуйста, относитесь к этому контенту, как просто альтернативному мнению. Мои техники не являются единственными правильными решениями.


Сегодня я расскажу:

  • как избавиться от соседнего родственного комбинатора + при реализации нестандартных чекбоксов и радиокнопок;
  • про свойство inset, сокращающее код на целых три строки;
  • мой сниппет для расширения интерактивной области у кнопок и ссылок;
  • стиль написания медиа-запросов, позволяющий сократить количество правил;
  • альтернативный способ центрирования элемента без свойства transform.
Читать дальше →
Total votes 39: ↑39 and ↓0+54
Comments9

Как мне взбрело в голову свой Notion-like редактор написать

Level of difficultyMedium
Reading time16 min
Views7.4K

Мне в голову пришла идея пет-проекта, который изначально никак не был связан с текстовым редактором. Однако, в процессе работы все дошло до того, что пользователям нужно где-то набирать текст. Я люблю Notion и пишу там много и часто, поэтому решил сделать похожий (но сильно упрощенный) редактор в своём проекте. Не столько из нужды, сколько из любопытства, ведь я никогда не занимался ничем подобным и мало что знал о том, как писать текстовые редакторы.

В статье хочу рассказать про атрибут contenteditable у HTML-элементов, про сопутствующие проблемы при его использовании, про кастомное форматирование и про работу с выделенными участками текста.

Читать далее
Total votes 24: ↑24 and ↓0+27
Comments12

Что есть истина в последней инстанции или какие добавки действительно работают?

Level of difficultyMedium
Reading time88 min
Views6.8K

Здравствуйте, уважаемые читатели!

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

В силу того, что тема БАДов популярна в СМИ, о ней регулярно говорят различного рода эксперты, и она неоднократно рассматривалась в том числе на Хабре (см. Рисунок 1 ниже), я хотел бы поставить точку в данном вопросе, при этом, что самое важное, предоставив читателям методологию, которая позволит отделить зёрна от плевел, или, другими словами, истинное от, в лучшем случае, бесполезного, а в худшем – вредоносного.

Читать далее
Total votes 20: ↑15 and ↓5+18
Comments12

Гайд: чем снимать видео дома. Подборка оборудования от 11 000₽ до 420 000₽

Level of difficultyEasy
Reading time6 min
Views11K

Я снимаю кинофестивали, шины от поставщика Формулы-1 и даже робота-хирурга прямо в операционной. Но снимал и из багажника, в студии-каморке, и начинал с подручных средств. Поэтому решил собрать 3 комплекта для съемок под разный бюджет: от бабушкиной пенсии до зарплаты айтишника.

Читать далее
Total votes 48: ↑43 and ↓5+54
Comments74

Как общаться с базой знаний на естественном языке с помощью LLM и объективно оценить работу полученной системы

Level of difficultyEasy
Reading time11 min
Views6.5K

Привет, Хабр! Меня зовут Даниил, работаю в ML-отделе Doubletapp. В статье расскажу про особенности применения больших языковых моделей для оптимизации бизнес-процессов.

Большая языковая модель (LLM) — это тип языковой модели, который способен распознавать и генерировать осмысленные тексты, а также другие сложные типы данных (например, код). Такого рода модели обучаются на огромных массивах данных, чаще всего собранных из открытых источников.

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

Такая система ответов на вопросы с использованием фактической информации называется RAG (Retrieval Augmented Generation).

Данная статья состоит из двух частей:

мы рассмотрим построение RAG-системы на основе библиотеки langchain;

объективно оценим работоспособность созданной системы, используя синтетические данные на русском языке с помощью фреймворка RAGAs.

Читать далее
Total votes 11: ↑10 and ↓1+12
Comments10

Анимации CSS, основанные на времени

Level of difficultyEasy
Reading time4 min
Views4.8K

Демонстрация анимаций

В моем предыдущем посте Time Uniform For CSS Animation я рассказал о способе создания CSS-анимации с использованием тиков вместо ключевых кадров. Он был ограничен в применении, поскольку в CSS отсутствовала возможность выполнять сложные математические вычисления.

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

Читать далее
Total votes 15: ↑15 and ↓0+16
Comments0

Разбираем научпоп Ксении Собчак — в защиту ортодонтов

Reading time15 min
Views16K
image

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

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

Как бывший хирург и действующий владелец сети клиник хочу выступить в защиту ортодонтов и разобрать передачу.

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

В общем, заходите в гости к слегка недовольному врачу.
Читать дальше →
Total votes 67: ↑60 and ↓7+66
Comments66

Подводный буксировщик своими руками

Level of difficultyEasy
Reading time8 min
Views7.7K

Предыстория

Пересматривал я один из любимых советских фильмов детства - "Акванавты". Ностальгия по молодости, потрясающие (на те времена) сцены подводных съемок (после этого фильма пошел в секцию подводного плавания)...

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

А сколько стоит такой буксировщик? Я посмотрел - от 40 до 100 тыр. Для редкого развлечения ("лето в Челябинске короткое и малоснежное", да еще не каждый погожий день выпадает на выходные) - мне показалось дороговато. А можно сделать такой девайс самостоятельно? (как обычно ноют старички типа меня -"а вот мы! а вот в наше время! сами себе игрушки делали!". Детство в советские времена было знаменательно тем, что изрядная доля делалась своими руками (отливка солдатиков из свинца, тачки на подшипниках, пайка усилителей и цветомузык, даже в секции подводного плавания моноласты и удлинненки себе делали сами), по тем самым советским "дендрофекальными технологиям".

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

Читать далее
Total votes 51: ↑51 and ↓0+56
Comments59

История терминала как инструмент продуктивности

Level of difficultyEasy
Reading time7 min
Views7.9K

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

Читать далее
Total votes 10: ↑9 and ↓1+14
Comments3

Где продать стартап?

Level of difficultyEasy
Reading time3 min
Views2.5K

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

Читать далее
Total votes 7: ↑6 and ↓1+6
Comments5
1
23 ...

Information

Rating
Does not participate
Location
Черновцы, Черновицкая обл., Украина
Registered
Activity