Съвети при преминаване към Ubuntu Linux
Минаха вече доста месеци откакто съм само и единствено на Ubuntu Linux. В момента се чувствам много добре – успях да вляза в „правата вяра“ изключително бързо и лесно. Може би защото съм Информатик, но не съвсем. Според мен всеки може да се оправи по-лесно на Ubuntu, отколкото на Windows, но това е друга тема.
Спомням си обаче какъв културен шок претърпях първия месец и то просто защото не знаех основни неща или по-точно ги бях забравил. Бяха изминали две години, откакто в университета учихме Linux, нормално е. От друга страна Microsoft ми бяха изкривили представите за света с пълната си липса на стандарти и култура.
Пак се разприказвах, та към идеята ми. В тази статия искам накратко да опиша какви са първите стъпки и промени, които правя на нова Ubuntu инсталация, за да заприлича и да се държи като познатата ни операционна система Windows. Това са изцяло мои виждания и мнение, което, разбира се, не е приложимо за всички.
1. Как да разкарам горния панел на Gnome?
Първото нещо, което прави впечатление под Ubuntu за човек, идващ от Windows, е допълнителния навигационен панел отгоре на екрана. Това е присъщо за MAC и Linux, но аз така и не можах да му свикна. Затова разкарвам горния панел и си слагам всичко необходимо в долния такъв. Десен бутон -> Delete This Panel.
На долния панел отключвам всеки един елемент по отделно – Десен бутон -> Премахване на отметката на Lock To Panel. След това си добавям необходимите ми джаджи – Десен бутон -> Add to Panel…. Отваря се списък със всякакви глезотии, които може да си сложите. След като добавите каквото искате, подредете бутоните – Десен бутон на елемента -> Move. Накрая пак заключвате елементите.
Лесно е, просто малко играчка. Ето как изглежда моят десктоп:
2. Смяна на темата по подразбиране
Ubuntu идва с една оранжева тема на графичната среда, която лично мен много ме дразни. По-точно това оранжевото дразни очите ми. Затова предпочитам да използвам стандартната синя тема на Gnome средата – Clearlooks. За целта щракаме с десен бутон на Desktop-а -> Change Desktop Background -> Theme -> Clearlooks.
3. Как се инсталират програми на Ubuntu?
Това беше за мен огромен проблем. Под Windows съм свикнал да си свалям .exe файлове и готово. Под Ubuntu е подобно, само че с .deb файлове. Но рядко се налага да търсите програми в Интернет и да ги инсталирате. Има много по-лесен начин – Start -> Add/Remove
Отваря се удобен и приятен интерфейс. В дясно са категоризирани всички налични програми. Много е важно от полето Show горе в средата да изберете All available applications. Иначе ще виждате само програми, които се поддържат от Ubuntu общността, а те не са ни достатъчни.
В тази хранилка има програми за каквото се сетите. Горе в дясно има удобна и ефективна търсачка. За упражнение, намерете и инсталирайте пакета „mscorefonts“. Той ще ни трябва в следващата точка. Слагате отметка на програмите, които искате и когато сте готови, натискате Apply Changes.
4. Как да си оправя шрифтовете в Интернет?
Това беше много трудна задача за мен. Решението е пакета „mscorefonts“, който съдържа всички стандартни шрифтове на Microsoft, като Ariel, Verdana, Times New Roman и други. За съжаление дизайнерите ги използват при форматирането на сайтове, а те са собственост на Microsoft и не вървят с Linux по подразбиране.
Ако този пакет не оправи шрифтовете напълно, тогава изпълнете следното: Десен бутон на Desktop-а -> Change Desktop Background -> Fonts и вижте коя от четирите опции за Rendering е избрана. Изпробвайте различни варианти спрямо вида на монитора Ви. За мен на лаптопа най-добре работи Best shapes.
5. Как да си пускам програми за Windows?
Нормално е, когато човек е свикнал с определени програми, да иска да си ги използва и под Linux. За мен такава програма беше Notepad++. Решението е Wine. Това е програма, която не емулира, а направо компилира и изпълнява програми за Windows на Linux система. Това означава, че програмата не работи по-бавно, напротив. След като инсталирате Wine, може да работите с .exe файлове както го правите под Windows.
6. Защо нямам достъп до някои файлове?
Ubuntu Linux е много добре организирана и защитена операционна система, затова достъпът да системните файлове е силно ограничена. Като цяло всеки файл си има собственик, който решава неговия достъп и права. Трудно е с няколко реда да се опиша всичко за файловата система на Linux, затова ще дам само насока – chmod. Не е препоръчително да се пипат файловете на системата.
Това са общо взето стъпките, които правя на Ubuntu, за да ми е удобен и приятен за работа. Ако ми се наложи да правя нещо под Windows – имам си Virtualbox. Лесно се работи с това чудо и общо взето Windows-a е наврян във файл, без собствен дял и особени права. От т.3 вече трябва да знаете как да си инсталирате Wine и Virtualbox. Лично аз така работя, ако някой има други съвети, да споделя в коментарите.
Оптимизация на динамични сайтове и скриптове
Не, този път няма да пиша за SEO оптимизация, както обикновено, а за един друг вид оптимизация, която пренебрегваме още по-често – оптимизацията на кода на даден сайт или скрипт. Тя е също толкова важен елемент от успеха на един сайт, колкото е и SEO оптимизацията.
Повечето хора си качват сайтовете на така популярния и удобен „споделен хостинг“. Но този хостинг е споделен и трябва да се спазва определена култура, когато се използва. Различните сайтове използват споделени ресурси и когато един сайт товари повече и заема повече памет, то това се отразява на всички други.
Рядко се налага един сайт да има толкова много потребители и изчислителни нужди, че да се наложи да работи на VPS или на собствен сървър. Последните ми разработки около referring sites скрипта ми доказаха, че един сайт с много изчисления и потребители може да се оптимизира и да хаби ресурси колкото обикновен блог.
Хората рядко мислят за оптимизация на програмите си. В днешния свят на постоянно развиващи се технологии, сякаш може с малко по-скъп хардуер да се подкара всяка една програма. В същност не е така – когато даден сайт започне да прави значителен брой посещения – тогава проблемът с ресурсите може да се реши само чрез оптимизация на скриптовете му.
Ето и някои основни принципи, без да се задълбавам:
1. Използване на функции, изискващи по-малко ресурси.
Примерно в PHP е много по-ефективно да се използват функциите strpos() и strstr() за търсене на низ в текст, отколкото функцията preg_match(). Последната е проектирана за регулярни изрази и заема много повече памет и ресурси. Проверявайте за всяка функция какво прави и дали няма по-добра алтернатива.
2. Минимизиране на връзките към базата данни.
Това може би е най-често срещания проблем при разработка на уеб скриптове – големият брой връзки към базата данни. Често начинаещите програмисти извикват връзка всеки път, когато им е нужна дадена информация. В повечето случаи има начин необходимата информация да се вземе предварително и наведнъж, и да не се занимава допълнително SQL сървърът.
3. Използване на индекси (кеширане) на SQL ниво.
Повечето системи за обработка на бази данни, като MySQL, поддържат така нареченото кеширане на колони. То е полезно, когато ще търсим в дадена колона или ще сортираме по нея. Примерно, ако имате колона client и често Ви се налага заявка от вида: „SELECT * FROM clients WHERE client LIKE ‘%Ivanov’“, то добавете индекс към client.
4. Кеширане на информация с цел избягване на повторни заявки
Става въпрос за класическото кеширане, при което примерно създаваме отделен HTML за всяка страница и го качваме на сървъра. При следващо извикване на съответната страница, не товарим базата данни със заявки, а просто зареждаме кешираното копие. При промени в скрипта, всичко се кешира на ново, което е много по-оптимизиран процес.
5. Използване на бази данни в трета нормална форма
Това е малко по-сложно за кратко обяснение, но идеята е да има повече малки таблици с външни ключове между тях. Целта е да се избягват служебно празни полета и/или повтаряне на данни в дадена колона. Така се пести място и многократно се ускорява работата на системата. В MySQL външни ключове се правят при основа InnoDB.
6. Използване на PHP или сървърния скрипт само където е необходимо
Може цяла една HTML или друга страница да се генерира чрез PHP, примерно, но това изисква много повече функции и ресурси. Изглежда и по-сложно. Затова сървърният скрипт трябва да се използва само там, където наистина има нужда от него. Примерно, за изписване на текст не е нужно да викате echo „Ала бала“;, а е достатъчно да си напишете текста.
7. Избягване на типове като BLOB в SQL системата
Много често с цел улесняване на дадена задача, ни е по-лесно да качим дадена снимка или видео директно в базата данни в бинарна форма. Това обаче е страшно натоварващо за системата. Много по-ефективно е да качим снимките/видеотата в директория и в базата данни да пазим само връзки към тях. А BLOB се използва само когато няма друг начин.
Това са основните моменти, за които се сетих. Разбира се, няма как да съм изчерпателен. Оптимизацията си е цяло едно изкуство, но винаги може да се оптимизира повече. Въпросът е къде е разумната и приемлива граница. Чрез избягването на най-често срещаните грешки се вдига ефективността многократно. Тук описах повечето от тях.



