Использование shortcuts в bash

В последнее время я опять пересел под linux, что ни говори, но на мой личный взгляд писать код проще все таки в нем. Как ни как есть полноценная поддержка консоли со всеми ее плюсами (которые мне к сожалению известны еще далеко не все). Обычно я использую консоль, скажем так, по старинке. Знаю конечно про возможность автодополнения по tab, но на этом пожалуй все мои знания о возможных шорткатах и заканичваются. Точнее даже, было бы правильнее сказать, что я просто и не предполагал о том что есть какие то допольнительные шорткаты для ускорения работы с консолью.

Всю эту радость (список которой я приведу чуть ниже) дает нам возможно использовать GNU Readline library которая кроме всего прочего используется еще в Emacs и еще в некоторых приложениях, например в Midnight Commander. Кроме всего прочего, есть возможность перенастроить эту библиотеку на использование шорткатов из вима, но не смотря на то что я работаю как раз таки в нем, как мне кажется это не самое оптимальное решение, в виду того что теряется возможность использовать это счастье повсеместно.

И так…
Continue reading

Posted in Uncategorized | Tagged , , | Leave a comment

Дополнительные источники дохода.

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

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

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

Если вам стало интересно, то милости просим! Тут можете еще раз посмотреть и конечно же — зарегестрироваться!

Желаю вам удачи и высокого дохода ;)

Posted in Uncategorized | Tagged | Leave a comment

Изучение Markdown

Какое то время я пользовался reStrucktedText, но мое стремление к изучения всякого рода новых технолгий, в том числе и в плане написания текстов, сподвигла меня на изучения чего ни будь нового. И выбор мой пал на изучение Markdown. Для этого есть несколько причин. Первая — то что тексты, причем самые разные, удобнее всего писать именно в plain text, а так как в последствии не особо хочется возиться с тем что бы переносить это все в ручную в какой ни будь, ну незнаю там, word, ну или даже обрамлять тегами, по этому и назревает необходимость использования этого самого plain text с какой ни будь разметкой, которая позволила бы этот самый текст переводить в какой ни будь формат. Второе — я довольно часто натыкаюсь на использования MD синтаксиса, например в README файлах на github, по этому, логически поразмыслив, я решил что стоит остановить свой выбор именно на нем. Ну и третье, самое пожалуй главное, в WriteMonkey, текстовом редакторе который я использую для написания статей и прочей текстовой информации, есть встроенная поддержка MD синтаксиса, что очень удобно и хорошо смотриться. Continue reading
Posted in Uncategorized | Tagged , | Leave a comment

Список книг по программированию

Продолжу начатую недавно рубрику полезных ссылок.

Сегодня у нас в программе сайт с большой подборкой различных книг по программированию. Основная прелесть которого в том, что все книги и ссылки на книги которые там размещены, находяться в бесплатном доступе, то есть скачивать и изучать их можно с совершенно чистой совестью. Приятно, не правда ли? =)

Встречайте — Become a Programmer, Motherfucker!

Posted in Uncategorized | Tagged , , | Leave a comment

Git How To

Решил ввести еще одну рубрику — со ссылками на интересные ресуры.

Первым в этом списке будет замечаетльный ресурс Git How To. Он замечателен тем, что очень наглядно и понятно рассказывает о том, что такое git и как этим инструментом пользоваться.

В общем, всем кто не знаком с git, но хочет тем немение узнать что же это такое, и как с этим работать, советую очень и очень.

Posted in Uncategorized | Tagged , | Leave a comment

Установка Adobe Photoshop на linux.

Одной из главных причин которые довольно долгое время мешали мне полностью перейти мне на Linux как основную систему (в данном случае я рассматриваю не только Arch Linux, который я использую в данный момент, но и Ubuntu, дистрибутив который я использовал до этого) была невозможность стабильной и уверенной работы с psd файлами. Работать мне с ними надо постольку поскольку в круг моих задач зачастую входит вёрстка сайтов из имеющихся дизайонов. А так как дизайн в 99% случаев это как раз таки psd файлы (да, это не смотря на то что Adobe Photoshop это коммерческий продукт, который кроме всего прочего стоит довольно таки дорого). И проблема в том, что GIMP, не смотря на все свои замечательные и положительные стороны эти самые psd файлы открывает из рук вон плохо. Хотя в общем то оно и понятно, проприетарный формат и все такое. Так что выход один. Точнее два.

Вариант первый. Виртуальная машина.

Вариант надо признаться довольно неплохой. У него есть несколько плюсов. Во первых можно не париться и пользоваться любой версией Photoshop которая имеется в наличии и под рукой, при этом не испытывая ни каких трудностей с глюками и не работой каких-то вещей. Во вторых, лично мне виртуальную машину все равно приходиться постоянно использовать, хотя бы даже для того, что бы просматривать готовую вёрстку в Internet Explorer, да и в прочих браузерах, но под Windows. Конечно же не все-таки радужно и минусы имеются, при чем на мой взгляд тоже довольно серьёзные. Например то что при этом система грузиться много сильнее. Просто в таком случае под виртуальную машину надо выделять больше оперативной памяти чем обычно. Так же не самым удобным является интеграция дисплея, ведь вместе с ней перестаёт работать Alt+Tab, точнее он работает, но только в рамках виртуальной машины, на которой в данный момент запущена Windows.

