Питай програмист #1

Стартираме нова рубрика – „Питай програмист“. Вълнувам се много, защото вярвам, че ще ти е полезна. Знам от опит как липсата на достатъчно технически познания може да ти подреже крилцата.

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

Марио Пешев е този добър човек и специалист, който ще ти помогне. Програмист, с дарбата да обяснява разбираемо, той е готов да отговори на твоите въпроси, да ти даде посока и ценни практически съвети.

Как да се възползвам от консултацията

1. Всяка последна сряда от месеца публикувам нов пост в рубриката „Питай програмист“.

2. Оставяш въпроса като коментар под поста.

3. Първите 7 коментара получават отговор от Марио Пешев до края на седмицата.

 

Дори не знам как да си формулирам въпроса, какво да правя!

Разбирам те напълно, ще се опитам да ти поскажа. Често чувам въпроси като:

  • „На какво/къде да си направя портфолиото”
  • „Какво съдържа заданието за изработка на сайт“
  • „Как да си определя бюджета за изработка на сайт или за ново софтуерно решение“.

Можеш да обясниш какви проблеми те спират да стартираш твоя сайт и да попиташ как да ги решиш.

Можеш да разкажеш с какви проблеми се сблъскваш, когато работиш с агенции и фрийлансъри по твой продукт или сайт и да обсъдиш решението им с Марио.

Можеш да го питаш как да избереш подходящия за теб партньор за разработване на сайт или продукт.

Надявам се, че съм успяла да те насоча. Аз самата ще следя рубриката с интерес. Сигурна съм, че ти и Марио Пешев ще помогнете и на мен, и на останалите фрийлансъри да научим нови неща.

Успешно питане, ползотворно отговаряне и благодаря за вниманието!

========

Марио Пешев е собственик на DevriX, една от водещите топ 20 агенции за комплексни WordPress решения в световен мащаб.
Той започва да се занимава с програмиране още в ученическите години и изгражда първия си статичен сайт през пролетта на 1999. Година по-късно продължава със софтуерни апликации за учебни проекти по физика и химия. От 2006-та година започва да води технически обучения в софтуерни фирми и университети в страната.

Марио (разгледай и личния му LinkedIn профил) е ръководил разработката на проекти за множество индустрии, включително автомобилостроене и банкиране. Води активно блога mariopeshev.com за бизнес развитие, маркетинг и технологии, както и странични проекти като No-BS Engineering подкаста за кариерно развитие на софтуерни инженери, съвместно с един от най-отличителните PHP инфлуенсъри Кал Еванс.

