Обновить
0
Иван@sivolob93read⁠-⁠only

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

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

Графический стек Linux

Время на прочтение19 мин
Охват и читатели112K
(оригинал — Jasper St. Pierre, разработчик GNOME Shell, взято отсюда)

Это обзорная статья о составных частях графического стека Linux и том, как они уживаются вместе. Изначально я написал её для себя после разговоров об этом стеке с Оуэном Тейлором, Рэем Строудом и Эдэмом Джексоном (Owen Taylor — мэйнтейнер Gnome Shell; Ray Strode — мэйнтейнер большого количества десктопных пакетов сообщества RedHat; Adam Jackson — разработчик графического стека Gnome Shell и интеграции с XOrg; прим. переводчика)

Я постоянно дёргал их, снова и снова расспрашивал о всяких мелочах, а потом эти мелочи благополучно забывал. В конце концов, я задал им вопрос — а нет ли какого-нибудь обзорного документа, уткнувшись в который я бы избавил ребят от своего назойливого внимания? Не получив утвердительного ответа я решил написать эту статью, которая по завершению была вычитана Эдэмом Джексоном и Дэвидом Эйрли. Они оба работают над этим стеком.
Читать дальше →

Почему никто не понимает REST

Время на прочтение5 мин
Охват и читатели57K

Современное представление о REST сильно отличается от концепции архитектурного стиля, описанной в диссертации его создателя, Роя Филдинга. В этой статье разберемся, как ограничения REST понимал их автор.

Читать далее

Григорий Остер — Вредные советы для учителей программировать

Время на прочтение15 мин
Охват и читатели30K

Есть у человека такой замечательный перк. Он может обучить другого человека чему-то полезному. Да, конечно, некоторые животные тоже так могут делать, но им далеко до того грандиозного масштаба, с которым мы обучаем друг друга. Мы это дело поставили на поток и проворачиваем в таких объёмах, что тут можно только позавидовать.

Доводилось ли Вам кого-нибудь учить?

Что? Вас уже корёжит и передёргивает от одного только упоминания этого мероприятия? Вы постоянно вспоминаете о том самом стажёре, который был настолько туп, что Вы просто не могли себя сдержать?

Кто-то обвалил собранную базу данных, потому что не увидел разницы между rm -rf ./old и rm -rf . /old?

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

Заходите, поговорим.
Читать дальше →

Python — серьезный язык для разработки backend

Время на прочтение13 мин
Охват и читатели82K

Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчиков и обсудить все основные претензии, которые очень давно следуют за языком по пятам.

Читать далее

Рельсы веб-интеграции. REST и SOAP

Время на прочтение5 мин
Охват и читатели117K

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

В данной статье мы поговорим о веб-сервисах. Чем они отличаются от прочих способов и какие они бывают.

Читать далее

Мой компьютер на логических микросхемах

Время на прочтение6 мин
Охват и читатели62K

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

Читать далее

Если мошенники украли деньги с банковской карты — не спешите в полицию

Время на прочтение8 мин
Охват и читатели186K

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

Народ жалуется на Tinkoff, Альфа-банк и прочие банки, на операторов сотовой связи. Портал banki.ru ввёл драконовские правила, что у него решения судов без оценок в народном рейтинге, на форуме нельзя написать, что itsoft выиграл дело у ВТБ — это реклама itsoft видите ли, то есть видно надо писать одна компания, но не скажем какая выиграла суд у ВТБ.

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

К написанию данной статьи меня ещё подвиг наш конфликт с хостером Leaseweb. 7 лет мы платили одну цену в месяц за аренду серверов там. А потом она внезапно выросла в 70 раз. Leaseweb решил, что за действия злоумышленников деньги надо списать с нашей корпоративной карты.

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

Читать далее

6 правил, которые пригодились бы мне, когда я осваивал программирование

Время на прочтение5 мин
Охват и читатели36K

В кодинге главное — не кодинг


Как вы думаете, что такое программирование?

Написание кода?

Написание хорошего кода?

Нет.

Это только часть истины.

Программирование — это не про кодинг. Программирование — это о решении задач при помощи кодинга.

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

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

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

Ещё одна статья о декораторах в python, или немного о том, как они работают и как они могут поменять синтаксис языка

Время на прочтение7 мин
Охват и читатели17K

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

Я постараюсь раскрыть информацию о том, как работают стандартные декораторы staticmethod, classmethod, а так же сам интерпретатор python, как писать декораторы, принимающие аргументы без дважды вложенных функций, ну, и наконец, как немного поменять синтаксис python.

Read more

Отслеживание пути пакета с помощью точек трассировки Linux, perf и eBPF

Время на прочтение17 мин
Охват и читатели14K


Я давно искал какой-нибудь инструмент для низкоуровневой отладки сети Linux. Linux позволяет создавать сложные сети, запускаемые прямо на хосте, используя комбинацию из виртуальных интерфейсов и сетевого пространства имен. Когда что-то идет не так решение возникших проблем утомительно. Если это проблема маршрутизации L3, mtr (Matt's traceroute) имеет неплохие шансы принести пользу. Однако, если проблема на более низком уровне, обычно все заканчивается тем, что я вручную проверяю каждый интерфейс / мост / пространство имен сети / iptables и пару раз запускаю tcpdump в попытках понять что происходит. Если вы не знакомы с настройками сети, то при решении проблем в ней, вас ждет запутанный лабиринт.

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

Создаём личный «Архив интернета»

Время на прочтение7 мин
Охват и читатели36K


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

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

Волны, которые появляются из ниоткуда и исчезают бесследно

Время на прочтение22 мин
Охват и читатели60K

Это было утро 12 апреля 1966 года. Элегантный лайнер «Микеланджело» направлялся через Атлантику в Нью-Йорк. 275-метровый красавец водоизмещением 46 тысяч тонн некоторое время был флагманом флота Италии и являлся одним из крупнейших суден в стране. Он принадлежал семейству суперлайнеров, воплощавших в себе как отработанные технологии, так и прогрессивные решения: для безопасности пассажиров часть палуб и кают лишена иллюминаторов, дизайн и устройство дымовых труб не позволяли окуривать верхние прогулочные палубы, а также судно было оборудовано стабилизаторами качки, чтобы богатые пассажиры не пролили ни капли мартини.

В это апрельское утро «Микеланджело» с 745 пассажирами на борту столкнулся с очень плохой погодой. Капитан Джузеппе Солетти дал указания всем пассажирам оставаться в своих каютах и приказал судну следовать более южным маршрутом, чем обычно, чтобы избежать центра шторма. Обычное дело при путешествии через океан. Но внезапно перед судном возникла экстремально высокая волна. Все люди на судне ощутили мощный удар как после выстрела 305-мм пушки. Волна поднялась над носом на высоту около 18 метров и прошла вдоль палубы, оставляя за собой лишь покорёженный металл. Даже окна двухсантиметровой толщины находящиеся на 25 метров над ватерлинией были выбиты ударом воды. Всё произошло в считанные секунды. Два пассажира погибли сразу, один член экипажа погиб через несколько часов, более пятидесяти человек получили ранения. И ещё четверть века существование таких волн будет подвергаться сомнениям.
Читать дальше →

Как на самом деле работает распознавание лиц

Время на прочтение15 мин
Охват и читатели33K

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

Читать далее

Многообразие Linux-дистрибутивов

Уровень сложностиПростой
Время на прочтение54 мин
Охват и читатели216K

Цель этой статьи показать и объяснить многообразие дистрибутивов Линукс. Показать основные сходства (они же все почему то называются "Линуксы" или даже правильнее "GNU/Linux") и основные различия (если бы не было различий их бы столько не существовало).

Плюс рассмотрим несколько наиболее задаваемых новичками вопросов:
- Сколько их (Linux-дистрибутивов)? Зачем так много?
- Основанный на другом дистрибутиве" - не пиратство ли это?
- Платный Linux - Как можно продавать то, что по определению распространяется бесплатно?
- Что такое "отечественный Linux"?

Читать далее

Разбор алгоритмов генерации псевдослучайных чисел

Время на прочтение10 мин
Охват и читатели61K

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

Читать далее

Голосовой дневник на python с распознаванием голоса и сохранением в Mongo DB

Время на прочтение4 мин
Охват и читатели18K

Как (и зачем?) написать голосовой дневник, используя open source инструменты.

Читать далее

Без границы. Системный подход и алгоритмы творчества

Время на прочтение6 мин
Охват и читатели4K

Так уж вышло, что творчество всё ещё позиционируется как нечто "душевное и вдохновенное". А системный подход объясняет алгоритмы творчества, позволяя поставить "на поток" без потери уникальности и "вау эффекта". Можно ли так делать, и отличается ли такое творчество от условно канонического. Давайте разберемся вместе.

Читать далее

Osint-San — инструмент, с которым можно стать кибердетективом

Время на прочтение4 мин
Охват и читатели26K

Привет Хабр! С вами Горшков Максим, специалист по информационной безопасности Cloud4Y. Мне выпала честь первому протестировать новый инструмент киберразведки: OSINT-SAN. Разрабатывал его мой коллега по ИБ Максим Пономарёв (Bafomet).

Что это и зачем

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

Время на прочтение4 мин
Охват и читатели28K

Представьте человека, который изучает алгоритмы. Чтобы понять как они работают, приходится разбираться в их коде и представлять, как компьютер будет его выполнять. Это странно — почему мы должны учиться думать как компьютер, вместо того, чтобы заставить его помогать нам? Какая-то сильная технозависимость.

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

Читать далее

Ключевые аспекты при выборе базы данных для вашего приложения

Время на прочтение15 мин
Охват и читатели28K

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

База данных — это то место, где вы храните и систематизируете все данные, которые собирает ваше приложение, а система управления базой данных (СУБД) — это программное обеспечение для удобного управления базой данных. 

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

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Инженер по обеспечению качества
Средний
Python
Linux
SQLite
OpenCV
Git
Docker