В своей работе я в основном использую Virtual Box, как бесплатный и наиболее стабильно работающий.

Вариант второй. Wine.

Этот вариант отличается довольно сильно. Во первых тем что он довольно глючный. Точнее — он может быть глючным. А может и не быть. Например на Arch и Ubunt 11.10 ни каких глюков у меня не наблюдается, в то же время на Ubuntu 12.04, он так и не захотел заработать. Скорее всего все дело в том, что 12.04 пока что находиться на стадии бета тестирования и вообще работает не очень стабильно, но ладно, я это уже о другом.

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

Ну и да, самая главная проблема во всём этом, использовать можно очень ограниченное количество версий. Так что если вам хочется использовать Adobe Photoshop CS5, то вам придётся или сильно пошаманить, или же как я особо не париться и использовать версию Adobe Photoshop CS2. Для повседневного использования ее хватает чуть больше чем полностью. К тому же пока что она у меня открывала все PSD более новых версий.
И так, что же нам понадобиться для того что бы установить Adobe Photoshop? Во первых сам фотошоп. CS2 можно скачать с самих Adobe ( http://download.adobe.com/pub/adobe/photoshop/win/cs2/Photoshop_CS2.exe)

Во первых wine. В убунту он устанавливается командой:

sudo apt-get install wine

После этого надо сделать ещё пару дополнительных действий.

winetricks corefonts vcrun6

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

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

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

Остался ещё один маленький момент. Дело в том что по умолчанию кнопка Alt в Linux используется для того что бы перетаскивать окна, и по этому некоторые функции в фотшоп просто напросто не работают (такие как уменьшение размера). Для того что бы это поправить нам необходимо открыть gconf-editor (если он не стоит, то надо его поставить), после чего запустить его и перейти к /apps/metacity/general, там найти пункт mouse_button_modifier и поменять его с на. Все, теперь мы можем спокойно использовать Photoshop (а если нам надо будет перетаскивать окна, то теперь это можно сделать c помошью зажатой клавиши).
Приятной вам работы!

ЗЫ: Если вам все-таки хочется попробовать повозиться с CS5 то тогда можете прочитать по этой ссылке

Posted in Uncategorized | Tagged , , , | 2 Comments

Установка ArchLinux

Введение
Сейчас стало довольно таки «модно» устанавливать себе какой ни будь линукс. Честно говоря не совсем понимаю почему так происходит, наверное от части потому, что всем хочется чувствовать себя компьютерными «гуру», и всем хочется выглядеть крутыми в глазах своего окружения. Может быть это и есть одна из причин распространения. Зачастую, после того как становиться понятно, что «в этой проклятой убунте не ставиться скайрим!» первый пыл остывает, а налет крутости улетает куда то в далекие дали, как раз после первого подвисания X-сервера.
К слову надо сказать что я сам активно использую linux в своей повседневной работе. И опять же надо сказать что выбор дистрибутива давался мне с трудом.
Как бы кто ни ругал Microsoft и линейку их ОС Windows, но надо отдать им должное — как пользовательская система эта самая пресловутая винда очень даже хороша. Работает стабильно, все ошибки правятся вовремя. Если еще не забывать про обеспечение своей безопасности (которая зачастую достигается не наличием «мощного» антивируса, а пониманием куда стоит ползти, а куда нет) и вообще замечательно. Вот только одно но — именно как система для пользователя.
Если же надо вести какие то, программистские работы, то тут выбор конечно же остается за linux системами. Почему я пишу  «конечно»?. Опыт. Пускай и небольшой, но все таки имеющийся. Опыт сравнения удобства работы. Да, конечно порог вхождения ни самый низкий, как говориться что есть, то есть. Но в то же время, после освоения, хотя бы даже базовых навыков работы в консоли, понимания того, что, где, как и почему работает в этой системе, приходит понимание на сколько все это замечательно работает. И насколько это все удобно. Да, еще кроме этого стоит отметить скорость работы, стабильность и почти полную настраиваемость.
Ладно, пожалуй хватит лирического отступления, которое пожалуй может вылиться в целую статью (которую я возможно и напишу как ни будь). Перейдем ближе к делу.
После долгих экспериментов, проб и ошибок, я остановил свой выбор на Arch Linux в качестве своего основного дистрибутива для работы.
Почему именно он? Первое и самое главное — скорость работы. Она выше чем в Ubuntu и в Fedora. Не знаю за счет чего так получается, может быть за счет второй особенности, возможности полностью настроить DE. То есть полностью выбрать необходимый набор программ, при этом не удаляя кучу всего не нужного, а просто напросто не ставя его с самого начала. Ну и что еще касается софта — наличие такой замечательной вещи как AUR (Arch User Repository), что переводится на вольный манер, как Репозиторий Пользователей Арча. Собственно говоря, если программа есть вообще, но ее нету в официальном репозитории, то она скорее всего есть в пользовательском.
И так, вы как и я решили установить Arch. С чего начать?

Скачивание образа
Для начала нам конечно же нужен образ диска с той версией которую мы собираемся ставить. По этому идем на официальную страницу archlinux, там переходим в разделDownloads. Тут у нас есть несколько вариантов действий. Можно скачать или образ netinstall нужной нам архитектуры, или же core image, опять же, нужной нам архитектуры.
Отличие состоит в том, что при установке с core все необходимые пакеты, для первоначальной установки и запуска уже имеются на диске. В случае же netinstall на диске только самое основное, что позволит запустить процесс установки. Все дополнительные пакеты докачиваются из сети прямо в процессе установки.
Что бы особо не заморачиваться сверх меры я советую выбрать вариант с core image.
Создание загрузочной флешки
Следующим моментом нам необходимо то, с чего мы будем загружать нашу систему. Если вы собираетесь использовать для этого CD, то тогда данный раздел можно пропустить. Если же такой возможности у вас нет, в моем случае в ввиду отсутствующего на ноутбуке CD драйва, то тогда остается только вариант с созданием загрузочной флешки.
Самый простой вариант, который я пожалуй только и буду рассматривать, использование для создания флешки программы под названием UNetbootin. Программа простейшая, и кроме возможности создания образа из уже скачанного образа диска, имеет функцию по скачиванию и созданию образа практически налету. Вся информацию по ее использованию есть на официальном сайте, так что я не буду подробно останавливаться на этом вопросе. Хотя бы даже потому, что тут не на чем подробно останавливаться.
Загрузка установочной системы
После того как мы создали загрузочный диск (не важно в каком формате CD или flash) пришло время для первого запуска.
Загрузочный экран должен выглядеть примерно так:

Здесь мы выбираем Boot Arch Linux.
Если в более ранних версиях нам необходимо было войти в качестве root пользователя, то теперь сразу же после загрузки системы мы автоматически залогиниваемся и можем выполнять все необходимые действия:
Но для начала нам надо набрать:

/arch/setup

о чем нам услужливо сообщает система.
После этого мы видим меню установки состоящие из следующих пунктов:
  1. Secect Source – Выбор источника установки
  2. Set Editor – Выбор приложения, для редактирования текстовых файлов
  3. Set clock – Настройка времени
  4. Prepare hard drive(s) – Разбивка диска
  5. Select packages – Выбор пакетов для установки
  6. Install packages – Установка выбранных пакетов
  7. Configure system – Конфигурация системы
  8. Install bootloader – Установка загрузчика
  9. Exit Install – Выход
Set source
Окно выбора источника из которого будет производиться установка представляет выглядит примерно так (я пишу примерно, потому что на момент прочтения статьи все может внезапно измениться и в Arch Linux будет использоваться совершенно другой установщик, хотя на самом деле я в этом сильно сомневаюсь)
Если вы, как и я, используете для установки Core Image, то тогда можно ограничиться выбором core-local который стоит по умолчанию. Если же вам сразу же при установке понадобились какие то специфические файлы и программы, которые могут быть только в прочих репозиториях, или же вы используете net-install, в таком случае в общем то тоже не должно возникнуть ничего сложного, может быть за исключением только того факта, что вам сразу понадобиться настраивать соединение с интернетом, если при этом используется wi-fi, то тогда надо смотреть в сторону такой вещи как wpa_supplicant (здесь я не буду приводить настройки соединения их всегда можно найти на просторах сети, как один из вариантов могу посоветовать статью, которая так же как и моя повествует об установки Arch Linux и которая в свою очередь помогла мне в некотором роде с установкой, как раз таки в плане настройки wi-fi, и послужила толчком к написанию своей статьи по данной теме). После того как мы выбрали источник установки смело жмем < OK >.
Set editor
Меню выбора редактора. Если вы не уверены в том что выбрать, тогда смело выбирайте nano как более простой из двух представленных. Я в свою очередь выбираю vi, поскольку у меня уже есть опыт работы с этим редактором и лично для меня он куда более удобен чем nano.
Set clock
В этом разделе установки мы выбираем время которое будет установлено в операционной системе.
Для начала выбираем часовой пояс
В моем случае это Europe — Moscow.
Затем выбираем localtime, кликаем по пункту меню return и переходим дальше, к разбивке жесткого диска.
Prepare hard drive
Подготовка жесткого диска. Если вы собираетесь использовать весь жесткий диск и у вас нет особой необходимости в том, что бы как то по особому разбивать жесткий диск, то тогда можно особо не волнуясь выбирать первый вариант из списка Auto prepare
Дальше надо просто выбрать нужные размеры разделов.
Для /boot я выбираю 256mb, для swap необходимо или столько, или в два раза больше чем оперативной памяти. Если оперативной памяти 4GB и больше, то тогда своп как таковой не нужен, но я все равно ставлю его размер равный 2GB. Дальше надо необходимо выбрать размер для корневой системы (где в общем то будут стоять все необходимые нам программы и утилиты). Я обычно ставлю его в районе 20GB. Можно и меньше, но тогда прийдется чаще заморачиваться на то что бы почистить кеш скаченных пакетов и думать о том какие программы нужны, а какие надо удалить. Все оставшееся пространство отдаем под раздел /home, в котором будут находиться все наши пользовательские файлы. На следующем экране выбираем какая файловая система будет использоваться. Я выбираю ext3, как более стабильную. Дальше нам напоминают о том что сейчас все наши данные на жестком диске будут удалены, но мы не боимся, нажимаем < Yes >, а затем ждем когда завершиться разметка файловой системы.
Вообще вот несколько статей на тему разделов жесткого диска и файловых систем.
Select packages
Здесь нам необходимо выбрать пакеты которые будут первоначально установленны на нашу систему. Как загрузчик я  выбираю GRUB. Дальше я выбираю как пакеты core так и core—devel. В общем то на самом деле можно обойтись и просто core пакетами.
Далее мы видим список со всеми пакетами которые мы впринципе можем поставить. Но сейчас я предлагаю просто нажать < OK > и продолжить дальше. Все необходимые нам пакеты мы доставим уже после установки.
Install packages
Здесь все просто — нам надо дождаться пока все пакеты выбранные нами в предыдущем шаге поставяться на компьютер. Вообще данный процесс проходит довольно быстро.
Configure system

В этом месте нам предлагается провести первоначальную конфигурация системы, чем мы сейчас и займемся.
Самым главным конфигурационным файлом в Arch Linux является /etc/rc.conf
Первым делом нам надо разобраться с LOCALE, что отвечает за язык системы. Нам необходимо поставить данный параметр как ru_RU.UTF-8, но по умолчанию в системе нет данных об этой локале. Что бы их сгенерировать переходим в другую консоль (нажимаем Alt+F2) и открываем в редакторе файл /etc/locale.gen

vi /etc/locale.gen

В этом файле нам надо найти строчку ru_RU.UTF-8 UTF-8 и удалить # стоящий перед ней (раскоментировать). После этого сохраняем файл и выполняем команду

locale-gen

В процессе генерации мы должны увидеть что в списке сгенерированных появилась та локаль которая нам нужна, в данном случае ru_RU.UTF-8. После этого возвращаемся обратно к конфигурационному файлу (Alt+F1, переходим на первую консоль).
Здесь вписываем значение LOCALE равное ru_RU.UTF-8.
Следующие поля вплоть до KEYMAP можно не трогать, так как их значения зависят от ранее выбранных параметров (часовой пояс и время). В KEYMAP же мы пишем ru.
CONSOLEFONT — шрифт в консоли. Для того что бы консоль поддерживала русские шрифты, нам необходимо поставить соответствующий шрифт — cyr-sun16.
Дальше проматываем файл вниз до interface, так как прочие настройки нам пока что не нужны. В interface мы прописываем eth0. В данном случае это говорит системе, что для подключения к интернету будет использоваться данный интерфейс и для него будет применяться DHCP. Если вам необходимо применить какие то специфические параметры, то тогда необходимо просто напросто вписать их в соответствующие поля, которые идут ниже interface.
В принципе на этом первоначальную настройку системы можно закончить, потому что всю остальную конфигурацию можно додлеать уже в процессе работы.
Единственное что нам еще надо сделать в данном меню, это установить пароль root доступа. Какой устанавливать, это уже полностью зависит от вашего вкуса и вашей памяти (потому что самое главное не забывать, какой же пароль вы поставили).
Install bootloader
Утсанавливаем загрузчик. В данном пункте я ничего не менял, и просто посмотрев конфигурационный файл, сохранил его и дождался конца установки. Возможно вам понадобиться раскоментировать строки, которые отвечают за добавление в GRUB возможности загрузки Windows, но данный пункт необходимо толко если вы собираетесь использовать обе операционные системы вместе.
На этом установка первоначальной системы заканчивается. Можно переходить к первой загрузке и настройке.
Первая загрузка
После перезагрузки нам надо будет или настраивать сеть заново (в случае если мы используем WI-FI) или же пользоваться сразу, если мы используем Ethernet и dhcp.
Если интернет соединение у нас уже установленно, то тогда мы можем перейти к обновлению системы. Но перед этим нам необходимо сделать пару действий.
Первым делом выбрать место откуда мы будем в дальнейшем ставить все необходимые пакеты и откуда будем обновляться. Для этого открываем в редакторе файл mirrorlist

vi /etc/pacman.d/mirrorlist

И там раскоментируем необходимые нам зеркала. Я обычно работаю с Яндексовскими зеркалами, хотя иногда на форумах Arch Linux можно прочитать что лучше использовать французкие, но так как у меня у самого не разу не было проблем с Яндексом, по этому  я использую именного его.
После этого необходимо обновить базу данных pacman’a (местный менеджер установки программ).

pacman-db-upgrade

После этого можно начинать обновление системы.

pacman -Syu

Вот только скорее всего после первого раза может выползти несколько ошибок. Одна из которых заключается в том, что pacman не может обновить файл отвечающий за файловую систему. Для того что бы обойти данную неприятность нам необходимо ввести следующую команду

pacman -S filesystem —force

Теперь можно снова обновлять систему, на этот раз все должно пройти так как надо.
Добавление пользователя
Все системы linux многопользовательские, как минимум это значит что при работе мы должны пользоваться своей собственной учетной записью, а учетную запись root мы должны использовать только для того, для чего она предназначена изначально — для управления и настройки системы в целом. По этому следующим шагом создадим пользователя, под которым мы и будем работать.
Делается это командой:

useradd -m -g [основная_группа] -G [доп._группы] -s [командный_интерпретатор] [имя_пользователя]

  1. -m создает домашнюю директорию пользователя /home/имя_пользователя. В этой директории пользователь может совершать любые действия с файлами и папками.
  2. -g имя или номер основной группы, к которой будет принадлежать пользователь
  3. -G список дополнительных групп в которых будет состоять пользователь.
  4. -s путь до командного интерпритатора, который использует пользователь для работы в системе
Список групп, в которые имеет смысл включить вновь создаваемого пользователя:
  1. audio - для задач управления звуком и музыкального программного обеспечения
  2. floppy - для доступа к флоппи-дисководу
  3. lp - для управления функциями печати
  4. optical - для доступа к приводам оптических дисков (СD, DVD, Blue-Ray)
  5. storage - для управления устройствами хранения данных
  6. video - для задач, связанных с видео
  7. wheel - для использования sudo
  8. games - для разрешения играм и группы games осуществлять операции записи
  9. power - для использования функций управления питанием (например выключение кнопкой power на корпусе)
  10. scanner - для использования сканера
Вот типичный пример создания пользователя с именем user:

useradd -m -g users -G audio,lp,optical,storage,video,wheel,games,power,scanner -s /bin/bash user

После этого нам надо задать пароль для вновь созданного пользователя
passwd user
После этого система попросит вас ввести пароль, который будет использоваться этим пользователем. На этом создание пользователя можно считать законченным.
Установка SUDO
Программа sudo служит для осуществления административных функций (например установка программ или удаление и изменение системных файлов) от лица обычного пользователя. Для того что бы ее установить надо ввести следующую команду
pacman -S sudo
Далее нам надо внести необходимые изменения в конфигурационный файл sudo. Для этого выполняем команду
visudo
В открывшемся файле находим строчку

#%wheel ALL=(ALL) NOPASSWD: ALL

И раскоментируем ее

%wheel ALL=(ALL) NOPASSWD: ALL

Сохраняем файл. Все теперь мы можем выполнять все необходимые действия залогинившись под созданным нами до этого пользователем.
Установка звука и видео
Для начала установим alsa

pacman -S alsa-lib alsa-utils

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

alsaconf

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

pacman -S xorg

Но вообще можно ставить только необходимые пакеты

pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils

После этих пакетов нужно поставить драйвера для видеокарты (если мы ставим сразу всю ветку xorg, то тогда этого делать уже не надо). Для начала нам надо узнать какая именно видео карта нам нужна, для этого вводим команду и смотрим что нам выведет в ответ:

lspci

Обычно используются дрова для встроенных карточек Intel

pacman -S xf86-video-intel

Или же для Nvidea

pacman -S nvidia nvidia-utils

Затем нам надо поставить dbus

pacman -S dbus

Для автоматического запуска при загрузке, необходимо добавить dbus в секцию DAEMONS вашего файла /etc/rc.conf:

DAEMONS=(syslog-ng dbus network crond)

(строка DAEMONS может отличаться от той что приведена тут, но самое главное что бы в ней содержался dbus).
На этом этапе первоначальную настройку системы можно считать законченной. Теперь осталось только поставить DE (desktop enviroment).
Установка GNOME
Как DE я выбирал GNOME. Бытует мнение что GNOME 3 это не торт. В общем то я с этим мнением даже согласен, от части. Но все таки как показывает практика, все зависит от того как систему приготовить. Если сделать все по правильному, то в итоге может получиться очень даже приемлемая и хорошая в использовании вещь.
pacman -S gnome
На это система выдаст нам довольно большой список пакетов которые можно поставить. Я выбрал все (потом просто удалял те которые мне не нужны). В принципе можно потратить чуть по больше времени и выбрать именно те которые будут необходимы вам.
После этого необходимо отредактировать файл /etc/inittab для того что бы при запуске системы у нас загружался gdm который бы потом запускал GNOME.
В inittab нам необходимо закоментировать строчку

id:3:initdefault:

которая находиться в самом начале файла и расокоментировать строчку

id:5:initdefault:

которая находиться чуть ниже, а затем почти в самом конце раскоментировать строку

x:5:respawn:/usr/sbin/gdm -nodaemon

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

Posted in Uncategorized | Tagged , , , , | 2 Comments

Обзор различных IDE и редакторов для программистов

За то время которое я посвятил веб-разработке, я перепробовал несколько программных продуктов предназначенных для набора кода программы, что сложило у меня некоторое своё мнение о том, что из себя должен представлять редактор.
  1. Самым главным критерием является наличие подсветки синтаксиса, в зависимости от того, какой язык используется. Казалось бы, это уже довольно обыденная потребность, но в обычном notepad, который под win этого конечно же нету. А в своё время я учился верстать именно с него.
  2. Вторым очень важным моментом, лично для меня, является возможность настроить внешний вид редактора. Сюда я включаю такие вещи как: возможность изменить цветовое оформление редактора (тему оформления), возможность отключить ненужные блоки и меню (мне нравиться когда на экране есть только необходимые мне элементы, а ещё лучше когда они появляются в ответ на мои действия по их запросу), ну и такие обыденные вещи как смена шрифта и возможность поставить или табуляцию или же нужное количество пробелов вместо табуляции.
  3. Авто подстановка скобок и кавычек. Это уже не такая необходимая вещь, но которая на самом деле сильно облегчает работу. Лучше всего что бы эта самая подстановка была более менее интеллектуальная и сама по себе отлавливала те случае когда надо поставить закрывающую скобку, а когда не надо и удаляла бы скобки и кавычки когда надо.
  4. IntelliSense, ну или просто авто подстановка набираемого текста. Лучше всего если она будет основана на fuzzyfinding (то есть подставлять нужные варианты даже при частичной ошибочности первоначального набора команды).
  5. Возможность расширения. Лучше всего если она реализована за счёт простого и общеупотребительного скриптового языка программирования.

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

Есть два вида программ, которые направлены на решения круга задач поставленного выше. IDE (Integrated Development Environment или Интегрирования Среда Разработки) и, так называемые, программистские редакторы.

IDE (Integrated Development Environment)

Хотя это и представляется единым программным продуктом, на самом деле это целый комплекс различных средств, направленных на ускорение и облегчение разработки ПО.

В основе своей включает в себя костяк из таких компонентов:

  • текстовый редактор
  • компилятор
  • средства автоматизации
  • отладчик

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

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

Программистские редакторы

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

И почему я считаю что данный класс ПО лучше чем полноценные IDE? Потому что они справляются с задачей редактирования куда как лучше и зачастую в многие разы «легче» и быстрее чем среды разработки. Ну и конечно же могут полностью быть настроены под себя.

Обзор программных продуктов

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

NetBeans

Это первая IDE с которой я столкнулся после того как понял что возможностей блокнота мне не хватает, а использовать такие штуки как Dreamweaver не самое лучшее решение (хотя бы потому, что они ужасны, это конечно же моё личное мнение).

Работает на базе Java, что делает эту программу кросплатформенной. Так же поддерживает все основные языки программирования: Java, C++, PHP, Ruby и конечно же HTML, CSS, JS. Так же при некотором шаманстве и поисках в гугле можно найти как подключить поддержку jQuery, что тоже есть очень хорошо.
Из обозначенных выше требований поддерживается почти все, кроме разве что fuzzyfinding, что конечно может являться недостатком, но явно не смертельным. Кроме этого есть поддержка очень удобной и адекватной работы с файлами по FTP.
Пожалуй самым большим минусом данной программы лично для меня является отсутствие плагина ZenCoding, который в моей повседневной работе практически незаменим.
Официальный сайт

Aptana (Eclipse)

Следующим был Eclise. Сама по себе данная среда мне не очень нравиться, но самым главным её преимуществом является модульность и расширяемость. Собственно самым большим расширением с которым я в основном и работал, была Aptana.

Если Eclipse в целом нацелен на разработку под Java, и работает так же на Java (следовательно кросплатоформенен), то Aptana это среда полностью нацеленная на работу с web (PHP, CSS, JS, HTML, Ruby on Rails). И надо признаться с этой задачей она справляется на очень высоком уровне.
Вот только — тяжеловата и временами глючит. Причём первый пункт коробит меня больше всего.
Eclipse — официальный сайт
Aptana — официальный сайт

PhpStorm (WebStorm)

Это один из двух коммерческих продуктов, о которых я упомяну в своём обзоре. Вообще, надо отдать должное — среди того что предсатвленно на рынке коммерческого программного обеспечения, продукты компании IDEA пожалуй самые лучшие. Соответственно их продукт PhpStorm, и облегчённая версия WebStorm выполняют свои функции на 5+. При всем при этом она ещё и кросплатформенна, так как написана на Java. Вот только есть один очень большой недостаток, который в общем то и «отвернул» меня от использования этой программы в повседневной работе. И этот недостаток — отсутствие модульности. Да есть возможность работать с Python и с Java, вот только проблема в том, что для каждого языка надо ставить свою версию программы. Если бы я работал только с 

PHP, то я бы не пожалел тех денег которых просят за данную программу (кроме всего прочего на сайте разработчика постоянно бывают всякие скидочные акции, что весьма приятно. Особенно приятно когда размер скидки доходит до 75% :) )
Страница продукта на сайте разработчика
Сайт компании разработчика

