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

Все потоки

Сначала показывать
Порог рейтинга

Шаблонизация в CLI может быть простой

*nix *Open source *Программирование *

кдпв


Однажды я был маленьким, и задавался вопросом — вот если Unix way это (упрощенно) небольшие, довольно простые утилиты и библиотеки, которые делают одну вещь, но делают её хорошо (Peter H. Salus: "...that do one thing and do it well"), то… Где тогда утилита, которая занимается шаблонизацией и не хватает звёзд с неба? Вот есть у тебя некоторый шаблон, и есть некоторые данные, которые ты имеешь желание в этот шаблон подставить. Брать для этого Jinja2? Писать что-то своё используя sed + awk? Или тащить %tool_name% на несколько мегабайт ради столь тривиальной задачи?


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


  • Статическая линковка — один бинарный файл без каких-либо зависимостей (он мне понадобится в docker scratch)
  • Итоговый размер должен быть минимально возможным (постараться уместиться в 100Кб без upx)

На чем писать, если хочется боли компактного результата и быстрого выполнения — естественно, берём C. Какой шаблонизатор использовать, если хочется минимализма? Под такую задачу хорошо подойдет mustache. И вот, спустя некоторое время появляется утилита под кодовым именем mustpl (must — mustache, tpl — template).

Читать дальше →
Рейтинг 0
Просмотры 125
Комментарии 1

Новости

Топ летающие машин существующих в реальности — Обзор, цена, особенности

Производство и разработка электроники *Инженерные системы *
Recovery mode

Из утопии летающие автомобили превратились в реальность. Сегодня можно говорить о 10 моделях реальных авто, способных подняться в небо.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 477
Комментарии 0

Два типа менеджеров: Органик и Механик. Что это значит и как с ними взаимодействовать?

Управление проектами *Управление персоналом *
Перевод

Статья о том, что делать, если с менеджером не получается найти общий язык. Возможно просто дело в том, что вы разных типов? Говорим про Органиков и Механиков.

Читать далее
Всего голосов 4: ↑1 и ↓3 -2
Просмотры 289
Комментарии 0

Толстые дискеты: Iomega Zip и SuperDisk

Блог компании «Лаборатория Касперского» Хранение данных *Старое железо
Давным-давно, когда еще не было флешек, и даже болванки CD-R были не в почете, данные между компьютерами переносили… Ну, в моей реальности это происходило исключительно с помощью дискет. До конца девяностых это был вполне рабочий способ передать другому человеку документы или программы. Только в самом конце десятилетия возникали редкие проблемы: как-то я попросил друга переписать мне особо тяжелую игру, и для этого потребовалось три десятка дискет. Одна, конечно же, потом не прочиталась.


Дистрибутив Windows 95 (примерно 30 мегабайт) — это уже была проблема. Настолько, что проще было передать (при хорошем соединении) столько данных по модему, чем возиться с дисками. Или же сходить в гости с собственным жестким диском. Но существовали и другие носители. Их вообще было немало, начиная с восьмидесятых, когда IT-инфраструктура отличалась редкостным разнообразием. Но в девяностые наиболее известными были два сменных носителя. Один из них — стомегабайтный (в начале пути) Iomega Zip — попадался у друзей и знакомых, и был достаточно популярен. Про другой я читал только в журналах — это SuperDisk или LS-120.

В 2022 году проблемы передачи данных между ретрокомпьютерами практически не существует. Можно использовать карты Compact Flash, полностью совместимые с интерфейсом IDE. Есть эмуляторы флоппи-дисковода с разъемом USB. Можно подключить компьютер к сети. Но это все… какое-то слишком современное. Сегодня — рассказ о моем запоздалом знакомстве с ретроносителями, часть из которых достались мне новыми в упаковке.
Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Просмотры 2.5K
Комментарии 21

Иконки приложений как товарный знак: ожидание и реальность

Блог компании Онлайн Патент Работа с иконками *Дизайн мобильных приложений *Патентование *Дизайн

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

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 364
Комментарии 0

7 шагов для начала карьеры ручного тестировщика

Тестирование IT-систем *Карьера в IT-индустрии
Из песочницы
Перевод

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

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

Некоторые фрагменты были умышлено изменены, с целью сохранить актуальность текста. Вольный перевод статьи "7 Ways To Kick Start Your Manual Testing Career" с портала Software Testing Help.

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 653
Комментарии 2

Хэштег «Число»

Читальный зал

- Мастер, что мы будем учить сегодня?

- Не учить, а постигать. Сегодня: химия, физика и числа. Напиши несколько раз цифру один.

- 11111

- Если в колбу прозрачной воды капнуть из пипетки концентрированной синькой, то вся вода окрасится в синий цвет. Сейчас окрасим твое число в восемьность.

