Pull to refresh
19
0
Игорь Росляков @lock87

редактор

Send message

Mojo: убийца Python и будущее Ai?

Level of difficultyEasy
Reading time8 min
Views13K

Всем привет! Меня зовут Вадим, я Data Scientist в компании Raft, и сегодня мы погрузимся в Mojo. Я уже делал обзор данного языка программирования и рассмотрел его преимущества, примеры использования, а также провел сравнение с Python.

Теперь давайте посмотрим, как обучить простую сверточную нейронную сеть, и разберём один из методов машинного обучения — линейную регрессию. В качестве примеров задач возьмем стандартные соревнования машинного обучения: предсказание стоимости жилья и классификацию рукописных цифр MNIST. Для проведения экспериментов на Python используем фреймворк машинного обучения PyTorch. А на Mojo — фреймворк машинного обучения Basalt.

Читать далее
Total votes 14: ↑10 and ↓4+12
Comments5

Народное творчество: баги

Reading time9 min
Views12K


Нет в мире человека, который пользуется компьютером или другим устройством, и при этом ни разу не сталкивался с какой-то ошибкой. А как мы любим сейчас называть такие ошибки? Именно, баги. Сленговое слово, которое крепко закрепилось в лексиконе любого современного человека. Но это далеко не единственный перл народного творчества в контексте ошибок. Ведь ошибок, то бишь багов, существует несколько видов, названия которых также полны и смысла, и креатива. О них сегодня и пойдет речь. Надеюсь, данный материал вас позабавит, как позабавил меня. Поехали.
Читать дальше →
Total votes 25: ↑17 and ↓8+9
Comments11

Собеседование на английском: самопрезентация для разработчиков

Level of difficultyEasy
Reading time12 min
Views8.9K

Всем привет! Меня зовут Елена Свистова, я методист образовательных программ английского языка в Практикуме, преподаватель и англоговорящий интервьюер в международных IT-компаниях. 

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

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

Разукрашиваем вывод в консоли: теория и практика

Reading time5 min
Views70K


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

Читать дальше →
Total votes 32: ↑31 and ↓1+40
Comments20

Как криптомессенджер Signal успешно противостоит прослушке со стороны властей США

Reading time4 min
Views29K


На фоне событий в США резко выросла популярность защищённого мессенджера Signal — c 6000 до 26 000 скачиваний в день. В этой программе реализована стойкая криптография и сквозное шифрование, она распространяется с открытым исходным кодом и работает на известных криптографических протоколах (в отличие от проприетарного MProto).

Но теперь разработчики Signal столкнулись с новой угрозой. Правительство США пытается скомпрометировать защиту мессенджера и опять получить доступ к переписке пользователей. В 2016 году им удалось получить судебную повестку на изъятие переписки одного пользователя, но из-за сквозного шифрования там нечего было изымать.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments25

Деплой приложения на сервер через push в Git. Или как перенести сайт или бот на хостинг в 3 действия

Level of difficultyMedium
Reading time4 min
Views11K

Когда проект создан, его требуется где-то разместить, чтобы он работал 24/7. В статье мы изучим два способа деплоя приложения на облачный сервер. В первом сценарии мы рассмотрим деплой через отправку кода в выделенный Git-репозиторий. Во втором сценарии мы осуществим аналогичную операцию, но загрузим файлы через графический интерфейс. Оба способа предполагают деплой буквально за 5-10 минут. 

В качестве примера приложения возьмем API для TODO-заметок на языке Python. Вы можете подобным способом перенести на хостинг любой свой сайт или бот, написанные на Java, Node.JS и т.д.

Вот код самого приложения.

Читать далее
Total votes 7: ↑5 and ↓2+4
Comments9

GET запросы на практике: правила, принципы и примеры

Reading time14 min
Views56K

Я думаю, что вы не раз уже гуглили, заглядывали в статьи, манифесты IT-гигантов о лучших практиках проектирования API. Я тоже.

Но в большинстве из них всё ограничивается описанием URL ресурса, мотивацией использовать пагинацию, сложными словами про кэширование и SSL. Это, безусловно, необходимо для общего понимания технологий, но практически не помогает, когда ты сидишь перед пустой страницей и надо начать “проектировать контракт”.