Notepad++

Это первый программистский редактор в моем обзоре. Модульность, подсветка для большого количества языков, постоянно развивается, есть плагин zen-coding. Настраиваемый внешний вид. Все при нем. Есть некоторые сложности с написанием плагинов и довольно небольшим их количеством, но это мелочи. Самый большой недостаток, который опять же не даёт пользоваться этим продуктом в повседневной работе — невозможность кросплатформенности. Работает Notepad++ только под Windows.

Сайт разработчика

gVim

Один из самых старых редакторов на «рынке». Доделан из совсем старого редактора vi. Может работать как в графическом варианте (gVim), так и в консольном (Vim). Имеет довольно странную и непривычную систему управления и работает на принципах модульности (просто таки огромное море всяких разных плагинов и улучшений), а так же режимности (для того что бы что-то изменить в файле, надо вначале перейти в режим редактирования). В своё время я довольно плотно сидел на этом редакторе, о чем нисколько не жалею. Даже и сейчас периодически хочется вернуться к нему. Правда и у него не без проблем. Основная из которых, это то что в основе написания плагинов, лежит свой скриптовый язык, что в общем то может быть и не плохо, но в то же время изучать ещё один язык, который к тому же имеет довольно узкую область применения. Но в то же время, для того что бы понять что такое настоящее gun-fu редактирования, ознакомиться с данным редактором крайне рекомендуется.

