Pull to refresh
  • by relevance
  • by date
  • by rating

Сотрудник Red Hat представил сборочную систему Goals

Website development *System administration *Programming *System Programming *Software


Сотрудник компании Red Hat Ричард Джонс, создатель библиотеки libguestfs, представил инструмент Goals, цель которого — устранить недостатки в утилите make, разработанной Стюартом Фельдманом в 1976 году и предназначенной для автоматизации преобразования файлов из одной формы в другую.
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 3.2K
Comments 4

Как публиковать посты в коллективных блогах?

Lumber room
Готовлю публикацию в блог GUI…
Но не могу понять, каким образом туда написать: хотя я на него подписан, в списке «В какой блог публикуем?» находится только мой персональный блог.

Хабрафренды, подскажите, как публиковать посты в коллективных блогах?
Total votes 13: ↑5 and ↓8 -3
Views 196
Comments 24

Памятка дизайнеру сайтов

Web design *
Эта статья писалась мною как памятка для внутреннего пользования дизайнерам нашего бюро.К сожелению огромная армия даже опытных, модных и эффектных дизайнеров забывают, что результатом их творчества должен быть сайт, а не «супер-скриншот» для портфолио, годный лишь в роли эффектного плаката.Америку я не открыл, а просто собрал воедино и сформулировал ряд требований, которые должен учитывать дизайнер в процессе разработки дизайна сайта.
Читать дальше →
Total votes 94: ↑87 and ↓7 +80
Views 45K
Comments 153

Стоп! Снято!

Configuring Linux *

О Screencast.


Для начала коротко о том, что такое скринкаст.
Screencast (скринкаст) — Цифровая запись с экрана монитора, со звуком или без.
Так как мы «правильные» пользователи, то будем использовать только Open Source программы.

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

Читать дальше →
Total votes 48: ↑45 and ↓3 +42
Views 5.7K
Comments 40

Умный make

VIM *
Большенство адэптов vim, которые использую его для работы с кодом, знают про такие комманды как :make и :cw. Первая запускает make, а вторая выводит список ошибок.
Так уж сложилось, что мои основные рабочие (те которые использую на работе :)) языки это Си и C++. И часто бывает, что нужно написать программку в один файл, дабы проверить какой-то алгоритм, функцию или идею. При том писать makefile для одного файла в лом, а так хочется использовать привычную комбинацию клавиш. Набросал замечательный солюшен:
if filereadable("Makefile")
	set makeprg=make\ -j4
	map <C-b> :make<CR>:cw<CR>
else
	map <C-b> :make %:r<CR>:cw<CR>
endif

Как видно суть в том, что запускать просто make при наличае makefile и make имя_файла при отсутствии. make -j4 указывает на запуск четырёх потоков сборки, для двухядерных процессоров самое оно, особенно в сочетании с ключеком -pipe для gcc :)
Total votes 19: ↑13 and ↓6 +7
Views 3.6K
Comments 2

В корзину. В корзину? В корзину!

Interfaces *


Никто не задумывался о том насколько противоречив этот, всем привычный и понятный элемент «Корзина»?

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

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

Т.е. выработался не совсем приятный шаблон в названии метафор.
И меня интересует, кто-то предпринимал попытки этот шаблон нарушить или нет?

Например назвать на сайте раздел «Сделать заказ» или «Список покупок», вместо «Добавить в корзину»?
Интересно, кто-то подобный эксперимент уже проделывал?

Или все следуют кем-то выбранному шаблону?
Total votes 10: ↑4 and ↓6 -2
Views 785
Comments 41

GNU Make может больше чем ты думаешь

Website development *
Как только исходники проекта надо распространять, то возникает необходимость использовать систему сборке, вместо того что нагенерила любимая IDE. В мире unix (с подачи gnu) традиционно используется autotools, ему есть отличные альтернативы в виде cmake или scons. Но почему-то ядро Linux собирается при помощи GNU Make, а вся FreeBSD включая порты при помощи BSD Make. WTF?

