Pull to refresh
-8
0
Send message

Бекенд на AWS Lambda за 60 минут

Level of difficultyHard
Reading time12 min
Views5.4K

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

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

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

Читать далее

Почему число «1/137» встречается в природе повсюду

Level of difficultyMedium
Reading time12 min
Views65K

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

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

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

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

Читать далее

Как я делал сеть на 25 гигабит с минимальным бюджетом

Level of difficultyMedium
Reading time8 min
Views33K
Небольшой отчёт о моём опыте покупки кабелей и сетевых карт, а также тесты 25Гбит/с на слабых и быстрых компьютерах. Что же получилось собрать за 100 $, какие в реальности скорости получились, и как я сэкономил 30 $? Читайте далее в статье.

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

Как создать свою собственную нейронную сеть с нуля на Python

Level of difficultyMedium
Reading time5 min
Views96K

Как создать свою собственную нейронную сеть с нуля на Python

Мотивация: в рамках моего личного пути к лучшему пониманию глубокого обучения я решил создать нейронную сеть с нуля без библиотеки глубокого обучения, такой как TensorFlow. Я считаю, что понимание внутренней работы нейронной сети важно для любого начинающего специалиста по данным. Эта статья содержит то, что я узнал, и, надеюсь, она будет полезна и вам!

Что такое нейронная сеть?

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

Нейронные сети состоят из следующих компонентов:

Читать далее

Ломаем текстовую капчу на примере VK или брутфорсинг до сих пор актуален

Level of difficultyMedium
Reading time52 min
Views25K

Что мы знаем о капче? Капча - автоматизированный тест тьюринга, помогающий отсеивать подозрительные действия недобросовестных роботов от реальных людей. Но, к сожалению ( или к счастью, смотря для кого ), текстовая капча сильно устарела. Если еще 10 лет назад она была более-менее эффективным методом защиты от роботов, то сейчас ее может взломать обойти любой желающий робот, более-менее разбирающийся в компьютере.

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

А ну-ка поподробнее

Идеально ли текстовые эмбеддинги кодируют текст?

Level of difficultyMedium
Reading time10 min
Views2.5K

Этот материал посвящён исследованию восстановления текстов из текстовых эмбеддингов.

Рост популярности векторных баз данных

В последние годы наблюдается стремительное развитие генеративного искусственного интеллекта. Это привело к тому, что многие компании спешат внедрить соответствующие ИИ-инструменты в свои бизнес-процессы. Один из самых распространённых способов это сделать заключается в создании ИИ-систем, которые отвечают на вопросы, имеющие отношение к информации, которую можно найти в некоей базе данных, хранящей документы. Большинство решений этой задачи основано на подходе, называемом «генерация с дополненной выборкой»

Читать далее

Запрещенная соцсеть приносила бауманцу 63 млн в год, а теперь маркетплейсы приносят страдания

Level of difficultyEasy
Reading time10 min
Views87K

В 2023-м выручка кое-как дошла до 34 млн ₽. А прибыль я перестал считать еще год назад. Я понимаю, что это косяк, но когда все рушилось, я не мог себя заставить туда посмотреть.

Но в ходе этой статьи посчитать прибыль я все-таки попробую.

Читать далее

Что такое 50% cpu?

Level of difficultyEasy
Reading time3 min
Views47K

Если у вас на машине стрелочка показывает, что у вас осталась половина бака, то у вас точно осталась половина бака? На самом деле больше, так как современные машины врут и топлива еще немного есть, даже когда стрелка на нуле - забота об альтернативно одаренных водителях. А если сервер показывает 50% cpu, то сколько ресурсов у нас осталось?

Для многих ответ ясен, и это не 50%. Поэтому извините, если многие вещи будут вам очевидны. А вот для менеджеров, например, которые планируют ресурсы, это может быть открытием.

Читать далее

На сколько денег может рассчитывать ИТ-предприниматель в разных ветках развития

Reading time8 min
Views39K
1 миллион рублей в месяц — на руководстве проектом или на должности лида в условном Сбере или Яндексе. Там же вас и похоронят вместе со специализацией, но до пенсии работать будет очень комфортно.