Официальный сайт
Страница на википедии

Emacs

Это ещё один старичок в моем обзоре. Так же как и Vim является очень мощным и почти полностью (в умелых руках наверное и почти) настраиваемым редактором. Имеет несколько разновидностей, самой распространённой на данный момент является GNU Emacs. Иногда некоторые считают его за «альтернаитвную» операционную систему и делают в нем почти все: просмотр почты, чтение новостей, редактирование текстов, и многое много другое. Как скриптовый язык для написания плагинов он использует язык lisp, который конечно довольно странный (на первый взгляд), но в то же время очень мощный и как раз таки позволяет превратить редактор в «альтернативную» ОС. Так же как и Vim может запускаться как в графическом так и в консольном варианте. Имеет чуть более интуитивный и понятный процесс работы, за счёт того что используется только один режим, с другой стороны «аккорды» которые зачастую приходиться выводить на клавиатуре не всегда удобны. Ещё из минусов хочу отметить тот факт, что настроить его куда как сложнее чем Vim, потому что рабочие плагины приходиться искать довольно долго, собирать их в кучу ещё дольше (причём зачастую их приходиться править под свои нужды).

Официальный сайт GNU Emacs
Emacs на википедии
Emacs Starter Kit — крайне советую к использованию. Облегчает первоначальную настройку программ просто таки в разы.

