Search
Write a publication
Pull to refresh
37
0.8
Send message

Ожидание vs реальность: какие взгляды я поменял за 10 лет в разработке

Level of difficultyEasy
Reading time3 min
Views10K

Старший инженер-программист в Amazon Крис Киль (Chris Kiehl), автор книги по дата-ориентированному программированию на Java поделился заметкой о том, как изменились его взгляды за 10 лет пребывания в индустрии разработки ПО.

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

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

Camel в вопросах и ответах

Reading time14 min
Views63K
6-7 апреля в Москве в шестой раз пройдет JPoint – международная Java-конференция для опытных разработчиков. В этот раз в ней примет участие Клаус Ибсен (Claus Ibsen) – старший инженер Red Hat, гуру Apache. Ниже приводим перевод начала его книги «Camel in Action» – эксклюзивно для читателей нашего блога.



Читать дальше: Camel в вопросах и ответах

Парсер для подростков с помощью pyparsing

Level of difficultyEasy
Reading time6 min
Views6.6K

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

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

Читать далее

Дзен миниатюризации

Level of difficultyMedium
Reading time10 min
Views3.2K

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

Очистить карму

На ком лежит бремя доказательств?

Level of difficultyMedium
Reading time10 min
Views7.8K

«Если я что-то утверждаю, я не обязан предоставлять доказательства. Если вы утверждаете обратное, опровергая меня, это вы должны доказательства предоставлять», - Никита Михалков.

Так кто же обязан доказывать? Разберёмся в правилах спортивного перекидывания бремени доказательств.

Проявить любопытство

Как за 15 минут превратить таблицы БД в JPA-сущности (и не облажаться)

Level of difficultyEasy
Reading time10 min
Views5.4K

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

За 15 минут вы узнаете, как можно легко преобразовать таблицы базы данных в JPA-сущности, учитывая ограничения, индексы, свойства столбцов, а также ассоциативные связи (1:1, 1:M, M:1, M:M).

Читать далее

Смогу ли я уложить оптимизирующий компилятор в тысячу строк питона? Прогон первый: mem2reg

Level of difficultyMedium
Reading time22 min
Views4.4K

Год назад мне пришлось взять на себя курс лекций по теории компиляторов. Вы встречались некомпетентными преподавателями? Это я, здравствуйте! Прежде чем учить других, я всё-таки решил заглянуть в учебник сам, и это вылилось в серию статей "компилятор за выходные" (да, я помню, что за мной должок с описанием лексера/парсера). В итоге я уложил компилятор со мной придуманного си-подобного языка на GNU ассемблер в шестьсот строк кода, причём без внешних зависимостей, включая парсинг.

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

Итак, тема сегодняшнего разговора - вынос переменных из памяти в регистры, оно же оптимизационный проход mem2reg, см. кпдв.

Читать далее

Новые исследования о пределах математической истины и границах математического знания

Reading time10 min
Views2.4K

О десятой проблеме Давида Гильберта и границах познаваемости истины в математике. Современные исследования.

Читать далее

TrueSql — ультимативный sql-коннектор для Java

Level of difficultyMedium
Reading time8 min
Views2.3K

Community долго шло к видению, что Java новых версий это хороший язык, но у него проблема с библиотеками. Сегодня мы готовы публично представить TrueSql – библиотеку для “right” работы с базой данных из Java.

Читать далее

Исповедь хакера: как работает финансовый рынок?

Level of difficultyEasy
Reading time21 min
Views27K

Это статья - еще один изумруд из недр интернет андеграунда. Гарантирую, что вы найдете в ней что-то интересное. Возможно, мысли автора выражены в несколько экспрессивной и утрированной форме, но учитывая такие исторические события как Азиатский финансовый кризис и Кризис 2008 года, рынок действительно напоминает сюрреалистическую зарисовку. И наше время определенно в этом плане выглядит еще более сюрреалистичным. Тот же Трампкоин, который все обсуждали несколько недель назад, откровенные манипляции с DOGE Илоном Маском, поэтому его экспрессивность понять можно, но мат я убрал)

Читать далее

Как бесплатно разослать всем членам ТСЖ персональное сообщение о завтрашней уборке снега через WhatsApp

