Как стать автором
Обновить
0
0

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

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

Крокодилы летают, но низко-низко (об экранопланах без эмоций, зато с отступлениями)

Время на прочтение17 мин
Количество просмотров76K
Скажу сразу: ничего про «не имеющее аналогов», «бездумно разрушенное» и т.п. – не будет.

Что будет:

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

Итак, от



до


Читать дальше →
Всего голосов 170: ↑170 и ↓0+170
Комментарии272

История терминала как инструмент продуктивности

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.8K

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

Читать далее
Всего голосов 10: ↑9 и ↓1+14
Комментарии3

Best Practices по подключению к сторонним API в проекте

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

При разработке больших web-проектов нам часто приходится взаимодействовать с API сторонних или внутренних микросервисов. Когда количество таких взаимодействий растёт, настройки вызовов к другому API и подробности самих вызовов кратно множатся и могут растекаться по проекту.

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

Узнать лучшие практики
Всего голосов 23: ↑22 и ↓1+25
Комментарии6

Образы и контейнеры Docker в картинках

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

Перевод поста Visualizing Docker Containers and Images, от новичка к новичкам, автор на простых примерах объясняет базовые сущности и процессы в использовании docker.

Если вы не знаете, что такое Docker или не понимаете, как он соотносится с виртуальными машинами или с инструментами configuration management, то этот пост может показаться немного сложным.

Пост предназначен для тех, кто пытается освоить docker cli, понять, чем отличается контейнер и образ. В частности, будет объяснена разница между просто контейнером и запущенным контейнером.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии6

Poetry: from zero to hero

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров40K

Привет, Хабр! Меня зовут Тимур, я тружусь ML-инженером в одной сибирской IT-компании.

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

В качестве бонусов - готовая GitLab CI джоба для сборки и публикации пакетов, а также шаблон Dockerfile для multi-stage сборки образов в проектах с использованием Poetry.

Добро пожаловать под кат!

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии15

Редактор кода Visual Studio Code. Самый подробный гайд по настройке и установке плагинов для начинающих

Время на прочтение23 мин
Количество просмотров846K
Бесплатный, мощный, очень популярный, с кучей дополнений, да что там говорить, сам Фейсбук выбрал его в качестве основного редактора!


Сегодня речь пойдет о редакторе кода Visual Studio Code или просто VS Code. Мы с тобой его установим, настроим, а также применим плагины, которые существенно упростят нам работу.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+15
Комментарии19

Яндекс.переводчик для Linux на Python+GTK3

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

Приветствую хабражителей!


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


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


image


Вначале был translate-shell...

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии7

Безымянный язык программирования без присваивания имён

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

Придумывать имена сложно. Давайте посмотрим, как далеко мы можем зайти без них.

Что это?

Это язык программирования, основанный на трёх парадигмах:

Бесточечном программировании

Стековом программировании

Массиво-ориентированном программировании

Основная «фишка» языка — избегание любых наименований. Оставаясь верным этой максиме, сам язык тоже не имеет названия. «Язык программирования без имён» (namingless programming language) — это его определение.

Так как в мире есть только один такой язык, название ему не нужно.

Для чего это нужно?

В основном ради развлечения. Это язык для хобби-программирования.

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

Как выглядит код на таком языке?

Вот так:

i_^_b_H_i_cpp^_)_V_b_v_J_^_E_H_leafL_==^_)_V_H_Z_Z_^_)_V_H_I_^_E_1^_2^_#_G_Z_Z_^_E_1^_2^_#_H_$_L_-^_G_m_G_&_&_

Чёрт возьми!

Ага.

Простите.

Читать далее
Всего голосов 42: ↑42 и ↓0+42
Комментарии14

Как хранить данные бота прямо в Телеграме

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

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

Читать далее
Всего голосов 25: ↑25 и ↓0+25
Комментарии20

Калькуляторы с обратной польской нотацией

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

На хабре уже многократно проскакивали статьи и переводы о калькуляторах с обратной польской нотацией. Раньше я не придавал им большого значения, пока на глаза не попался перевод статьи «Мягкое знакомство с дополнительным кодом», где фигурировал программистский калькулятор HP-16C. Что сподвигло меня разобраться, что за зверь такой «обратная польская нотация» или reverse Polish notation (далее по тексту RPN).

Искра, буря, безумие… Спешно поставив эмулятор HP-16C на телефон, я полез искать калькуляторы с поддержкой RPN, попутно скупая найденные экземпляры. В этой статье хочу поведать о четырёх редких! экземплярах, которые мне удалось найти на отечественных досках объявлений, и дать некоторые рекомендации тем, кто решит прикоснуться к удивительному миру программируемых калькуляторов.
Читать дальше →
Всего голосов 90: ↑89 и ↓1+131
Комментарии80

Призыв писать компактное ПО, версия 2024 года (с примером кода)

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров35K