Sublime Text 2

На данный момент времени это мой основной рабочий редактор. Почему я отдал предпочтение ему? Во-первых это программистский редактор, следовательно его направленность именно на редактирование и работу с текстом (в общем то, с чем в основном и приходиться работать постоянно), во-вторых он довольно быстро развивается, в-третьих он выглядит новым, что тоже является немаловажным фактором (ещё из визуального стоит отметить тот факт, что в комплекте сразу же идёт моя любимая тема malokai). Ещё из приятных и очень приятных плюшек — довольно большое количество дополнений и язык Python в качестве инструмента для разработки дополнений. На самом деле я ещё долго могу описывать большую кучу преимуществ, но тут дело такое — лучше попробовать самому (взять ту же возможность мультиредактирования, которая на бумаге кажется какой-то не нужной фигнёй, пока не попробуешь её в реальном проекте, и не поймёшь, насколько это мощная штука).

Да, и конечно же, он кросплатформенный.
Официальный сайт
Репозиторий с пакетами — ставяться через Package Manager, который можно найти там же
Довольно неплохой набор советов для Sublime Text 2

На этой я хочу закончить свой небольшой обзор. Если у вас будут какие-то вопросы-то смело в комментарии =)

ЗЫ: И да, самое главное не то, какой инструмент я использую, а то, насколько умело я это делаю.

