Pull to refresh

nushell — современный shell, сочетающий Unix-конвейеры и объекты в духе PowerShell

Флант corporate blog Open source *System administration **nix *Shells *
На днях был представлен проект nushell (краткое название — Nu). Он появился благодаря идеям из «философии классических конвейеров в Unix, подхода со структурированными данными из PowerShell, функционального программирования, системного программирования и так далее». На GitHub проект лаконично описан как «современный shell эры GitHub, написанный на Rust».

Читать дальше →
Total votes 27: ↑25 and ↓2 +23
Views 7.9K
Comments 15

Появилась консольная утилита kubelive для интерактивной работы с Kubernetes

Флант corporate blog System administration *JavaScript *DevOps *Kubernetes *
Несколько дней назад индийский энтузиаст представил своё детище kubelive как попытку «повторно изобрести kubectl, сделав утилиту более реактивной и интерактивной». Этот анонс с большим энтузиазмом встретили на Reddit.

Kubelive — CLI-утилита, полностью написанная на JavaScript (Node.js) и использующая в своей работе клиентскую библиотеку для Kubernetes, реализованную на TypeScript (@kubernetes/client-node). Основное предназначение нового инструмента — отображать сведения о кластере и его ресурсах в реальном времени, предлагая для этого понятный (консольный) интерфейс.
Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Views 5.1K
Comments 1

Состоялся релиз консольной утилиты GitHub CLI 1.0

Open source *Go *GitHub *

Команда сервиса GitHub выпустила консольную утилиту GitHub CLI 1.0. С ее помощью разработчики могут управлять своими проектами в сервисе из командной строки. Исходный код приложения также выложен на GitHub под лицензией MIT.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Views 11K
Comments 45

Вышел июньский номер Joomla! Community Magazine

CMS *Website development *Open source *PHP *Joomla *

Внедрение TUF - The Update Framework в Joomla, работа с Joomla 4 CLI, интервью с разработчиками и активными участниками проекта Joomla! и многое другое Вы узнаете в июньском номере официального журнала Joomla-сообщества.

Читать далее
Total votes 1: ↑1 and ↓0 +1
Views 416
Comments 0

GNU command line utils

IT-companies
Ни для кого не секрет, что Mac OS X базируется на BSD, и, как следствие, получила в наследство полный комплект BSD-шных command line утилит, таких как ls, find, xargs, и многие другие. Они хорошие и правильные, и использовать их вполне можно — однако если вы долго использовали Linux, наверняка вы привыкли к GNU версиям этих утилит, то есть, к примеру, --длинным-аргументам, нормальной опции --help — ну и вообще выработали определенные привычки. К числу таких людей принадлежу и я, и когда мне понадобилось набрать пару десятков команд в Terminal.app, через 10 минут я начал рвать волосы на груди нервничать и читать man, что не способствовало производительности труда.
Несколько позже я подумал — а почему, собственно, я не могу использоваться GNU версии утилит — только потому, что они не поставляются с системой? Нет, это — не UNIX way!
Читать дальше →
Total votes 28: ↑24 and ↓4 +20
Views 2.2K
Comments 28

Cisco. Первый выпуск. Соединяем две сети.

Cisco *

Начнем.



image

С чего начинается Cisco-роутер? Правильно, с консольного кабеля.
Это тот светло-голубой провод с разъемами RS-232 и RJ-45, который шел вместе с оборудованием. Его нужно подключить к компьютеру к свободному COM порту. Теперь с вашим железом можно делать все что угодно. Если, конечно, не установлен пароль на консольные подключения (о том, как побороть чужой пароль на вашем железе поговорим позже).

Читать дальше →
Total votes 63: ↑61 and ↓2 +59
Views 115K
Comments 90

C++/CLI — «клейкий» язык

Programming *
В этом топике я расскажу про C++/CLI — промежуточный язык для склеивания кода на C/C++ и .NET

Это довольно распространённая задача, ведь на C/C++ написаны тонны проверенного временем высокопроизводительного кода, который невозможно переписать на управляемые языки.