Этот пост посвящён памяти Никлауса Вирта, первопроходца в сфере вычислительных наук, ушедшего от нас 1 января этого года. В 1995 году он написал важную статью A Plea for Lean Software, и в своём посте я постараюсь воспроизвести её почти тридцать лет спустя, с учётом современных кошмаров разработки ПО.

Очень короткая версия поста: современные способы разработки/сборки ПО смехотворны, они приводят к созданию пакетов на 350 МБ для рисования графиков, а простые продукты импортируют 1600 зависимостей неизвестного происхождения. Уровень безопасности ПО ужасен, ведь он зависит и от качества кода, и от его объёма. Многие из нас понимают, что ситуация нерациональна. К сожалению, многие программисты (и их руководство) никогда не работали как-то иначе. А остальным редко выделяют время, чтобы выполнять работу качественно.

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

Надеюсь, этот пост станет моральной поддержкой для страдающих программистов и технологов, стремящихся улучшить ситуацию. Дело не только в вас, и мы не просто страдаем от ностальгии: ПО сегодня действительно очень странное.

Читать далее
Всего голосов 117: ↑114 и ↓3+144
Комментарии197

Андрей Петрович Ершов — пионер отечественного программирования

Время на прочтение12 мин
Количество просмотров13K
Ершов Андрей Петрович программист — пионер, его влияние на развитие советской школы программирования и вычислительной техники нельзя переоценить. Он ввел в научный оборот термин информатика для обозначения науки, связанной со способами обработки, хранения и передачи информации с помощью ЭВМ. Стал первым программистом, избранным в Академию наук по Отделению информатики, вычислительной техники и автоматизации.



Жизненный путь Андрея Петровича начался 9 апреля 1931 года. Ершов родился в Москве, в семье потомственных интеллигентов. Двоюродный прадед Ершова по материнской линии – Федор Иванович Успенский, ординарный академик Российской академии наук, основатель и директор Русского археологического института в Константинополе. Прадед, Алексей Иванович Успенский служил военным врачом на Кавказе и в Закаспийской области и был женат на дворянке Евдокии Васильевне Скрыльник. Дед Андрея Петровича, Константин Николаевич Малинин — выпускник Московского университета, был членом партии большевиков с 1904 год, позже заведовал отделом в Агитпропе ЦК ВКП (б). Мать, Татьяна Константиновна Малинина, окончила Академию коммунистического воспитания им. Н.К. Крупской в Москве. Отец, Петр Николаевич Ершов закончил аспирантуру в Научно-исследовательском институте полупродуктов и красителей (НИОПИК), работал в Москве, Донбассе, затем заведовал отделом Центральной лаборатории на Кемеровском анилинокрасочном заводе.
Подробности
Всего голосов 19: ↑17 и ↓2+15
Комментарии4

Кунг-фу стиля Linux: программное управление окнами

Время на прочтение8 мин
Количество просмотров12K
Операционными системами, которые основаны на Linux и Unix и работают в текстовом режиме, очень легко управлять. Учитывая то, как работает подсистема ввода-вывода Unix, программам, ожидающих на входе то, что вводится с клавиатуры, можно передавать любые данные. А то, что программы обычно выдают на экран, можно перехватить и подвергнуть дальнейшей обработке. Вся операционная система устроена именно так. А вот графические программы, использующие возможности X11, это — уже совсем другое дело. Можно ли управлять графическими программами так же, как управляют программами с текстовым интерфейсом? Точный ответ на этот вопрос зависит от того, что именно понимать под «управлением программами». Но если не вдаваться в детали, то на этот вопрос можно дать положительный ответ.

Как это обычно бывает в Linux и Unix, существует множество способов решения одной и той же задачи. И наша задача — не исключение. Если вам нужны средства для точного управления программами, то можно сказать, что добиться этого можно с помощью утилит, задействующих специальный механизм, называемый D-Bus. Этот механизм позволяет программам так оформлять данные и методы, что ими могут пользоваться другие программы. В идеальном мире программы, которыми нужно управлять, применяют D-Bus, но в реальности всё далеко не так просто. Поэтому сегодня мы поговорим о том, как управлять самыми разными графическими программами в Linux.



Существует несколько утилит, которые позволяют каким-то способом управлять X-окнами. Например, есть инструмент xdo, о котором вы, наверняка слышите не особенно часто. Более популярным средством из этой сферы является утилита xdotool, о которой я расскажу. Кроме того, похожим функционалом обладает wmctrl. Есть ещё программа autokey, которая родственна популярной Windows-программе AutoHotKey.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+26
Комментарии5

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android

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