Я работаю тимлидом направления системного анализа в X5Tech и за все время развития карьеры сталкивалась с большим количеством кейсов проектирования Web систем. IT продукты в большинстве очень динамичны: постоянно изменяются требования, появляются новые, итеративно улучшается пользовательский опыт (по принципу 20% усилий на 80% результата, а остальное доделаем потом).

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

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

Читать далее
Total votes 25: ↑23 and ↓2+24
Comments13

Типы HTTP-запросов и философия REST

Reading time4 min
Views982K
Этот пост — ответ на вопрос, заданный в комментарии к одной из моих статей.

В статье я хочу рассказать, что же из себя представляют HTTP-методы GET/POST/PUT/DELETE и другие, для чего они были придуманы и как их использовать в соответствии с REST.
Читать дальше →
Total votes 84: ↑78 and ↓6+72
Comments111

SQL запросы быстро. Часть 1

Reading time5 min
Views1.6M
Подписаться в telegram: t.me/korocheproduct

Введение


Язык SQL очень прочно влился в жизнь бизнес-аналитиков и требования к кандидатам благодаря простоте, удобству и распространенности. Из собственного опыта могу сказать, что наиболее часто SQL используется для формирования выгрузок, витрин (с последующим построением отчетов на основе этих витрин) и администрирования баз данных. И поскольку повседневная работа аналитика неизбежно связана с выгрузками данных и витринами, навык написания SQL запросов может стать фактором, из-за которого кандидат или получит преимущество, или будет отсеян. Печальная новость в том, что не каждый может рассчитывать получить его на студенческой скамье. Хорошая новость в том, что в изучении SQL нет ничего сложного, это быстро, а синтаксис запросов прост и понятен. Особенно это касается тех, кому уже доводилось сталкиваться с более сложными языками.

Обучение SQL запросам я разделил на три части. Эта часть посвящена базовому синтаксису, который используется в 80-90% случаев. Следующие две части будут посвящены подзапросам, Join'ам и специальным операторам. Цель гайдов: быстро и на практике отработать синтаксис SQL, чтобы добавить его к арсеналу навыков.

Практика


Введение в синтаксис будет рассмотрено на примере открытой базы данных, предназначенной специально для практики SQL. Чтобы твое обучение прошло максимально эффективно, открой ссылку ниже в новой вкладке и сразу запускай приведенные примеры, это позволит тебе лучше закрепить материал и самостоятельно поработать с синтаксисом.
Читать дальше →
Total votes 26: ↑16 and ↓10+12
Comments36

Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

Reading time25 min
Views1.5M

Регулярные выражения в Python от простого к сложному




Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

Плюс в питоне есть немало регулярных плюшек. Например, re.split может добавлять тот кусок текста, по которому был разрез, в список частей. А в re.sub можно вместо шаблона для замены передать функцию. Это — реальные вещи, которые прямо очень нужны, но никто про это не пишет.
Так и родился этот достаточно многобуквенный материал с подробностями, тонкостями, картинками и задачами.

Надеюсь, вам удастся из него извлечь что-нибудь новое и полезное, даже если вы уже в ладах с регулярками.
Читать дальше →
Total votes 99: ↑98 and ↓1+97
Comments66

RSA простыми словами и в картинках

Level of difficultyEasy
Reading time5 min
Views97K

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

На обложке то как DALL-E представляет себе ассиметричную криптографию.

Читать далее
Total votes 11: ↑9 and ↓2+11
Comments17

Забавные баги

Reading time5 min
Views72K
Баги — сленговое обозначение ошибки в системе или программе. Конечно, баг — это плохо. Искать баг — еще хуже. Они могут быть как безобидными (но назойливыми), так и весьма катастрофическими, последствия которых могут привести к финансовым потерям, очернению репутации и даже к трагическим случаям.

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

Читать дальше →
Total votes 130: ↑90 and ↓40+50
Comments35

Все, что нужно знать про GPU: история технологии, архитектура графических процессоров и сферы их применения

Reading time12 min
Views18K

GPU — графический процессор, который предназначен для ускорения рендеринга графики и параллельных вычислений. Он произвел настоящую революцию в том, как мы взаимодействуем с цифровым контентом. Будь то визуальные эффекты в видеоиграх, вычисления в алгоритмах машинного обучения или анимация в высококлассных программах для 3D-дизайна.

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

В этом материале мы рассмотрим историю GPU, архитектуру графического процессора и области его применения.

Читать далее
Total votes 8: ↑7 and ↓1+9
Comments1

Как устроен блок питания, который работает в каждом системнике

Reading time12 min
Views134K

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

Вы когда-нибудь задумывались, что находится внутри блока питания (БП) вашего компьютера? Задача БП — преобразовать питание из сети (120 или 240 В переменного тока, AC) в стабильное питание постоянного, то есть однонаправленного тока (DC), который нужен вашему компьютеру. БП должен быть компактным и дешёвым, при этом эффективно и безопасно преобразовывать ток. Для этих целей при изготовлении используются различные методы, а сами БП внутри устроены гораздо сложнее, чем вы думаете.

В этой статье мы разберём блок стандарта ATX и объясним, как он работает1.
Читать дальше →
Total votes 46: ↑31 and ↓15+31
Comments97

Как я с помощью VBA оплатил себе университет

Reading time5 min
Views52K

Большинство молодых людей, когда слышат про Excel, вспоминают сразу уроки информатики в школе или пары в универе, где нас учили выставлять ширину бортиков ячейки и как писать текст в ней по диагонали. Нам демонстрировали работу со статическими таблицами, учили их оформлять и форматировать. Но знаменитую цитату Моргана Фримана из фильма Люси: «Что, если бы мы использовали мозг на 100 процентов?» можно перефразировать на: «Что, если бы мы использовали Excel на 100 процентов?». Дело в том, что многие из вас даже не представляют на сколько это многогранная и сложная программа, функционал которой уходит далеко за пределы форматирования таблиц и подготовки простеньких графиков. Я тоже этого не представлял, пока это не стало моим основным источником заработка во время учебы в университете. И в своей статье я хочу рассказать вам про мой опыт работы с Excel и VBA, о том какие интересные вещи делают с его помощью некоторые фирмы и о том, как на этом можно неплохо подзаработать.

Читать далее
Total votes 54: ↑49 and ↓5+60
Comments201

VBA макросы. От бессмыслицы к осмысленному. Ядро

Level of difficultyMedium
Reading time18 min
Views10K

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

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

Чтиво про рефакторинг VBA кода.

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

Производная как смысл жизни или что такое дифференциал(d)

Reading time2 min
Views42K

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

Читать далее
Total votes 21: ↑11 and ↓10+3
Comments15

Всё, что нужно знать о сборщике мусора в Python

Reading time7 min
Views120K
Как правило, вам не нужно беспокоиться о сборщике мусора и работе с памятью когда вы пишете код на Python. Как только объекты больше не нужны, Python автоматически освобождает память из под них. Несмотря на это, понимание как работает GC поможет писать более качественный код.

Менеджер памяти


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

Как только один из маленьких объект удаляется — память из под него не переходит операционной системе, Python оставляет её для новых объектов с таким же размером. Если в одном из выделенных блоков памяти не осталось объектов, то Python может высвободить его операционной системе. Как правило, высвобождение блоков случается когда скрипт создает множество временных объектов.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments16

Что такое LLVM и зачем он нужен?

Reading time9 min
Views90K

Всем привет! Думаю, у многих сразу возник другой вопрос — а зачем вообще нужна ещё одна статья про LLVM, ведь на хабре их и так больше сотни? Моей задачей было написать "введение в тему" for the rest of us — профессиональных разработчиков, не планирующих создавать компиляторы и совершенно не интересующихся особенностями устройства LLVM IR. Насколько я знаю, подобного ещё не было.


Главное, что интересует практически всех — и о чём я планирую рассказать — вынесено в заголовок статьи. Зачем нужен LLVM, когда есть GCC и Visual C++? А если вы не программируете на C++, вам стоит беспокоиться? И вообще, LLVM это Clang? Или нет? И что эти четыре буквы на самом деле означают?

Читать дальше →
Total votes 97: ↑92 and ↓5+119
Comments136
1

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Registered
Activity