Posted in Uncategorized | Tagged , , , , , , , , , , , , , | 2 Comments

Типографская раскладка в Linux, на примере Ubuntu

Что это такое и зачем оно нужно?

Если вам по роду своей деятельности приходиться много печатать, особенно работая со специализированными отраслями, то вам приходиться сталкиваться с необходимость ставить различными «служебные символы», такие например как © (знак копирайта), ® (знак зарегистрированной торговой марки), — (длинное тире), «» (кавычки ёлочки, принятые в русской традиции пунктуации).
Конечно все это можно делать псевдосимволами, например копирайт ставить (с) таким вот образом, или длинное тире — (два цифровых тире, или знака минус), но лично на мой взгляд, это далеко не лучший вариант, он вносит некую толику неряшливости в текст, а это далеко не всегда приемлемо.
Есть такая замечательная вешь, как типографская раскладка Ильи Бирмана. Вот только одна проблема, она работает только в Windows и MacOS. Конечно для пользователей этих операционных систем это очень даже хорошо, потому что не нужно париться танцами с бубном (хотя кое какие настройки произвести все таки необходимо), а скачать и поставить эту раскладку.

В начале я думал что сделать такое же для Linux будет несколько проблематично, что как минимум потребуется долго править какие ни будь конфиги и при этом конечно же плясать с бубном, но нет, все оказалось куда проще.

