Как стать автором
Обновить
@NTHubread⁠-⁠only

Пользователь

Отправить сообщение

Практическое руководство по Rust. 1/4

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров29K



Hello world!


Представляю вашему вниманию первую часть практического руководства по Rust.



Другой формат, который может показаться вам более удобным.


Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком программирования. Еще раз: это руководство не рассчитано на тех, кто только начинает кодить 😉

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

Кто такие LLM-агенты и что они умеют?

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров43K

В последнее время большие языковые модели (Large Language Models, LLM) стали невероятно популярными — кажется, их обсуждают везде, от школьных коридоров до Сената США. Сфера LLM растёт бурными темпами, привлекая внимание не только специалистов в области машинного обучения, но и обычных пользователей. Кто-то высказывает массу опасений насчет их дальнейшего развития, а кто-то и вовсе предлагает бомбить дата-центры — и даже в Белом Доме обсуждают будущее моделей. Но неужели текстом можно кому-то навредить? А что если такая модель приобрела бы агентность, смогла создать себе физическую оболочку и полностью ей управлять? Ну, это какая-то фантастика из (не)далёкого будущего, а про агентов нашего времени я расскажу в этой статье. И не переживайте — знание машинного обучения вам не понадобится!

Читать далее

О доверии к программным системам

Время на прочтение10 мин
Количество просмотров6K

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

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

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

Но мне, как программисту, интересно, можно ли решить эту проблему так сказать программным путём. И в процессе это может быть возникнут некоторые идеи о том, как можно повысить доверие к используемым нами программным системам.

Читать далее

Мой опыт использования LiteDB

Время на прочтение8 мин
Количество просмотров12K

Недавно я искал систему хранения для моей программы. Она представляет собой desktop-приложение, которому нужно хранить множество объектов и осуществлять поиск текста в них. И я подумал: "Почему бы не попробовать что-то новое". Вместо SQL базы данных типа SqLite я мог бы использовать документную базу данных. Но мне хотелось бы, чтобы для неё не требовался отдельный сервер, чтобы она работала с простым файлом. Поиск в Интернет подобных систем для .NET приложений быстро вывел меня на LiteDB. Здесь я хочу поделиться тем, что я нашёл в процессе работы с этой базой данных.

Читать далее

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 1. Введение

Время на прочтение9 мин
Количество просмотров40K

Дабы исчерпать до дна тему сокетов в Python я решил изучить все возможные способы их использования в данном языке. Чтобы всех их можно было испытать и попробовать на зуб, были созданы 19 версий простого эхо-сервера: от примитивного использования класса socket до asyncio. Блокирующие и неблокирующие сокеты, процессы и потоки, select'ы и selector'ы, коллбеки и сопрограммы — все эти темы расположены в эволюционном порядке, чтобы один пример плавно перетекал в другой.

Отдельно разобрано появление асинхронности в Python. На примерах детально показано, как и зачем появились итераторы, из них — генераторы, сопрограммы. Ближе к концу построен учебный макет библиотеки asyncio с минимально необходимым кодом, чтобы любой (даже такой, как я) смог разобраться, как на самом деле устроена асинхронность, как там все внутри работает.

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

Читать далее

Могут ли компьютеры изобретать? Создаем аналог ТРИЗ на нейронных сетях архитектуры Трансформер

Время на прочтение19 мин
Количество просмотров8.6K

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

Читать далее

Графический интерфейс с дизайнером форм для сценарного языка OneScript

Время на прочтение4 мин
Количество просмотров5.6K

Существует огромное множество скриптовых языков. Существует множество графических интерфейсов для скриптовых языков (англ. graphical user interface, GUI). И существует какое то количество дизайнеров для этих интерфейсов. Добавлю к этим разработкам и свои а именно - графический интерфейс и дизайнер форм для сценарного языка OneScript.

Читать далее

Git для новичков (часть 1)

Время на прочтение5 мин
Количество просмотров728K

Git - это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок - полезно для дизайнеров.

С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.

Читать далее

Визуальное программирование на языке ДРАКОН

Время на прочтение15 мин
Количество просмотров62K

Визуальное и текстовое программирование


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


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


Исходя из этого, логично было бы составлять алгоритмы в графическом виде. Посмотрите на инженеров. Они повсеместно используют чертежи. Чем же программисты хуже? Они тоже могли бы составлять чертежи алгоритмов. Некоторые здесь возразят: визуальное программирование якобы неэффективно. UML неудобен, а в блок-схемах легко запутаться. Уж лучше программировать традиционным способом — текстом. В структурном программировании есть хотя бы структура, и она обеспечивает порядок и единообразие. А кроме того, рисовать диаграммы долго и трудно. Печатать быстрее, чем рисовать.