Для многих разработчиков приложений далеко не секрет, что экосистема Android не предполагает написание полностью нативных приложений: в этой платформе очень многое завязано на Java и без ART можно запустить только простые службы без какого-либо интерфейса. Однако, есть один способ писать практически под «голый» Linux, не перекомпилируя ядро и при этом пользоваться самыми интересными фишками устройства без оверхеда в виде тяжелого Android: ускорение 3D-графики (OpenGLES), микшер звука, ввод с различных устройств, OTG, Wi-Fi и если очень постараться — даже 3G. Это открывает множество разных интересных применений старым устройствам: «железо» смартфонов зачастую гораздо мощнее современных недорогих одноплатников. Сегодня я покажу вам, как написать и запустить программу, которая полностью написанное на C без Android, на No-Name Android-смартфоне практически без модификаций. Интересно? Жду вас в статье!
Читать дальше →
Всего голосов 81: ↑80 и ↓1+91
Комментарии39

История Saudi Aramco. Привет из Латинской Америки

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

Сразу после окончания войны в Европе начался энергетический кризис. Добыча угля была недостаточной, а строящаяся промышленность и развивающиеся отрасли автомобилестроения и авиации требовали больших объемов нефти. В 1946 году Темза замёрзла, что обрубило и так немногочисленные поставки угля в страну. Безработица возросла в шесть раз, а английская промышленность остановилась на 6 недель. Правительство заявило, что Англия отзовёт мандаты из Ближнего Востока, предоставит независимость Индии и Пакистану и не будет оказывать помощь Греции.

Фактический отказ Великобритании от участия в послевоенном разделении мира означал возвышающуюся роль США, которые взвалившимися на них обязательствами радостно воспользовались. В 1947 году был принят известный "План Маршалла" по восстановлению экономик стран Европы. В долгосрочной перспективе он предполагал перестройку Европы с экономики, работающей на угле, на экономику, работающую на нефти, причем основным экспортером черной жижи в Европу должны были стать Штаты. При этом, как мы помним, в США решили консервировать собственные запасы нефти и перейти на использование импортной продукции. И вот, по оценкам американских экспертов, потребление США будет на 80 процентов удовлетворяться за счёт ближневосточной нефти. А одним из флагманов данной отрасли в регионе являлась как раз "Арамко". Каждому хочется большего куска пирога. Самый аппетитный и вкусный пирог был как раз у "Арабо-Американской нефтяной компании". Ибн-Сауд зашевелился.

Читать далее
Всего голосов 27: ↑24 и ↓3+24
Комментарии3

Основы реляционной алгебры

Время на прочтение6 мин
Количество просмотров322K
Реляционная алгебра базируется на теории множеств и является основой логики работы баз данных.
Когда я только изучал устройство баз данных и SQL, предварительное ознакомление с реляционной алгеброй очень помогло дальнейшим знаниям правильно уложиться в голове, и я постараюсь что бы эта статья произвела подобный эффект.

Так что если вы собираетесь начать свое обучение в этой области или вам просто стало интересно, прошу под кат.

Читать дальше →
Всего голосов 78: ↑71 и ↓7+64
Комментарии42

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

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

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →
Всего голосов 139: ↑139 и ↓0+139
Комментарии24

Исторические исходные коды, с которыми должен быть знаком каждый разработчик

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров26K

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

Читать далее
Всего голосов 42: ↑32 и ↓10+30
Комментарии14

TempleOS: библейская операционная система, которую пишет шизофреник

Время на прочтение6 мин
Количество просмотров81K
Дистрибутив операционки крошечный — всего 17 мегабайтов. Его можно быстро скачать и опробовать.

Целевая платформа — x86-64. Маловероятно, что кто-то будет экспериментировать с подобным в качестве реально установленной операционки, поэтому нам понадобится любая виртуальная машина, к примеру, VirtualBox или QEMU. Сам создатель пользуется коммерческой VMware Workstation. Задайте для виртуальной машины как минимум полгигабайта памяти.



Со скачанного образа можно просто загрузиться и работать в режиме LiveCD или установить систему на диск. Установка TempleOS не сложнее, чем установка любой современной операционной системы. Нужно лишь несколько раз нажать на клавишу y и дождаться копирования файлов.
Читать дальше →
Всего голосов 53: ↑47 и ↓6+41
Комментарии71

Девятый фронт. Знакомимся с 9front — операционной системой на платформе Plan 9

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров14K

В 80-х годах XX века компания Bell Labs внезапно решила, что Unix устарел. Эта операционная система, разработанная Кеном Томпсоном и Деннисом Ритчи в недрах Bell ещё в начале 70-х, прекрасно зарекомендовала себя в качестве платформы для обслуживания телефонии, учёта абонентов и автоматизации различных технологических процессов. Но в Bell Labs пришли к выводу, что нужно двигаться дальше — и главного разработчика Unix привлекли к созданию ОС нового поколения, получившей название Plan 9.
Читать дальше →
Всего голосов 58: ↑56 и ↓2+77
Комментарии15
1

Информация

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