Наша задача — обеспечить .NET-интерфейс к этим библиотекам. Но как это сделать, если они написаны на C/C++?

Microsoft предлагает два варианта решения проблемы.
 
Читать дальше →
Total votes 46: ↑43 and ↓3 +40
Views 38K
Comments 17

pv — маленькая, но очень полезная утилита

Configuring Linux *
Один мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
Читать дальше →
Total votes 290: ↑280 and ↓10 +270
Views 72K
Comments 93

Всё, что вы хотели знать о CLI, CGI, MOD, но стеснялись спросить

System administration *
… Я знаю кун-фу, каратэ, таэквондо и еще много страшных слов!
(с) анекдот



Меня начинающие админы последнее время стали часто спрашивать «А чем отличаются пакеты php-cgi, php-cli и mod_php? И почему, например, для Python есть mod_python, но нет python-cgi?»
Сначала было смешно, но потом стало ясно, что сей вопрос хоть раз да возникал у каждого, кто занимается администрированием LAMP(ссылка) и подобных серверов.
Статья написана по мотивам моей беседы с felvis, поэтому заранее извиняюсь за некоторую вольность изложения.
Поехали!
Total votes 1: ↑1 and ↓0 +1
Views 16K
Comments 2

Работа с командной строкой в Kohana3

Kohana *
На своём блоге я опубликовал статью о работе с командной строкой во фреймверке Kohana. Её можно почитать по адресу Работа с командной строкой в Kohana3

PS Уважая правила хабралюдей, я не делал кросспостинг.
Total votes 11: ↑6 and ↓5 +1
Views 728
Comments 8

Common Language Infrastructure (CLI) для веба

Website development *
Translation
Внимание, перевод одного интересного поста из блога Мигеля!

Последние дни Joe Hewitt в твиттере сильно переживал за состояние клиентских веб технологий. TechCrunch вели репортаж о состоянии прогресса в их обзоре The State Of Web Development Ripped Apart In 25 Tweets By One Man (Состояние Веб Разработки в 25 твитах одного человека).

Сегодня Joe предложил блестящую идею:

Если встроить ECMA CLI в браузеры вместо ECMAScript, веб стал бы намного гибче.
Читать дальше →
Total votes 48: ↑34 and ↓14 +20
Views 1.9K
Comments 143

Движок V8 для .NET-приложений

JavaScript *
В репозитории Codeplex появился Javascript .NET, — проект интеграции движка Google V8 и предоставления его интерфейсов системе CLI.

Javascript .NET на лету компилирует код и выполняет скрипты прямо из .NET-приложений. Также он позволяет выполнять манипуляции с объектами CLI прямо из выполняемого кода Javascript.
Читать дальше →
Total votes 50: ↑30 and ↓20 +10
Views 2.4K
Comments 10

Проблема глобального переопределения new/delete в C++/CLI

C++ *
Как известно, C++ позволяет глобально переопределять операторы new и delete. Обычно такое переопределение используется для диагностики, поиска утечек памяти и более эффективного распределения памяти.

Все это мы используем в нашем крупном проекте. Однако у нас есть часть, написанная на C#, которая с помощью C++/CLI взаимодействует с основной частью на C++. И вот тут появились проблемы. У нас получались утечки памяти там, где их быть ну никак не могло.
Читать дальше →
Total votes 39: ↑33 and ↓6 +27
Views 6K
Comments 20

C++/CLI IntelliSense в Visual Studio

Visual Studio *
Разработчики из команды Visual C++ Team поделились своими соображениями почему с выходом Visual Studio 2010 ими не была включена IntelliSense подсказка для C++/CLI проектов.

В выходящем пакете SP1 для Visual Studio 2010 для C++/CLI её также не будет — связано это c начатым процессом переписывания внутренних механизмов реализации Intellisense-подсказки. В Visual Studio 2010 решили отказаться от привычного использования старого механизма .ncb файлов из-за большого объема работы по переносу его со старых версий VS. И его бессмысленности как таковой из-за наличия начатой разработки новой версии подсказки. Новая версия подсказки не была включена из-за своей недописанности, включая большое количество запланированных нововведений. Так, в текущей версии IntelliSense не работал бы импорт метаданных, что сделало бы его во многом бессмысленным.