Однажды намучившись с autotools, я решил провести эксперимент — насколько можно перелопатить Makefile, чтобы обеспечить себе более-менее удобную сборку.

Читать дальше →
Total votes 45: ↑35 and ↓10 +25
Views 6.1K
Comments 58

make test

Lumber room
Собираю dbase для php5:

Build complete.
Don't forget to run 'make test'.

# make test
make: don't know how to make test. Stop
Забавно.

P.S. Встала нормально, конечно :)
Total votes 21: ↑5 and ↓16 -11
Views 403
Comments 4

Памятка дизайнеру сайтов

Web design *
Вторая версия статьи, расширенная и дополненая.

Большая часть готовилась для моего выступления на «РИТ: Клиентские технологии», куда я, к сожалению, не доехал.

 

Памятка дизайнеру сайтов

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

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

Читать дальше →
Total votes 453: ↑444 and ↓9 +435
Views 234K
Comments 231

Build automation in Windows: Краткий обзор софта

Website development *
Хотелось бы рассказать об инструментах автоматизации сборки под Windows.
Это не коим образом не реклама, а только обзор средств.
Буду рад за ссылки на другие продукты и отзовы об их использовании.
итак, начнем
Total votes 6: ↑4 and ↓2 +2
Views 2.5K
Comments 4

ScreenCastle или записываем скринкаст без специального софта

Lumber room
image
Если вы хотите создать простой screencast, но не знаете как или не хотите устанавливать специальный софт, вы можете воспользоваться ScreenCastle'ом и и сделать все со своего браузера.
Посетите веб-сайт, нажмите на большую красную кнопку и ScreenCastle загрузит небольшое Java-приложение, с помощью которого вы сможете осуществлять контроль над записью. Здесь вы можете указать, делать ли запись в полноэкранном режиме или только конкретного окна и записывать ли звук (при условии подключенного микрофона).
Тут же вам будут указаны ссылки на полученный скринкаст.
Total votes 13: ↑13 and ↓0 +13
Views 307
Comments 1

SQLite и полноценный UNICODE

SQL *SQLite *
Наверно многим известна embed база данных SQLite. SQLite полностью поддерживает кодировки UTF-8 и UTF-16. Но есть один нюанс, для строковых и текстовых полей, символы которых выходят за пределы ASCII таблицы, не работает нечувствительный к регистру LIKE и ORDER BY.
Например:
sqlite> SELECT "ы" LIKE "Ы";
0
в то время как
sqlite> SELECT "s" LIKE "S";
1
Давайте разберемся как же это исправить.
Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Views 28K
Comments 22

Распараллеливание задач в Linux

Configuring Linux *
Потребовалось мне перекодировать некоторое количество видео-файлов. Для этого я написал следующий сценарий:

#!/bin/bash

recode() {
mencoder -o $2 $1 -ovc x264 -x264encopts bitrate=22000:keyint=50 -oac mp3lame -lameopts vbr=3:br=320 -fps 50
}
recode input/00108.mts 00108.avi
recode input/00109.mts 00109.avi
...
...


Казалось-бы все готово, но я заметил, что загружен только один процессор из двух, а это значит, что этот процесс можно ускорить, раза в два.
Читать дальше
Total votes 103: ↑95 and ↓8 +87
Views 9.8K
Comments 58

Обзор систем сборки SCons и Waf

Website development *
image

Я — разработчик и в качестве основного языка последние пару лет использую Python. Однако время от времени появляются задачи, когда нужно писать на C/C++. Существуют разные системы, с помощью которых можно собирать такие проекты. Классикой являются make и autotools. Я же хочу заострить внимание на таких альтернативах, как SCons и Waf. Целью поста не является доказательство того, что они лучше или хуже make. Хочется просто провести короткий экскурс, чтобы стало приблизительно понятно что это, зачем это и как с этим начать работать.

