Enter и Backspace са ми едни от най-трудните клавиши за натискане. Докато се опитвам да минимизирам употребата на втория, първия е задължителен. Натискам с извиване на китката (без да си местя ръката) за да не изтърва home row-а. Това не е никак здравословно – проблемите ми с ръцете започнаха когато правих това на по-голяма клавиатура.
От известно време нося накитници, които ми държат китките изправени и не ми позволяват това движение. Така се налага да местя цялата ръка. Освен че е досадно, така да изпускам home row-а. За щастие, в повечето среди има решение.
Още…
7 коментара
Често има любопитни имена в компютърните неща. Може би знаете vi. Там, например, има следната команда:
s/foo/bar/
Това замества първото срещане на foo с bar в текущия ред. Съществува и по-обща версия – g:
g/something/s/foo/bar/
Това замества foo с bar на редовете, които съдържат something. Демек, g приема шаблон и команда, която прилага на всички редове, в които шаблона съвпада. Ето как може да изтриете редовете, съдържащи something:
g/something/d
Тези неща идват от един още по-архаичен текстов редактор – ed. Там има команда p, извеждаща всички редове, в които шаблона съвпада. Но все пак, ето как да изведете всички редове от текущия файл, съдържащи something:
g/something/p
Впрочем, something е регулярен израз – „regular expression“, често съкращавано като „re“. Общия запис на командата е:
g/re/p
И ето откъде идва името на една от най-използваните shell команди в POSIX света.
Забавно, а?
8 коментара
Има нещо некомфортно в тезата „всичко е обект“. Ето едно любопитно разсъждение, на което попаднах наскоро (в Clean Code, която препоръчвам):
Обектите скриват данните си зад абстракции и предлагат функции, които работят с тях. Структурите предлагат директен достъп до данните и нямат смислени функции. На практика са противоположности.
Изтъркан пример в Ruby:
Още…
17 коментара
Това е първият от цикъл постове за test-driven development и автоматизирано тестване.
Има ред причини да пишем тестове — по-лесна поддръжка, документация, дори по-добър сън. Несъмнено сте чували повечето. Но ето една по-рядка — мързел.
Още…
1 коментар
На P2P говорих за test-driven development. Бях изненадан от резултата. Предполагах, че ще ме замерят с домати задето предлагам странни — дори радикални — идеи. Вместо това слушателите бяха любопитни. Имаше много въпроси. Мога само да се радвам, че темата ми породи такъв интерес. И да направя малък експеримент.
Още…
1 коментар
Научавате за нова практика. Design patterns, mock обекти, Selenium или дори функционален език за програмиране. Около нея се вдига доста шум. Ред опитни хора твърдят, че е добра. Прекарвате няколко дни — дори седмица — в експерименти. Евентуално откривате, че не ви дава обещаната отплата.
Тук може да направите два извода. Единият е тази практика не работи. Другият е прилагам я грешно. Почти без изключения мога да категоризирам всичките си познати колеги в един от двата лагера. Почти без изключения, тези във втория са по-добрите програмисти. В крайна сметка, кое е по-вероятно? Опитните занаятчии в областта да грешат или да прилагате нещо, което едва сте разбрали, грешно? Докато първото се случва понякога, опита ми показва, че второто по-често е вярното.
За това търся проблема първо в себе си. В крайна сметка, „select“ Isn’t Broken.
2 коментара
Линкове от презентация ми на WebTech:
Книги
Надявам се да ви е харесало. Коментари са добре дошли.
5 коментара
Всеки знае какво е проста рекурсия. Тривиално е. Далеч по-любопитно е когато рекурсията е индиректна. Намерих интересен линк по темата на блога да dzver.
7 коментара
Разглеждах книги в книжарницата. Видях няколко за Java и ми се прииска да ги купя. Това ме изненада — от почти две години не пиша на Java. Запитах се защо и открих, че храня много прияти спомени от това време. Не мисля, че бих започнал нов проект или бих се хванал на работа с Java. Но съм научил много неща покрай него. И продължавам да научавам. Нека обясня.
Още…
2 коментара
OpenFest наближава. Всъщност, твърде близо е. Толкова близо, че не разбирам защо чак сега пиша. Идния уикенд, демек. Ако не знаете — това е яка ежегодишна конференция, посветена (най-общо) на отворения софтуер. Атмосферата обикновено е страхотна, хората са готини и темите са интересни. Със сигурност ще има какво да научите. Входът е напълно свободен. Няма да има live video streaming — ако сте от столицата, не си търсете оправдания, а направо заповядайте.
Ще имам презентация и половина.
Още…
1 коментар