Level of difficultyEasy
Reading time6 min
Views3.4K

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

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

Читать далее

Суть Go: Time

Level of difficultyMedium
Reading time9 min
Views3.8K

Как не утонуть в параллельных вызовах и держать время под контролем? В статье разберём throttle и backpressure, научимся использовать таймеры, тикеры и таймауты без лишних задержек и зависаний — всё на простых примерах.

Читать далее

Про Rust — просто. Что читать в каком порядке?

Level of difficultyMedium
Reading time20 min
Views25K

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

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

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

Читать далее

Что может описывать модель песчаной кучи

Reading time9 min
Views4.9K

В 1987 году вышла дебютная научно-популярная книга Джеймса Глика «Хаос. Создание новой науки», впервые опубликованная на русском языке в переводе издательства «Амфора» и выложенная здесь. Эта книга оживила интерес к теории самоорганизующихся систем, сформулированной в середине XX века в работах Германа Хакена (1927-2024) из Штутгартского университета, посвящённых синергетике. Смежные исследования по физике неравновесных систем принадлежат Илье Романовичу Пригожину (1917 - 2003),  франко-американскому физику российского происхождения. В основе этих работ лежит идея о том, что существуют такие системы, нарастающая энтропия в которых постепенно выравнивается, и общая структура системы остаётся относительно неизменной, несмотря на то, что в отдельных частях системы энтропия продолжает нарастать. В том же 1987 году появилось удивительное исследование Пера Бака, Чао Танга и Курта Визенфельда, в котором они описали модель песчаной кучи.    

Феномен связан с изучением и моделированием самоорганизующихся систем и их устойчивости, а также смыкается с исследованием фракталов, степенных рядов и клеточных автоматов. В контексте фракталов эту тему рассматривал на Хабре уважаемый Андрей Заболотский @Browning в статье «Фракталы в песках или больше трёх не собираться». Если желаете вместо моего текста почитать строгое, но вполне популярное и увлекательное изложение данной темы — отсылаю вас к статье уважаемого Никиты Калинина «Песочная модель», размещённой на сайте МФТИ. Под катом я расскажу, как эта модель работает и какие неожиданные вопросы подбрасывает.

Читать далее

Горизонтальное масштабирование базы данных. Репликация. Партицирование. Шардирование

Level of difficultyEasy
Reading time11 min
Views21K

В современном мире данных нагрузка на базы данных стремительно растёт. Когда один сервер перестаёт справляться с объёмом запросов, встаёт вопрос о масштабировании: как эффективно распределить нагрузку, сохранив высокую производительность и доступность?

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

Читать далее

Паттерны проектирования в Golang

Reading time8 min
Views8.3K

Рассмотрим в этой статье несколько наиболее распространенных паттернов проектирования в Golang, дополнив их практическими примерами.

Фасад, Стратегия, Прокси, Адаптер

Читать далее

Старики будут править IT

Level of difficultyEasy
Reading time6 min
Views111K

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

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

Читать далее

DEC. История в лицах. Часть 1

Level of difficultyEasy
Reading time13 min
Views6.9K

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

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

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

В конце концов, процесс написания статей о DEC невозможно закончить, его можно только остановить.

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

Системный аналитик. Краткий гайд по профессии. Часть 4. Синхронные и асинхронные интеграции. REST, gRPC, Kafka, RabbitMQ

Level of difficultyEasy
Reading time18 min
Views29K

Из этой статьи вы узнаете об основных наиболее часто используемых типах интеграции приложений и распределенных систем, таких как REST, gRPC, Kafka, RabbitMQ, WebSocket.

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

Читать далее

Simple Spring (полный фарш)

Level of difficultyMedium
Reading time55 min
Views9.3K

У нас был spring и hibernate
Мы твёрдо знали, что OAuth2.0 это хорошо, а принцип "Api first" ещё лучше.
И нам дали ровно 48-ь часов чтобы создать работающую инфраструктуру с возможностями авторизации, отслеживания метрик, динамической маршрутизацией запросов и раздачей конфигураций сервисам "на лету". Кроме того от нас хотели получить "best practics" по работе с БД в коде и лёгкой поддержке ролевой модели.

Читать далее

Information

Rating
3,156-th
Registered
Activity