Так что же, программисты обречены всю жизнь работать только с текстом?
Возможно, не всё так плохо. Существуют визуальные языки для представления алгоритмов, в которых тоже есть порядок и структура, например ДРАКОН, BPMN и LML Action Diagrams. Здесь мы рассмотрим визуальный алгоритмический язык ДРАКОН.


Как программировать на языке ДРАКОН


ДРАКОН не является самостоятельным языком программирования. Он работает в паре с

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

Углубленное знакомство с пространствами имен Linux. Часть 1

Время на прочтение19 мин
Количество просмотров38K

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

Простой GUI калькулятор на Python #1. Дизайн приложения

Время на прочтение5 мин
Количество просмотров72K

Штош. Наверное, каждый начинающий программист после "Hello, world!" хочет написать какой-нибудь простенький проект. Почти всегда в голову приходит идея создания калькулятора. Но консольный калькулятор - это как-то скучно и просто. Хочется сделать приложение прямо как в системе. Ну или хотя бы что-то похожее.

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

Научиться!

Архитектура Вселенной, часть 2: Относительность

Время на прочтение32 мин
Количество просмотров25K

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

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

Давайте посмотрим на то, что пишет о времени Википедия:

Время - это форма протекания физических и психических процессов, условие возможности изменения

Звучит даже хуже, чем "оно течёт". Если моя маленькая дочка спросит меня, что такое время, я точно не стану отвечать ей такими словами. Но даже такое запутанное объяснение оказывается лучше, чем определение пространства из Википедии:

Пространство -  трёхмерное пространство нашего повседневного мира.
Трёхмерное пространство - геометрическая модель материального мира.

Получается какая-то рекурсия: пространство - это геометрическая модель мира в мире. Видимо, проблемы с формулировками есть не только у меня. Почему же так трудно дать определение этим понятиям?

Читать далее

О сертификатах Let's Encrypt и Tilda

Время на прочтение2 мин
Количество просмотров11K

Одним недавним летним вечером коротал я время за выпуском сертификатов Let's Encrypt (LE) в кубере, и долго не мог понять с какого перепугу сработало ограничение на количество сертификатов в неделю, т.е. 50 штук.

Быстрая проверка на https://crt.sh/ показала, что действительно для совершенно разных поддоменов было выпущено много странных сертификатов, и это, мягко говоря, удивило.

Читать далее

Аппроксимация синуса: полиномы Чебышёва vs. ряды Маклорена

Время на прочтение2 мин
Количество просмотров13K

В комментариях к моей статье про быстрое вычисление синуса был задан вопрос: "А чем не устроило разложение в ряд Тейлора?"

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

Читать далее

Maltego ближе к телу. Часть 2

Время на прочтение4 мин
Количество просмотров22K
Здравствуйте, дорогие друзья. Вот, наконец-то, и добрался я до написания второй статьи, посвященной Maltego. Кто не читал первую – обязательно прочитайте вот тут. В ней я писал, что же такое Maltego в целом, а в этой статье я расскажу, с чем его едят. Картинок будет очень много.

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

Разработка магнитного порошка для жёстких дисков огромной плотности и технологий 6G

Время на прочтение3 мин
Количество просмотров5.9K

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

Поехали..

Реактор БРЕСТ-300 и замкнутый цикл в ядерной энергетике

Время на прочтение12 мин
Количество просмотров82K


«В Северске началась новая эра атомной энергетики. На площадке Сибирского химкомбината 8 июня стартовало строительство первого в мире энергоблока четвертого поколения с быстрым реактором естественной безопасности БРЕСТ-ОД‑300.»

Довольно претенциозно, не правда ли? Тем не менее за этими словами, написанными на страницах официального печатного органа Росатома – газеты «Страна РОСАТОМ» – кроется действительно во многом революционной проект с непростой судьбой и наконец-то появившемся светом в конце тоннеля.

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

Наглядно о том, как работает NumPy

Время на прочтение8 мин
Количество просмотров44K

Есть тексты, похожие на вино или динамит: с годами они не стареют, а напротив приобретают вес и значимость. Сегодня, к старту флагманского курса о Data Science, мы решили поделиться переводом визуального учебного руководства о NumPy 2019 года, прочитав которое даже не слишком близкий к математике человек поймёт, как работает эта библиотека Python. Если вы не хотите долго объяснять NumPy, но делать это всё равно приходится, положите статью в закладки и она сэкономит ваше время.

Читать далее

Самый полный русскоязычный перевод Гарвардского курса по программированию CS50 2015, бесплатно на YouTube

Время на прочтение2 мин
Количество просмотров55K
В этой статье я хочу немного рассказать о самом лучшем в мире курсе по программированию.

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

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

image
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность