SVN + SSH Access Log to GrayLog

Log SVN Access to a Central Location

Today I was searching the web for ways to log access to our Subversion repositories. It turns out, that there is no built-in straightforward way to do that. Most of the posts on the Web suggest using the Apache’s access log. This could work only if you have set-up WebDAV on your Apache server. We prefer to use SSH tunnels to access our repositories for many reasons, overhead being one of them.

So I took another run and ended up reading Kintoandar’s blog. He explains a rather simple way of making SVN log every access to the repository. It is based on svnserve, which is called every time a connection to the repository is made. The command itself supports logging, but the optional parameter for using log files is rarely used. Continue reading “SVN + SSH Access Log to GrayLog”

Курс по английски в Лингуа Мунди

Преди по-малко от месец завърших успешно ниво Upper Intermediate (B2) в школата “Лингуа Мунди” гр. Пловдив. Впечатленията ми от курса са положителни, но да разкажа и малко по-подробно за плюсовете и минусите:

Нещата, които ми харесаха:

  • преподавателката говореше само на английски език.
  • учебниците са по нови системи за обучение с много упражнение с говорене.
  • граматиката е ясно обособена и добре поднесена.
  • изцяло интерактивнa е учебната стая: прожектор, touchscreen дъска, видеа, компакт дискове с уроците.

Нещата, които можеше и да са по-добре:

  • тестовете са прекалено лесни с цел да няма пречки да запишеш следващото ниво.
  • неудобни са часовете на курсовете за сертификати (Cambridge, TOEFL, IELTS, etc).

Като цяло препоръчвам школата заради учителския състав, методите на обучение и отношението им!

Continue reading “Курс по английски в Лингуа Мунди”

Modernizing Legacy Applications In PHP

Modernizing Legacy Applications In PHP

Тази книга описва необходимите стъпки за модернизирането на остаряло приложение. Дава добро описание на понятието “legacy”, както и защо трябва да бъде модернизирано. Самите стъпки са добре подбрани, макар че ми се искаше примерното приложение в книгата да придобие още по-завършен вид. В крайна сметка крайният резултат доста наподобява това, което представляват повечето модерни MVC frameworks, но в по-опростен вариант. Истинската полза от изброените стъпки е това, че се разбира защо е необходимо да се предприемат, обяснени са подробно, както и след всяка глава има въпроси и ситуации, които могат да възникнат. Това, което ми липсва, обаче са неща, които са споменати в книгата като възможно развитие, но изрично е посочено, че няма да бъдат описвани и са дадени препратки към други материали по темата. Това са неща като testing frameworks, data mapper / active record database patterns, domain driven design. Липсва ми и отделна глава относно конфигурация на приложението за различни среди (само се споменава), както и error handling. Има и неща, които са излишни и идват в малко повече (споменават се почти във всяка глава): как и какво точно да търсим в кода на целия проект когато се заменят разни структури; кога да направим commit и да известим QA отдела; кога да искаме помощ или какво да кажем на operations отдела за промени по конфигурацията на сървъра и др. Като най-полезни мога да определя четири от стъпките, които виждам доста често, че се пренебрегват при разработката на приложения или просто не са усвоени: 6. dependency injection, 7. tests, 16. dependency injection container.

Continue reading “Modernizing Legacy Applications In PHP”

Pro PHP Security

CoverКнигата се опитва да опише всички основни концепции, които е нужно да разбираме до поне някаква степен, за да се подсигурим, до колкото е възможно (тъй като се твърди, че абсолютната безопасност е близка до невъзможното), че личните данни ще останат лични, че ще избегнем излишно изразходване на ресурси и че не злоупотребяваме с хората/машините които ползват нашите услуги. Oбхващат се много важни и интересни теми като валидиране на потребителски данни, SQL инжекции, Cross-Site скриптинг, Remote execution, кражба на сесия и обезопасяване на мрежови връзки (SSL, SSH), които смятам, че са задължителни знания за всеки програмист, който работи с уеб приложения.

Continue reading “Pro PHP Security”

Modern PHP

catКнигата е по-скоро нещо като ревю на новостите в PHP. В началото разказва повече за новите характеристики на PHP >= 5 като (Namespaces, Traits, Generators, Closures). Минава през PSR стандартите, използването на компоненти и удобството да използваш Composer, добрите практики при създаването на PHP приложения, проследява целия процес по създаване на PHP приложение (Hosting, Provisioning, Tuning, Deployment, Testing, Profiling) и накрая завършва с може би най-интересната за мен част – HHVM и Hack и влиянието им върху PHP. Повечето от нещата в книгата са известни за хората, занимаващи се с програмиране, но се дава една базисна насока при създаването на нови приложения.

Continue reading “Modern PHP”