Search
Write a publication
Pull to refresh
37
0.8
Send message

Apache Flink для начинающих: архитектура, библиотеки и применение

Level of difficultyEasy
Reading time12 min
Views2.6K

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

Читать далее

Вы не там ищете свободу воли, мистер Сапольски

Level of difficultyEasy
Reading time9 min
Views13K


Своего рода консенсусом среди части учёных, в первую очередь — в нейронауках, стало мнение, что свободы воли не существует. Можно сказать, что они образуют целую научную школу в рамках биологической науки и антропологии, а лицом её является, безусловно, нейробиолог Роберт Сапольски, автор таких книг как ​​«Всё решено: Жизнь без свободы воли» и «Биология добра и зла: Как наука объясняет наши поступки».

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

Как материалист, я не просто это принимаю, а полностью с этим согласен. Материализм подразумевает необходимость связи понятий, описывающих реальность, с явлениями реальности. Поэтому идея, что у каждого человеческого поступка, и вообще всего происходящего в материальной реальности, есть материальные предпосылки, которые, по цепочке физических процессов и химических реакций восходят аж к возникновению материи в начале расширения вселенной, для меня естественна — с самого раннего знакомства с темой свободы воли и детерминизма я склонялся к этой позиции, и чтение того же Сапольски или «Думай медленно… Решай быстро» Даниэля Канемана лишь увеличило разрешение в общем понятной мне картины, вплоть до отдельных нейронов.

И тем не менее, я начал читать «Всё решено: Жизнь без свободы воли» именно потому, что был с Сапольски не согласен.
Читать дальше →

Введение в память, мотивация виртуальной, отображение между физической и виртуальной

Level of difficultyEasy
Reading time7 min
Views2.7K

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

Как же оно получилось?

Экспериментальная экономика

Reading time11 min
Views2.5K
Олдскульные поведенческие экономисты любили повторять, что человек — существо нерациональное, импульсивное и зависимое от контекста. А потом появилась группа студентов с бумажками, которые, не зная ничего друг о друге, устроили мини-рынок и внезапно вывели цены к экономическому равновесию. Чётко по методичке.

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

Модель проста, а потому надёжна.

image
— Короче, вот как-то так и устроена экономика

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

В общем, 1956 год стал точкой отсчёта для экспериментальной экономики.
Читать дальше →

Всё, что вам нужно знать о Feign-клиентах в Spring Boot: Что под капотом, настройка, использование, функции

Level of difficultyMedium
Reading time25 min
Views6.6K

Чтобы сделать вызовы REST API проще и декларативнее, Spring Boot предлагает встроенную интеграцию с Feign‑клиентами. Feign представляет собой HTTP‑клиент, который позволяет разработчикам определять REST‑эндпоинты с помощью интерфейсов Java. Вместо того чтобы писать дублирующийся код для обработки HTTP‑запросов, мы можем определять эндпоинты и их поведение в наглядной и лаконичной форме.

В этой статье мы подробно рассмотрим технические аспекты работы Feign‑клиентов в Spring Boot. Вы узнаете, как их настраивать, как под капотом обрабатываются запросы, ответы и ошибки.

Читать далее

Об одном красивом неизвестном решении одной известной задачи

Level of difficultyMedium
Reading time9 min
Views7.8K

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

Дональд Кнут (с)

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

Материал статьи предоставлен Владимиром Пинаевым

Читать далее

Подборка для ML-инженера: как прокачаться джуниору

Level of difficultyEasy
Reading time2 min
Views9.7K

Привет! Меня зовут Антон Моргунов, я инженер МО в «Базис.Центре» и программный эксперт курса «Инженер машинного обучения» в Яндекс Практикуме. В этой статье я поделюсь бесплатными мини-курсами, учебниками, книгами и ресурсами, которые помогут прокачаться в профессии или даже войти в неё с нуля.

Читать далее

Как устроен arXiv — самая преобразующая платформа во всей науке

Level of difficultyEasy
Reading time16 min
Views11K

«Я только решил, что выбрался, а меня продолжают затягивать обратно!» С лукавой ухмылкой, к которой я скоро привыкну, Пол Гинспарг цитирует Майкла Корлеоне из «Крёстного отца». У Гинспарга, профессора физики Корнельского университета и стипендиата Макартура, может быть, и мало общего с мафиози в исполнении Аль Пачино, но обоих объединяет чувство, что им отказали в изящном уходе из созданной каждым из них организации.