2–4 миллиона — если заняться малым бизнесом по известной модели. Шаурма, недвижка, что-то ещё традиционное, в чём вы разбираетесь. Нужны софт-скилы, чтобы договариваться с администрацией, и несколько лет на развитие. Есть риски, но они обычно связаны с некомпетентностью или непониманием рынка.

Если хочется прыгнуть выше, то начинаются уже ИТ-стартапы, венчур. Там можно заработать примерно столько же, сколько в корпорации, но только в среднем. Лотерейное распределение — сотые доли процента стать единорогом, полпроцента — вырастить средний бизнес, 3–10 % — вырастить малый. Остальное — вы просто потеряете время и деньги.

image
Carta показывает стадии стартапов. Для 55 % через 5 лет ещё непонятно — это к вопросу скорости. 1,3 % успешны, 0,2 % суперуспешны, но там везде биотех, а не ИТ. Вот источник данных

Если что, я так уверенно про это всё рассказываю, потому что мой последний проект, который я делала 10 лет и в который вошёл Сбер с долей чуть больше 100 миллионов долларов (на развитие), через 2 года внезапно кончился. По условиям сделки я получила акции материнской компании СберГеймс. 24 февраля 2022 года стало понятно, что международных амбиций у СбераГеймс уже нет, мне нужно распускать штат в 200 человек, а моя доля была переоценена в 30 центов.

Мне немного жалко эти 10 лет и 10 лет работы команды. И я понимаю, что у меня осталось 1–2 попытки сделать что-то большое. И сейчас я занимаюсь как раз венчуром.
Читать дальше →

C++ с точки зрения Rust-разработчика: достоинства и недостатки

Reading time8 min
Views15K

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

Я не притрагивался к C++ с тех пор, как ещё в старших классах разрабатывал игры на Cocos2D-X, но решил, что сохранившихся у меня туманных воспоминаний о «правиле трёх» (или сколько там было? Пять? Ноль?) и прочих подобных материях будет более чем достаточно, чтобы решить такую задачу. Оказалось, что и мне требуется кое-что подучить, но я с удовольствием узнал, что существует большая аудитория, с которой можно поделиться этими знаниями. Почти любую концепцию из C++ легко понять, если объяснить её в ключе «о, эта как та штука из Rust».

Притом, что C++ местами несимпатичен, этот язык по-своему красив. Я и так это знал, но, когда взялся заново учиться C++, мне стало только яснее: если Rust в какой-то степени и превосходит C++ (допустим, вы верите, что это так), то лишь потому, что сам Rust стоял на плечах такого гиганта как C++.

Так что мы потратили пару недель, проштудировав серию руководств по OpenGL от ютубера под ником TheCherno (кстати, сама серия отличная). Две недели спустя нам удалось на экране единственный статичный голубой квадратик. Я уже стал опасаться, а не начнёт ли моя сестра сомневаться, стоило ли таким образом изучать разработку игр и пытаться изобразить что-нибудь на C++. Так что тогда я решил, что следует отбросить руководства господина Черно и взяться за разработку игры всерьёз.

Читать далее

Магия ссылок Системы быстрых платежей

Level of difficultyMedium
Reading time16 min
Views13K

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

Открыть магию ссылок СБП

о1: почему новая GPT от OpenAI — это не хайп, а переход к новой парадигме в ИИ

Level of difficultyEasy
Reading time27 min
Views112K

Последние пару лет развитие языковых нейросетей как будто бы шло по принципу «больше, длиннее, жирнее»: разработчики пытались раздуть свои модели на как можно большее число параметров и прогнать через них максимальный объем тренировочных данных. 12 сентября OpenAI выпустили новую LLM, которая добавляет в это уравнение еще одно измерение для прокачки: теперь можно масштабировать объем «мыслей», который модель будет тратить в процессе своей работы. В этой статье мы разберемся, чему научилась новая GPT o1, и как это повлияет на дальнейшую эволюцию ИИ.

Давайте выясним →

В чем разница между движками и средами выполнения JavaScript?

Level of difficultyEasy
Reading time4 min
Views9.7K