Таким образом, в новых версиях Visual Studio мы должны увидеть не только новый механизм работы интеллектуальной подсказки, но и много нововведений, связанных с ней.

Читать дальше →
Total votes 36: ↑26 and ↓10 +16
Views 13K
Comments 21

Работа с commons-cli 1.2

Java *
Sandbox
В процессе работы на одним проектом, возникла необходимость разработать консольное приложение для удаленного доступа к системе. За подобное взялся впервые в таких масштабах, раньше все было на окошках или если консоль, то точно известно число, тип и порядок передаваемых параметров. А здесь возникла необходимость в большом количестве команд, каждая со своими параметрами, или вовсе без них, соответственно для обеспечения гибкости возникла потребность в парсере, переданных параметров.

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

Как оказалось примеров не так уж много и покрывают они только базовые потребности разработчика. Попробую заполнить этот пробел своими пояснениями.
Читать дальше →
Total votes 34: ↑32 and ↓2 +30
Views 19K
Comments 19

Бесплатная отправка SMS от своего мегафоновского номера с помощью python-скрипта

Python *
Sandbox

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


Стоит рассмотреть два уровня использования подобной возможности:
  1. Обычная, бытовая потребность отправки относительно длинного сообщения (если вы конечно не обладаете такой же скоростью печати на телефоне, как и на компьютере)
  2. Необычная, гиковская потребность получать рассылочную информацию там, где нет компьютера, смешанная с нежеланием платить за доставку этой информации лишние деньги

Обычное применение

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

Необычное применение

Здесь варианты использования ограничены только вашей фантазией и умениями парсить нужные информационные потоки, например:
  • прогноз погоды
  • заголовки rss-ленты
  • твиттер-лента
  • данные по нагрузке вашего сервера
  • ?????
  • PROFIT!

Читать дальше →
Total votes 42: ↑37 and ↓5 +32
Views 19K
Comments 29

Параллельные вычисления, класс-обёртка для pcntl_fork()

PHP *
Хочу показать свой базовый класс, который я использую для PHP скриптов.
Приемущество его в том, что легко можно «распараллелить» работу.
Используется pcntl_fork() со всеми «вытекающими».

(тестировалось только на линукс)
Читать дальше →
Total votes 43: ↑33 and ↓10 +23
Views 6.8K
Comments 47

GUI vs. CLI — последняя битва

Website development *
Настоящими программистами считается, что ничего лучше интерфейса командной строки пока не придумали и никогда не придумают, потому что лучше уже некуда. Естественно, хочется поспорить.

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


Рис. 1. Абстрактный интерфейс в вакууме.
Читать дальше →
Total votes 77: ↑20 and ↓57 -37
Views 9.6K
Comments 33

CLI на стероидах: Google Guice и JCommander

Java *
Sandbox
В этой статье я хочу рассказать об одном из способов построения CLI-приложений на Java.
Собственно сама потребность в таких приложениях никуда не делась — так, например, в моем случае это было приложение для проведения функционального и нагрузочного тестирования серверной части. Конечно же были варианты в проведении необходимых тестов при помощи набора JUnit-ов, но мы были сильно ограничены во времени и хотелось получить решение, не требующее программирования со стороны отдела тестирования. Тем более, что бинарный протокол по которому взаимодействовали клиент и сервер был четко специфицирован.

Идея


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

На Хабре не так давно была статья о commons-cli. Сам commons-cli мне не понравился своим 'деревянным' API, однако из комментариев к самой статье я узнал про несколько альтернатив в числе которых был JCommander.

Привлек внимание именно он, поскольку:
  • Естественная поддержка паттерна Команда;
  • Удобный способ определения параметров вызова, основанный на аннотациях;
  • Автоматическое формирование помощи по доступным командам;
  • Неплохая документация;
  • Бесплатно.


Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Views 6K
Comments 7