Почти 35 лет назад Гинзпарг создал arXiv, цифровое хранилище, где исследователи могли делиться своими новыми результатами — до того, как эти результаты уходили на систематические обзоры или проверки. Зайдите сегодня на сайт arXiv.org (он произносится как «архив»), и вы всё ещё увидите его старый дизайн в стиле Web 1.0 с красным баннером и печатью Корнельского университета, который является институциональным домом платформы. Но за непритязательным фасадом arXiv скрывается тектоническая перестройка, которую он вызвал в научном сообществе. Если бы arXiv перестал функционировать, учёные со всех уголков планеты испытали бы немедленное и глубокое потрясение. «Все математики и физики пользуются им, — сказал мне Скотт Ааронсон, компьютерный учёный из Техасского университета в Остине. — Я этот сайт сканирую каждый вечер».

Читать далее

Как доказывали теорему о четырех красках. Часть 1

Level of difficultyEasy
Reading time11 min
Views5.7K

Всем привет!

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

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

Мне стало интересно разобраться, как именно доказывал эту теорему Кемпе, какой контрпример нашел Хивуд и как в итоге устроено компьютерное доказательство Аппеля и Хакена.

Я не нашел достаточно подробного изложения на русском языке, поэтому взял книгу Робина Уилсона «Four Color Suffice», узнал из нее все, что мне было интересно, и кратко пересказал это для вас. Большинство иллюстраций в статье взято из этой книги.

Приятного чтения!

Читать далее

«Родовое существо» vs. «Homo economicus»: Кто настоящий человек?

Reading time7 min
Views2.9K

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

Читать далее

Лямбда, Лисп и Ложбан — в поисках утраченного Вавилона, или мой проект конструирования симметричного языка

Level of difficultyMedium
Reading time18 min
Views3.7K

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

Читать далее

Какие они — лучшие программисты?

Level of difficultyMedium
Reading time7 min
Views27K

За свою жизнь я повстречал немало разработчиков и недавно задался вопросом: «А что делает разработчика одним из лучших? Что у таких людей есть общего?»

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

WebAssembly голыми руками

Level of difficultyMedium
Reading time32 min
Views4.7K

WebAssembly являясь (относительно) молодой технологией уже довольно распространён в индустрии.

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

Информации же по работе с самим WebAssembly и написанию кода непосредственно на нем в сети крайне мало, а в рунете и подавно, что я и попробую исправить под катом.

Читать далее

Регулярные выражения: как научиться читать между строк

Level of difficultyEasy
Reading time5 min
Views4.7K

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

Решение этой задачи существенно упростит использование регулярных выражений.

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

Регулярные выражения помогут в разных случаях – от валидации данных, например, при проверке форматов номера телефона до анализа текстов: получения ссылок или другой информации.

Посмотрим на синтаксис регулярных выражений. Дальше на примерах станет понятнее.

Читать далее

Параллельные вычисления, конкурентность и асинхронное программирование в Python: обзор для начинающих

Level of difficultyEasy
Reading time12 min
Views9.1K

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

Производительность можно значительно улучшить, внедрив в код параллельные вычисления, конкурентность или асинхронное программирование. Для этого Python предлагает такие инструменты, как multiprocessing, threading и asyncio.

Читать далее

Sandbox DB: универсальная песочница для погружения в Big Data, аналитику и визуализацию

Level of difficultyEasy
Reading time4 min
Views10K

Запускайте PostgreSQL, ClickHouse, Airflow, Superset и другие инструменты одним кликом: учите, экспериментируйте, осваивайте новое!

Читать далее

Планировщик Go

Reading time15 min
Views2.7K

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

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

Читать далее

«Основы Go: Community edition» 1-е издание

Level of difficultyEasy
Reading time3 min
Views3.1K

Привет, Хабр!

Не так давно мне удалось вернуть эксклюзивные авторские права на книгу по Go. Писалась она 3 года назад и с тех пор добавила мне немного седых волос. А все из-за неопытности и надежды на ее лучшее будущее в руках одного издательства...

Читать далее

Мышление за пределами кода: почему я написал книгу, которой мне самому не хватало

Level of difficultyEasy
Reading time2 min
Views2.7K

Привет, меня зовут Андрей, и я написал книгу.

Нет, не о синтаксисе и не про очередной набор «лучших практик».
А о том, что часто остаётся за кадром — в рефлексии, в мыслях после проектов, в спорах между «пишем быстро» и «делаем правильно».

Читать далее

Планировщик Go — самый подробный гайд простым языком

Level of difficultyMedium
Reading time27 min
Views52K

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

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

Приступить к проектированию

Information

Rating
3,232-nd
Registered
Activity