Среду выполнения и движки часто ошибочно называют одним и тем же.

Вы скорее всего слышали термины "движок JavaScript" и "среда выполнения JavaScript", которые используются, как взаимозаменяемые понятия, подразумевающие под собой "программу, которая выполняет JavaScript". Их часто смешивают, ссылаясь на V8, Node.js или некоторые другие комбинации схожих программ. Однако, существует значительная разница между движком и средой выполнения JavaScript с точки зрения их области применения и функциональности. Понимания этого различия является ключом к хорошему пониманию языка JavaScript в целом.

Читать далее

Почему новый процесс в Node порождается так медленно?

Reading time10 min
Views2.1K

Мы в Val Town выполняем ваш код в процессах Deno. Недавно мы заметили, что под нагрузкой отдельно взятый Node-сервер Val Town не может породить более 40 процессов. На протяжении 30% процессорного времени главный поток остаётся заблокирован вызовами к spawn. Почему так медленно? Можно ли как-нибудь ускорить эту работу?

Читать далее

Большие и чёрные (ящики): что мы знаем о том, как «думают» нейросети?

Level of difficultyMedium
Reading time30 min
Views64K

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

Узнать →

Распаковывая Valkey или миллион RPS на BSD-клоне Redis

Level of difficultyMedium
Reading time7 min
Views5.2K

В этот статье мы поделимся некоторыми результатами тестирования производительности Valkey (BSD-клон Redis). TL;DR: он действительно по ядрам скейлится лучше Redis и мы сделали миллион запросов с одного инстанаса.

В этом году Redis, “кеш с персистентностью”, мимкрирующий под СУБД и даже умеющий работать в режиме распределенного кластера – фантастически успешный проект, да и просто пример отличного продукта – сменил лицензию. Подробное рассмотрение лицензионной политики, включающее разбор лицензий Open Source и Source Available - выходит за рамки этой статьи. Скажем лишь, что это всё продолжение битвы “против облачных провайдеров”, которые “пользуются” результатами “настоящих” open source проектов, предоставляя услуги management service.

Итак, Redis cменил лицензию, и почти сразу же сотрудники AWS (Amazon Web Services, крупнейшего облачного провайдера) в сотрудничестве с другими облаками объявили о выпуске форка, Valkey: https://valkey.io/

Читать далее

3 способа рендеринга больших списков в Angular

Reading time6 min
Views18K
В 2020 году фронтенд-фреймворки стали лучше, эффективнее и быстрее. Но, даже учитывая это, рендеринг больших списков без «замораживания» браузера всё ещё может оказаться сложной задачей даже для самых быстрых из существующих фреймворков.

Это — один из тех случаев, когда «фреймворк является быстрым, а код — медленным».



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

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

Поле HTML-документа: для чего можно использовать

Level of difficultyMedium
Reading time8 min
Views9.8K

Привет, Хабр! Меня зовут Стас Ганиев, программист 1С, в статье рассказал о возможностях поля HTML-документа для решения задач в 1С, а также привел примеры реализации. Далеко не все 1С-разработчики знают, как использовать этот элемент диалога.

Читать далее

Поднятие своего сервера minecraft на linux. Полный, подробный гайд

Level of difficultyEasy
Reading time9 min
Views16K

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

Читать далее

SwiftUI уроки (часть 1)

Reading time9 min
Views10K

В чём особенность этих уроков?

Основаны на книге "Mastering SwiftUI" от Appcoda: Мы берем за основу материал этой книги, но не слепо следуем ей.

Интерпретация и перевод: Мы адаптируем материал книги для русскоговорящей аудитории, делая его более понятным и удобным для восприятия.

Для начинающих и опытных: Эти уроки подойдут как тем, кто только начинает изучать SwiftUI, так и тем, кто хочет узнать что-то новое об этом фреймворке.

Чего вы можете ожидать?

Пошаговое изучение SwiftUI: Мы будем проходить все основные темы, от простых до сложных.

Практические примеры: Вы сможете закрепить полученные знания, выполняя практические задания.

Присоединяйтесь к этой серии!

Читать далее
1
23 ...

Information

Rating
Does not participate
Registered
Activity