Реализация

Все дело в том, что в Ubuntu, да и насколько я понял, во всех новых дистрибутивах данная функция включена по умолчанию, остается её только активировать, что делается ну очень просто.

  1. Заходим в настройки клавиатуры, и открываем параметры. (В Ubuntu 11.10 это делается через «Настройки» — «Клавиатура» — «Настройки раскладки» — «Настройки»
  2. Находим «Клавиша выбора 3-го уровня» и там выбираем ту клавишу, которая будет отвечать за активацию третьего уровня, в моем случае, это так же как и в раскладке Бирмана «левый Alt».
  3. Дальше находим «Разные параметры совместимости» ставим вторую галочку — напротив «Включить дополнительные типографские символы».

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

И в заключении

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

Что и где находиться в раскладке можно посмотреть довольно просто, все в тех же «Настройках раскладки».

P.S.: Так же хочу дать ссылку на один замечательный сервис, который довольно часто помогал, да и продолжает помогать мне в подготовке текстов, например к выкладке их на какйо ни будь сайт — «Типограф»

Posted in Uncategorized | Tagged , , , | 2 Comments

Настройка LAMP под Ubuntu 11.10

Установка и настройка LAMP на базе Ubuntu 11.10

В настоящее время я работу в операционной системе Ubuntu 11.10 и искренне считаю, что процесс разработки приложений (как направленных на веб, так и не направленных) в среде linux (к коему как раз таки и относиться Ubuntu) куда лучше продуман нежели в остальных системах. Да, у windows есть определённый ряд преимуществ, и бесспорно у макинтошей тоже есть большой ряд преимуществ, но это тема для отдельной статьи, которую я постараюсь осветить в ближайшее время.

Сегодня наш разговор пойдет о настройке Ubuntu для удобной разработки веб приложений, на базе связки LAMP (Linux, Apache, MySQL, PHP).

С чего начать?

И так, с чего же начать? Может быть имело бы смысл сказать — с установки Ubuntu (хотя можно и какого ни будь другого дистрибутива), затем изучения основ работы с семейством операционных систем linux, но я думаю что это излишне.

На самом деле все элементарно и просто:

sudo apt-get -y install lamp-server^

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

Теперь остался один маленький штрих — поставить phpMyAdmin, один из самых лучших и необходимых инструментов по управлению базами данных MySQL.

sudo apt-get install phpmyadmin

На этом моменте все должно работать. Если у вас возникли какие либо проблемы то стоит прочесть статью, ссылку на которую я дал выше, если же и там вы не найдете ответа, то тогда необходимо брать штурмом google и искать решения всех своих проблем. Но если установка осуществлялась на более менее чистую систему, то тогда проблем возникнуть не должно. Я в свою очередь столкнулся только с одной — phpMyAdmin не захотел по нормальному ставиться с первого раза. Проблема была в том, что Apache не видел конфига от phpMyAdmin’a. По этому я сделал ссылку на этот конфиг (который есть в папке phpMyAdmin).:

sudo ln -s /etc/phpmyadmin/apache.conf/etc/apache2/conf.d/phpmyadmin.conf

sudo /etc/init.d/apache2 restart

После этого все заработало именно так, как оно и должно работать.

Настройка

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

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

Следующий момент — создание сайта. Сайт конечно же будет виртуальный, но работать будет вполне реалистично, что нам в общем то и нужно.

  • Для начала нам надо скопировать стандартную конфигурацию которая есть в папке sites-available. Сделать это можно командой: sudo cp /etc/apache2/sites-available/default/etc/apache2/sites-available/MYSITE, где MYSITE это то название которое вы хотите дать файлу с конфигурацией сайта. Оно может быть как похоже на название сайта, так и совершеннейшим образом отличаться. Но все таки лучше делать похожие названия, что бы самому потом не путаться.
  • Далее необходимо отредактировать получившуюся копию стандартной конфигурации. Сделать это можно в вашем любимом текстовом редакторе, в моем случае это Emacs (пытливый читатель в этом месте может удивиться, но да, с недавнего времени я забросил изучение gVim и начал изучать Emacs, и я ни сколько не жалею об этом решении), хотя можно использовать gedit или nano. Пример: gksudo emacs /etc/apache2/sites-available/MYSITE
    • Измените DocumentRoot на то место расположение, в котором будут храниться скрипты для данного сайта. Например: /home/sergey/htdocs/MYSITE. Я специально делаю это в своей домашней директории, что бы было проще работать с файлами.
    • Заменить дериктиву Document, с на, в моем случае,
    • Добавляем дериктиву ServerName MYSITE, которая говорит серверу как будет называться наш сайт в коротком варианте
    • Сохраняем файл.
  • Следующим действием мы активируем созданный сайт. Делается это командой a2ensite, что расшифровывается как Apache 2 Eneable Site. sudo a2ensite MYSITE
  • Дальше необходимо отредактировать etc/hosts/ добавив к нему следующую строчку: 127.0.0.1 MYSITE, где 127.0.0.1 адрес локальной машины, а MYSITE соответственно название сайта который будет использован для локальной машины.
  • Теперь можно перезагрузить Apache: sudo /etc/init.d/apache2 restart

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

Posted in Uncategorized | Tagged , , , | Leave a comment