Принципы Эмерсона
Не так давно на хабре промелькнула заметка, в которой 12 принципов эффективности Эмерсона были адаптированы для улучшения личной производительности фрилансера. В какой-то степени принципы, сформулированные Эмерсоном, универсальны, и применять их можно во многих сферах деятельности. Ниже приведены мои соображения по каждому из 12-ти пунктов в рамках разработки программного продукта. Сразу стоит оговориться, что многие вещи тесно связаны с методологией разработки, используемой в команде.
Prefixr
Ещё один замечательный плагин для Sublime Text 2 - Sublime Prefixr
Этот делает написание кросс-браузерного css в разы легче. Лёгким нажатием
превращается в
На сайте плагина можно найти ещё много полезностей для Sublime Text 2, например, Package Control и Sublime Tortoise.
Этот делает написание кросс-браузерного css в разы легче. Лёгким нажатием
Ctrl+Alt+X
следующий код div {
transform: rotate(90deg);
}
превращается в
div {
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
На сайте плагина можно найти ещё много полезностей для Sublime Text 2, например, Package Control и Sublime Tortoise.
IE6. Зачем?
Нет, это не пост ненависти к IE6. Это пост удивления, чистого и неподдельного, возникающего каждый раз, когда я вижу в описании нового чудо-js-скрипта строчку типа
И вот он вопрос: ради этих шести процентов пользователей, которые с большой вероятностью даже никогда не посетят ресурс, использующий новый прогрессивный js-скрипт из эры HTML5, стоит, надрываясь хаками с преподвыпертами, встраивать поддержку ИЕ 6 в свой скрипт? Или это делается ради фразы cross-browser? Ради чего это?
"Cross-browser – supports Firefox №n+,
Internet Explorer 6+, Google Chrome №n+, Apple Safari №n+, Opera №n+..."
Какой IE6? Вы что, шутите? Что за некрофилия? Этому браузеру 27 августа будет 11 лет. Многие компании уже списали его со счетов: Google отказалась от поддержки в сервисах Google Docs, Google Sites, Google Apps, Youtube, 37signals в Basecamp, Highrise, Campfire и др. веб-сервисах, Wordpress, Вконтакте и другие, даже Microsoft в 2010 году (2 года назад!!!) уже сама активно начала рекомендовать пользователям отказаться от IE6, а в 2011 запустила обратный отсчет мгновений жизни ИЕ 6. И, несмотря на обилие других браузеров, несмотря на наличие новых версий того же Internet Explorer, до сих пор остается 6% (на июль 2012) регрессивного человечества, пользующегося мертвячиной. И вот он вопрос: ради этих шести процентов пользователей, которые с большой вероятностью даже никогда не посетят ресурс, использующий новый прогрессивный js-скрипт из эры HTML5, стоит, надрываясь хаками с преподвыпертами, встраивать поддержку ИЕ 6 в свой скрипт? Или это делается ради фразы cross-browser? Ради чего это?
Obsolete
В одном небольшом, но сложном проекте, в неком простом, но важном классе жил-был обычный, но востребованный метод. Шло время, старые баги закрывались, добавлялись новые фичи, и настал день, когда метод устарел. Однако несколько классов, написанных другим разработчиком, использовали его для своих тёмных делишек. “Разберусь с этим потом,” - подумал создатель метода, - “есть много дел поважне, чем эта ерунда,” Может быть, и закончилась бы эта история хэппи эндом, если б не ошибки в данных, которые начали материализовываться самым загадочным образом. Вот тогда-то и вспомнил хозяин метода про свой должок...
Субботнее чтение
Одна за другой попались две статьи о превращениях. В первой статье баг успешно превратился в фичу, во второй - наоборот. И, если баг хорошо вжился в новое амплуа, то фича, замеченная в столь неподобающем поведении, превратилась в пятно на репутации.
Первая (перевод). Непреднамеренная концепция или "одно маленькое упущение, случившееся 40 лет назад".
Вторая. ICollection<T> и массивы или "Why the hell some read-only collection implements the Add() method?"
Первая (перевод). Непреднамеренная концепция или "одно маленькое упущение, случившееся 40 лет назад".
Вторая. ICollection<T> и массивы или "Why the hell some read-only collection implements the Add() method?"
Zen Conding
Про то, что SublimeText 2 - мега крутая вещь, знает, наверно, каждый. Да, я тоже в восторге от этого редактора, незамедлительно включила его в свой арсенал разработчика и стала всячески обустраивать плагинами. И наткнулась на хвалебные песни о ZenCoding. Хм, что же это плагин? Сходим к проекту на github, почитаем реадми, проясним ситуацию:
This plugin will evetually replace current plugin: https://github.com/sublimator/ZenCodingКак-то понятнее не стало. Один Zen Coding заменяется другим. И хабр как-то не сильно прояснил ситуацию: смесь невалидного html и css. Что ж это за.... магия?
Подписаться на:
Сообщения (Atom)
Ярлыки
.net
(17)
.net framework
(4)
256
(1)
армагедон
(1)
Библиотека
(12)
видео
(1)
вконтакте
(1)
декомпилятор
(1)
задачки
(5)
итоги
(1)
кодировка
(1)
космос
(1)
маркет
(1)
монетизация
(2)
мысли в слух
(10)
обфускация
(1)
Оптимизация сайта
(1)
отдых
(3)
Ошибка 720
(1)
переводы
(5)
подкасты для разработчика
(3)
прибыль
(1)
приложение
(2)
Разное
(28)
разработка ПО
(31)
рефакторинг
(5)
скачивания
(1)
ссылки
(2)
статистика
(1)
юмор
(31)
Access
(1)
admin2012.ru
(1)
admob
(1)
AMD
(1)
android
(6)
android conventions
(1)
android studio
(1)
angular.js
(1)
ant
(1)
antipattern
(1)
atdd
(2)
autocomplete
(1)
backbone.js
(1)
background repeat
(1)
batch file
(1)
batman.js
(1)
bdd
(3)
bootstrap
(1)
bug
(1)
build
(1)
C#
(31)
clojurescript
(1)
codeigniter
(1)
coding style
(1)
coffeescript
(3)
components
(1)
css
(1)
Custom splash screen
(1)
DDD
(1)
DI
(1)
eclipse
(1)
facebook
(1)
gradle
(1)
hot keys
(1)
html
(4)
ide
(1)
IE
(4)
IE8
(2)
IoC
(6)
ion auth
(1)
jasmine
(1)
java
(3)
javas
(1)
javascript
(9)
jquery
(4)
jquery ui
(1)
justify
(1)
knockout.js
(2)
linq
(3)
localDB
(1)
massive
(1)
micro orm
(1)
mocha
(1)
mock
(1)
mono
(1)
monodroid
(1)
moq
(2)
mpress
(1)
ms sql ce
(8)
msswit2013
(2)
mvc framework
(1)
mysql
(2)
NetBeans
(1)
nodejs
(1)
nosql
(1)
npm
(1)
object db
(1)
opera apps
(1)
ORM
(2)
phonegap
(1)
php
(12)
phpunit
(3)
play market
(2)
qunit
(1)
RegExpr
(2)
require.js
(1)
samsung apps
(2)
screenshoot
(1)
sdk
(1)
Shortcut
(1)
Silverlight
(4)
singleton
(1)
slide me
(1)
soap
(2)
social network
(1)
spellcheck
(1)
SpicIE
(1)
sql
(3)
sqlite
(4)
style
(1)
SublimeText 2
(5)
Super Mario
(1)
svn
(1)
tdd
(14)
tddigest
(5)
testing
(7)
text align
(1)
Tools
(18)
torrents.ru
(1)
tortoisesvn
(1)
twitter
(1)
uml
(1)
unit testing
(5)
unity
(3)
usability
(2)
virus
(1)
visual studio
(7)
web services
(2)
Windows 7
(1)
xunit
(3)
ZenCoding
(2)
Копирайты
Авторские права на публикуемые материалы (кроме тех материалов, где явно указан источник) принадлежат автору блога (мне) и могут быть использованы где-либо еще только с моего согласия.
Блог о жизни вне кода
Постоянные читатели
Популярно
-
Понравился анекдот о колбасе и яйцах :) Жена посылает мужа-программиста в магазин: - Дорогой, купи, пожалуйста, палку колбасы, и если б...
-
Продолжаю серию постов о своём первом андроид-приложении. Сегодня мысли о публикации приложения в разных маркетах.
-
Бета-версия одиннадцатой cтудии вызвала много охов и ахов. Чтобы там ни говорили, работать в ней приятно, хоть по началу немного необычно. ...
-
Jquery.Inputmask - крутой (да-да, именно) плагин, добавляющий гибкости в работу с обычным текстовым полем для ввода. Плагин является ус...
-
Перевод поста "Top 10 Things That Annoy Programmers" Кевина Панга. Оригинал тут
-
Разделяй и влавствуй - подход на все времена. Концепция модульного программирования не нова, и хорошо себя зарекомендовала. В мире разрабо...
-
Фридман А.Л. - Основы объектно-ориентированной разработки программных систем. ( скачать ) Книга написана как учебное пособие для студентов ...
-
Steve Freeman, Nat Pryce. Growing Object-Oriented Software, Guided by Tests ( скачать ) Test-Driven Development (TDD) is now an established...
-
Для некоторых методов класса Microsoft Code Analysis даёт такой совет: CA1822 : Microsoft.Performance : The 'this' parameter (or ...