Чтобы разговор был предметным, предлагаю рассмотреть системы на практике. Я решил использовать простенький проект, в котором необходимы типовые, но не всегда тривиальные задачи сборки. Будем делать простенький web-сервер, цель которого: выдавать статичную страницу, которая готовится в отдельном html файле, но которая в итоге должна быть встроена в исполняемый файл. То есть на стадии сборки по html-коду должен быть собран исходник с си-кодом. В качестве серверной библиотеки используем mongoose, исходники которого положим внутрь проекта и будем собирать их в статическую библиотеку, которую в последствии будем прилинковывать к исполняемому файлу. Думаю, задача понятна.

Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 14K
Comments 9

[Перевод] Построение документов Latex с помощью Waf

LaTeX *
Sandbox
Это исправленный и дополненный перевод статьи о многофункциональной системе сборки Waf.

С самого начала использования сервиса Dropbox для хранения моих научных исследований и проектов я стал искать решение, которое позволит мне строить документы LaTeX без засорения каталога с документом. В обычных условиях я просто игнорирую такие файлы, но под Dropbox, каждый раз после построения документа файлы начинают синхронизироваться с сервером. Так как в Dropbox нет возможности указать файлы для игнорирования (если кто-то из компании читает это сообщение, пожалуйста, сделайте файл .dropboxignore), то я начал искать другое решение.
Читать дальше →
Total votes 9: ↑6 and ↓3 +3
Views 2.4K
Comments 1

Пример Makefile

Website development *
Написание makefile иногда становится головной болью. Однако, если разобраться, все становится на свои места, и написать мощнейший makefile длиной в 40 строк для сколь угодно большого проекта получается быстро и элегантно.

Внимание! Предполагаются базовые знания утилиты GNU make.
Читать дальше →
Total votes 126: ↑118 and ↓8 +110
Views 68K
Comments 59

Сборка проекта без единой глобальной переменной

JavaScript *
Представьте, у вас есть проект, состоящий из нескольких модулей и, например, jQuery или любая другая библиотеки в CDN. У вас есть огромное желание не показывать пользователю ваши глобальные переменные и по возможности не показывать jQuery и $. Ну и, конечно, сделать все без изменения кода проекта.
Причины для сокрытия глобалов могут быть разные: для красоты, из соображений безопасности, для затруднения анализа кода и другие. Пользователь взаимодействует с вашим кодом, используя события, которые он не сможет сломать — больше ему ничего и не нужно.

Самый очевидный способ — создать единственный namespace в который пассивно экспортировать прочие объекты, а jQuery и $ в конце удалить.

После сборки код будет какой-то такой:
(function(window, undefined){
    // include ./js/YourNamespace.js
    var YourNamespace = (function () {
        // что-то ещё
        return {};
    }());
    // include ./js/YourNamespace/SomeObject.js
    YourNamespace.SomeObject = (function () {
        // что-то ещё
        return function () {

        };
    }());
    // Cleanup
    delete window.$;
    delete window.jQuery;
}(window));

Это идеальный вариант, но чаще бывает не так. Посмотрите ваш код, такой ли он?

Под катом универсальное решение, позволяющее собрать любой код без единой глобальной переменной.
Читать дальше →
Total votes 58: ↑50 and ↓8 +42
Views 3.4K
Comments 35

Спасибо, Кэп!

Self Promo
Дизайн-бюро «make» и студия «Март» проводят 02 июля в Одессе форум «Спасибо, Кэп!».
Приглашаем всех желающих!



Наш форум посвящен вопросу: «Как сделать занятие дизайном эффективным и успешным бизнесом». Неважно кто вы — руководитель компании, менеджер, сотрудник или фрилансер — мы уверены — вам будет интересно обсудить основные проблемы, которые стоят сегодня на пути к успеху в индустрии дизайна и веб-разработок.

Интересные доклады, новые знакомства, лето, море, солнце и Одессу — гарантируем.

Читать дальше →
Total votes 52: ↑37 and ↓15 +22
Views 496
Comments 25