5 comments to “Питай програмист #1”
  1. Привет, тъкмо ми изникна ситуация, в която точно Марио може да помогне. 🙂

    В блог имам линкове към публикации и снимки в сайт, който вече се е преместил на друг домейн. Линковете са вътре в различни текстове. Твърде много са, за да се заменят ръчно един по един.

    Има ли начин това да се направи автоматично – с плъгин или чрез заместване в базата данни? В базата данни няма да пипам сама – ще го направи по-опитен в програмирането човек, но да знам какво да си поискам от него. Т.е, ОК е, ако отговорът е на по-високо от моето техническо ниво, макар и да не е на нивото на Марио. 🙂

    Мисля че на WordCamp преди години точно Марио говори за подобно заместване на стрингове в сайтове на WordPress, но нямам спомен какво точно беше решението, пък и не знам дали е още актуално. 🙁

    Успех на новата рубрика и поздравления за избора на първия гост-програмист! Той наистина е номер едно!

    • Мариана, благодаря за топлото посрещане 🙂

      Да, възможно е да се направи глобално презаписване на определени текстове из сайта в базата. На сървърно ниво стандартно се прави с т.н. WP-CLI, конзолният инструмент за опериране с WordPress, но това не е особено удобно за редовия потребител.

      В случая може да използваш плъгина Search & Replace от Inpsyde, Безплатен е и може да се изтегли от WordPress.org (или да се инсталира директно от административното табло на сайта). Плъгинът позволява да посочиш начален текст (стария домейн) и текст, с който да бъде направена подмяната (новия домейн), както и в кои таблици да оперира самия плъгин (могат да се изберат всички по подразбиране).

      Обикновено съдържанието се намира или в `_posts` таблицата, или в `_postmeta` (ако има плъгини като ACF или други полета извън стандартния редактор).

      Тъй като е опасна операция, определено се препоръчва да се тества на staging сървър първо или локално от програмист, както и да се направи архив на базата за всеки случай. Някои домейни могат да съвпадат с други популярни думи в езика, което теоретично може да замени и грешни неща, ако не се сформира подходящо правило за подмяна.

      Може да пишеш допълнително, ако не е ясно или имаш колебания 🙂

      • Много благодаря, Марио!
        Ако и други този въпрос ги интересува, искам да обърна специално внимание на предупреждението на Марио “Не правете това у дома!” 😉 Аз самата обичам да се презастраховам и правя пълно копие на сайта, преди да пипам по него.

  2. Здравейте! Бих искал да Ви попитам за сайта ми http://www.karaisen.com следното:
    Ако го отворите през мобилен телефон се вижда, че текстовете в сайта се разделечават и има разстояние между думите, но при завъртян телефон или през компютър това не се наблюдава. Дали това е защото темата не поддържа мобилна версия? Има ли вариант това да се оправи? Дали не може да се оправи чрез някакъв plugin за пренасяне на думи и ако да, какъв бихте препоръчали? Благодаря!

    • Привет, Пламен,

      Тествах няколко страници на два телефона и при мен ефектът не е силно забележим, т.е. откроява се на определени места в дадени параграфи.

      За жалост, това е често срещан казус, когато се използва двустранно подравняване на текста (Justify). Когато има поредица от дълги думи в тясно текстово поле, подравняването изисква ефективното запълване на рамката в началото и края на текста, което довежда и до по-дълги разстояния в средата.

      Вариант №1 е да не се използва такова подравняване. В доста американски медии това вече е факт (именно поради подобни проблеми).

      Вариант №2 е да се потърси друг шрифт, който е по-сбит. Така могат да се редуцират ситуациите, в които по-дълги думи не могат да се съберат на горния ред.

      Вариант №3 е да се намали размера на шрифта. Нито една от опциите не е идеална, но по-малък шрифт също би позволил за повече опции за събиране на текста на един ред. Има вариант за глобалното намаляване на разстоянието между думите с CSS с т.н. “word-spacing” свойство, но пак могат да се получат други ситуации в други части от текста.

      Вариант №4 е лека редакция на текста само на местата, които водят до по-големи дупки. На таблет или компютър не би трябвало да има значение след промяната, но на мобилен телефон ще се види. Под редакция нямам предвид ръчно добавяне на тирета (защото това варира между различни размери на екраните и мобилни операционни системи), но използване на по-кратки думи или словосъчетания, когато се натрупат повече дълги такива.

      Вариант №5 е изключването на подравняването за конкретен параграф. В кода изглежда, че е активирано за всеки параграф отделно, което би трябвало да позволява изключване за по-проблемни такива (отново не е идеално решение).

      В английския е по-лесно, защото има по-добра поддръжка на т.н. “wordwrap” (разделянето на думите) или “hyphenation” (друг вид разделяне с тире). Някои браузъри вкарват поддръжка и за други езици (с hyphens свойство), но аз не съм срещал работещо решение за български, тъй като самата граматика трябва да се организира на ниво браузъри, за да се спазват съответните правила във всички случаи (което изисква работа).

      За жалост е популярен казус с двустранно подравняване и дълги думи, не е конкретен проблем с WordPress, но редактори като Microsoft Word са малко по-добре развити и имплементират hyphenation добре и на български език.

Leave a Reply

Your email address will not be published. Required fields are marked *