- Но как, Мастер?

- Умножь свое число на 8, что получается?

- 88888, ух ты!

- Возьми еще одно свое число и покрась в девяточность.

- 11111 * 9 = 99999, получилось! Всего одной каплей «9» покрасились все-все цифры!

- Химия, ученик! А видел ролики на ютубе, где в пробирку наливают два вещества, и оттуда мощной струёй выстреливает пена?

- Да, мастер! Это чудо!

- Сейчас повторим. Возьми свое первое окрашенное число и подели на второе.

- 88888 / 99999 = 0.8888888888888888888888... лезет пена!

- Конечно. Главное подобрать нужные ингредиенты. Пошли дальше. Попробуй сжать свое число.

- 11111... 11111... 11111 — не получается, Мастер! Всегда пять знаков((

Читать далее
Всего голосов 9: ↑4 и ↓5 -1
Просмотры 980
Комментарии 3

Ну чё, летим на Луну?

Космонавтика Будущее здесь

Как мы помним, США возвращаются на Луну в рамках программы «Артемида». Первый этап начнётся 29 августа, когда сверхтяжелая ракета SLS отправится в свой первый полёт. Он будет заключаться в облёте Луны кораблём Orion, который должен будет вернуться на Землю. После этого, в 2023 году, нас должен ожидать пилотируемый облёт естественного спутника. Ну и наконец, в 2025 — высадка на поверхность. И тут вскрывается интересная история: дело в том, что у NASA сейчас нет посадочного корабля для, собственно, высадки. Больше того — у них нет даже скафандра для прогулок по Луне. Да и сама ракета SLS не может физически отправить в полёт два корабля. Да, она слабее «Сатурна-5», который высадил американцев на Луну. Эти проблемы начали решать в прошлом году.

Читать далее
Всего голосов 40: ↑24 и ↓16 +8
Просмотры 1.9K
Комментарии 13

Litchi + WebODM — коммерческая фотограмметрия, доступная для всех

Я пиарюсь
Tutorial

Автоматизация дает нам возможность повторяемо выполнять сложные для человека действия с высокой степенью точности. Добиться одинакового интервала съемки и полного покрытия сложных объектов крайне затруднительно вручную.
В данной статье - мы рассмотрим выбор дрона (из линейки DJI), а также планирование автономных сценариев полета для создания ортопланов и 3D моделей.

Читать далее
Рейтинг 0
Просмотры 486
Комментарии 0

ITить-КОЛОТИТЬ, серии 4-6

Блог компании Cloud4Y Здоровье IT-компании

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

Читать далее
Всего голосов 11: ↑6 и ↓5 +1
Просмотры 691
Комментарии 3

P2P-арбитраж. Как финансовые ограничения и новые технологии рождают разницу в стоимости крипты?

Криптография *Платежные системы *
Recovery mode

Всем привет, на связи MediaMetriqa! На сегодняшний день P2P-арбитраж является одной из самых популярных ниш в крипте, ввиду того, что позволяет зарабатывать даже на падающем рынке. А как нам известно, на дворе криптозима, и когда она закончится, сказать сложно. Кстати, инфоцыгане не дремлют, и здесь их более чем достаточно, поэтому скорее читайте нашу первую статью по арбитражу. Там мы подробно разобрали, что такое связка, как выглядит полный круг в международном арбитраже, поговорили о платном контенте от "экспертов" в этой области и оценили риски, которым вы подвергаете себя и свои средства.

Сегодня же мы больше углубимся в P2P, посмотрим на отношение государства и банков к P2P-торговле, расскажем на чём строится заработок арбитражников, рассмотрим схему классической P2P-связки, осветим ещё живые способы осуществления международных переводов и затронем юридические аспекты, касающиеся 115 ФЗ и легализации доходов от крипты. Поехали!

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 610
Комментарии 1

Как в Tele2 модель научилась разбирать 230 тысяч клиентских обращений

Блог компании Tele2 Big Data *Машинное обучение *

Привет! Меня зовут Катя и я отвечаю за PR проектного офиса big data в Tele2. Не спешите переключаться после этих слов: я постаралась разобраться в том, как коллеги разработали инструмент для анализа обратной связи от абонентов.

В компании есть показатель NPS bottom Up, в рамках исследования мы задаем пользователю вопросы конкретно по точке контакта, например, о мобильном интернете. Упрощенно, методика исследования такая: человек отвечает на закрытые вопросы об услуге и может заполнить поле “свободный комментарий”. В последнем пункте и содержится всё самое интересное, но неподъемное для анализа ручками.

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

Почему ваш веб-сайт должен быть меньше 14 КБ

Разработка веб-сайтов *Сетевые технологии *
Перевод

Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно.

Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ, даже на 612 мс быстрее, хотя разница между страницами на 15 КБ и 16 КБ минимально.

Так происходит из-за алгоритма медленного старта TCP. В этой статье я расскажу, что это такое, как оно работает и почему это важно. Но сначала мы вкратце расскажем об основах.
Читать дальше →
Всего голосов 46: ↑44 и ↓2 +42
Просмотры 7.9K
Комментарии 35

Как запустить UI-автотесты в любом Chromium-браузере

Блог компании VK Браузеры Тестирование веб-сервисов *
Tutorial

Привет, Хабр! Меня зовут Кристина Курашова, и я отвечаю за качество в VK Assistant. Написала тут небольшую инструкцию для тех, кто тоже запускает UI-автотесты в браузерах на основе Chromium (не только Chrome). Надеюсь, она сэкономит вам время. Welcome!

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 788
Комментарии 5

Все люди — НПС в компьютерной игре?

Читальный зал

Упомянув, несколько лет назад, в опубликованной на Хабре юмористической статье «12 способов» о том, что значительная часть населения Земли является НПС (от англ. Non-Player Character) я не собирался возвращаться к этой теме. Но идея оказалась прилипчивой — раз возникнув, она постоянно всплывала в сознании, когда я общался со знакомыми или читал новостные сайты. И не у одного меня — подобных теорий, с небольшими вариациями, известно огромное множество.

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

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

Читать далее
Всего голосов 14: ↑9 и ↓5 +4
Просмотры 2.6K
Комментарии 39

Автоматическое реферирование текстов. Обзор работ

Блог компании Unistar Digital | Юнистар Диджитал Семантика *Математика *Машинное обучение *Natural Language Processing *

Я думаю, многим знакома ситуация, когда в сжатые сроки необходимо ознакомиться с большим объёмом текстов – статей, обзоров, сюжетов, отзывов и так далее. Читать их все от начала и до конца слишком напряжно, не правда ли? И здесь на помощь приходят рефераты – краткие выжимки текстов, содержащие только самое главное и важное. Написанием рефератов занимаются зачастую эксперты, однако такая работа требует немало времени и усилий. Кроме того, труд экспертов должен, само собой, оплачиваться. Решение – применять методы автоматического реферирования текстов (Automatic Summarization), то есть порождать рефераты с помощью специальных компьютерных программ. В этой статье мы познакомимся с некоторыми наиболее распространёнными подходами к решению данной задачи.

Читать далее
Рейтинг 0
Просмотры 299
Комментарии 0

Как ускорить работу PostgreSQL с помощью конфигурации базы и оптимизации запросов

Блог компании Southbridge Системное администрирование *IT-инфраструктура *Серверное администрирование *Администрирование баз данных *

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

Администратор баз данных в Southbridge и ведущий инженер компании Data Driven Lab Иван Чувашов занимается базами данных 15 лет и сегодня хочет поговорить про оптимизацию запросов. Разбирать все будет на примере PostgreSQL, так как именно с этой базой он сейчас работает плотнее всего.

Эта статья — конспект бесплатного вебинара об оптимизации PostgreSQL от «Слёрма». Если вам удобнее смотреть, а не читать, переходите на YouTube.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 1.3K
Комментарии 3

Типографика языка ифкуиль

Типографика *Графический дизайн *Изучение языков
Из песочницы

Коммуникация между людьми работает крайне ущербно. Думаем одно, говорим другое, слышим третье, а понимаем относительно личной картины мира. Представьте, сколько информации теряется по дороге. Теперь прибавьте сюда то, что немногие способны формулировать свои мысли, и ещё меньше владеют ораторским мастерством. Удивительно, что нам вообще удаётся о чём-то договариваться.

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

Чтобы преодолеть недостатки естественных языков, лингвист Джон Кихада спроектировал априорный (не основанный на естественных) логикофилософский ифкуиль. В нём не бывает двусмысленности, разночтений и исключений. Ифкуиль работает по принципу «смыслового сжатия»: даже 2 слова способны заменить предложение из 20 слов русского языка. Пример из любимого:

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

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 1.8K
Комментарии 14

Грокаем монады императивно

Функциональное программирование *F# *
Перевод

В предыдущем посте мы переизобрели Монаду на рабочем примере. У нас получился базовый механизм в виде функции andThen для типа option, но мы еще не достигли нашей конечной цели. Мы надеялись, что получится написать код, так же как если бы нам не нужно было обрабатывать значения option. Мы хотели писать в более "императивном" стиле. В этой части мы увидим как достичь этого при помощи технологии computation expressions языка F#, а также углубим наше понимание Монад.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 589
Комментарии 0