Git в необычном амплуа
Не перестаю удивляться открытиям из мира командной строки с сайта commandlinefu.com. Вот, казалось бы, тривиальная задача: заархивировать исходники проекта для публикации. Можно вооружиться стандартным архиватором tar и, покумекав минут 10 (чтобы исключить из архива всякие вспомогательные файлы и прочие костыли) раза с пятого-десятого получить результат. А можно вот как:
Будет упаковано только то, что действительно имеет отношение к исходникам проекта, без «непотребных» файлов и каталогов (того же .git, например).
Конечно, для того, чтобы воспользоваться этой командой нужно вести репозитарий в формате git, но сейчас это не редкость.
git archive HEAD --format=tar | gzip -9 > myproject.tgz
Будет упаковано только то, что действительно имеет отношение к исходникам проекта, без «непотребных» файлов и каталогов (того же .git, например).
Конечно, для того, чтобы воспользоваться этой командой нужно вести репозитарий в формате git, но сейчас это не редкость.
- +4
- 16 июля 2010, 15:35
- 2
Indent: отступы и интервалы в программном коде
Хочу рассказать об утилите indent, помогающей разметить исходный код пробелами и табуляциями в соответствии с теми или иными стандартами. Программа классическая, входит в состав любого Linux-дистрибутива, в котором установлены пакеты, связанные с разработкой. Но так ли это важно — правильно оформлять исходники?
( Читать дальше )
( Читать дальше )
- +10
- 14 июля 2010, 12:36
- 4
Http'ед
Заголовок топика составлен из двух слов — http и велосипед. Дело в том, что ни в одной сфере веб-программирования не изобретено столько велосипедов, сколько в аутентификации пользователей при входе на сайт. Что ни «движок» — то своя система. Сам я грешен, написал нечто подобное и прекрасно представляю, сколько факторов нужно учесть при создании простенького, казалось бы, механизма с двумя полями (логин и пароль) и одной кнопкой.
Между тем, стандартный протокол HTTP предоставляет для этой цели готовые средства, поддерживаемые как на уровне любого уважающего себя браузера, так и на уровне любого уважающего себя веб-сервера. Причем на стороне сервера, как правило, предлагается широкий диапазон способов проверки корректности введенных пользователем учетных данных: от простого текстового файла до сервера LDAP.
( Читать дальше )
Между тем, стандартный протокол HTTP предоставляет для этой цели готовые средства, поддерживаемые как на уровне любого уважающего себя браузера, так и на уровне любого уважающего себя веб-сервера. Причем на стороне сервера, как правило, предлагается широкий диапазон способов проверки корректности введенных пользователем учетных данных: от простого текстового файла до сервера LDAP.
( Читать дальше )
- +8
- 05 июля 2010, 01:12
- 2
Рекурсивный перебор файлов в Java
Недавно на Мтааламу был топик о том, что рекурсивный перебор файлов в языке Groovy осуществляется одной строкой. Но иногда эту задачу требуется выполнить на чистой Java. Вот один из нехитрых способов:
( Читать дальше )
( Читать дальше )
- +7
- 24 июня 2010, 12:54
- комментировать
Groovy Closures: искусство компактности
В языке Groovy помимо стандартных полей и методов существуют т.н. Closures. Средство это очень нетипичное для классического программирования, но чрезвычайно эффективное. Рассмотрим простой пример: нужно превратить «плохой» html-код вида
в «хороший»
( Читать дальше )
Строка 1<br>
Строка 2<br>
Строка 3<br>
Строка 4<br>
в «хороший»
<p>Строка 1</p>
<p>Строка 2</p>
<p>Строка 3</p>
<p>Строка 4</p>
( Читать дальше )
- +8
- 21 июня 2010, 21:47
- 5
Криптоустойчивый пароль? Одной левой!
Подписавшись на новости ресурса "All commands", о существовании которого на днях сообщил камрад Mihael, не перестаю удивляться могуществу возможностей командной строки. Думаю, на Мтааламу время от времени стоит перепечатывать оттуда некоторые фрагменты, оснащая комментариями для начинающих. Вот, например, очень доступная для понимания, хотя и не самая короткая, команда для генерации криптоустойчивых паролей:
Для тех, кто не успел испугаться — пояснения под катом.
( Читать дальше )
</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; echo
Для тех, кто не успел испугаться — пояснения под катом.
( Читать дальше )
- +11
- 18 июня 2010, 10:10
- 4
Sakura: терминал в стиле бонсай
Сегодня сменил стандартный терминал Xfce на программу Sakura. Преимуществ несколько.
( Читать дальше )
( Читать дальше )
- +8
- 16 июня 2010, 21:25
- 2
Groovy: еще и shell
Создатели языка Groovy на славу оправдали его название (в переводе — «Превосходный»). Помимо могучих возможностей синтаксиса, в комплект входит несколько замечательных инструментов. Один из них — groovysh — задуман как альтернатива командному интерпретатору bash, не больше не меньше.
( Читать дальше )
( Читать дальше )
- +8
- 15 июня 2010, 19:00
- 2
Groovy: Про коня и лань 2
Недавно я писал о том, как интегрировать код, написанный на стандартной Java и на JavaFX. Сегодня речь пойдет о совмещении программ на Java с другим дружественным синтаксисом —
( Читать дальше )
( Читать дальше )
- +1
- 14 июня 2010, 11:43
- 4
Трабл с полями и переменными
Время от времени Java-программисты «наступают на грабли», обозначая одинаковыми словами поля класса и переменные внутри метода. Отладка при такой ошибке может очень сильно затянуться, поэтому хочу посвятить данной проблеме несколько строк.
( Читать дальше )
( Читать дальше )
- +6
- 11 июня 2010, 01:16
- 2