Search
Write a publication
Pull to refresh
0
0
flyfree @flyfree

User

Send message

Сон и продуктивная деятельность

Reading time8 min
Views106K

Вступление


Доброго времени суток, %habrauser%! Думаю, в этой статье я не открыл ничего нового. Просто меня самого заинтересовала тема продуктивного сна. Несколько последних лет я был приверженцем мнения, что сон – это бесполезная трата времени, к сожалению необходимая организму. И посему, я максимально старался сократить время сна. Но чем больше я это делал, тем больше я начинал походить на зомби. И тогда я стал искать альтернативу. И результатом обобщения всей найденной мной информацией и стала эта статья. Итак, поехали!
Читать дальше →

asp.net: Entity Framework, одно из отличий от LINQ to Sql

Reading time2 min
Views13K
Этой статьей хотел бы открыть цикл статей по Entity Framework. В дальнейшем планирую постить результаты своего опыта в процессе использования EF, а пока я приведу вольное изложение интересной статьи на тему «Чем отличается LINQ to SQL от Entity Framework».
Читать дальше →

Расширения Firefox для веб-разработки на все случаи жизни

Reading time6 min
Views57K
Исторически сложилось так, что Firefox пользуется широкой популярностью среди веб-разработчиков благодаря его расширяемости через подключение всевозможных плагинов и дополнений, написанных сторонними разработчиками. Идея выделения функционала в расширения позволила решать массу всевозможных задач прямо в браузере, не прибегая к внешним инструментам.

Безусловно в этом списке вы обязательно найдёте уже знакомые расширения, однако огромный пласт полезных расширений всегда остаётся в стороне. Так что приготовьтесь установить ещё парочку расширений! :)

Встроенные инструменты разработки в Firefox


Перед началом списка было бы неправильно не упомянуть об инструментах, уже встроенных в Firefox. Здесь речь идёт о тех самых инструментах разработки в Firefox Aurora 10 и том функционале, который сегодня можно найти в любом современном браузере.

При разработке интерфейса этих инструментов было перепробовано множество подходов и решений. В результате получился довольно приятный интерфейс, который любой желающий может испробовать, установив Firefox Aurora (хм, вы ещё его не поставили?)



Ну а под катом вас ждёт огромный перечень расширений, который обязательно окажется полезным для любого веб-разработчика.

Читать дальше →

Идеальная архитектура

Reading time4 min
Views60K
Существует много разных взглядов на разработку архитектуры и дизайна современных приложений. Некоторые архитекторы стремятся продумать все до мелочей, разрисовать use case-ы всех классов и модулей, проанализировать миллион возможных способов их использования, все их обязательно задокументировать и уже потом приступить к этапу кодирования.

Другие, наоборот, считают, что «думать уже поздно» и давным-давно пора «делать», поэтому они кидаются на баррикады с криками «Ура», выдавая на гора тонны никому не нужного кода. Как и любая крайность, такой подход не приводит ни к чему хорошему. Но, как и во многих других случаях, существует промежуточный вариант, когда проектированию и архитектуре уделяется должное внимание, когда они не ставятся во главу угла, а используются для выявления правильных абстракций и поиска компромиссов в противоречивых требованиях заказчика.

Читать дальше →

JavaScript для чайников. Всё что вы хотели знать о функциях но боялись спросить

Reading time4 min
Views25K
Как-то незаметно для себя, я решил отойти от возни с классами и паттернами, и разобраться с самыми обычными Js функциями. Думал, что будет достаточно скучно, но ошибся — оказалось очень даже интересно.

В этой статье я расскажу об особенностях объявления функций, и некоторых полезных паттернах (кхе-хе, да, они есть и тут)

Читать дальше →

Страх VS Жадность в стартапах

Reading time6 min
Views1.2K

Скоро Новый год. Хорошие дети, которые были умничками весь год, обязательно получат от Деда Мороза подарки. Плохие дети пойдут лесом. И, конечно же, старец на северных оленях не забудет всех стартаперов и принесет им много, много инвестиций. Не меньше миллиона долларов. Да и попросит за это один процент будущего бизнеса…
Читать дальше →

Хорошие и плохие контракты

Reading time4 min
Views3.5K
Хоть мы тут в большинстве своем и не юристы, но с договорами, думаю, сталкивались все. Как минимум, это договор аренды квартиры, договор о предоставлении тех или иных услуг, трудовой договор и так далее. При этом, считается вполне нормальным, что документы эти представляют из себя «темный лес» терминов, за которыми едва ли видна сама суть соглашения.

90% контрактов, с которыми я сталкивался, это никуда не годная макулатура. Они многословно и вычурно описывают то, что и так понятно всем, обходя вниманием важные аспекты. Очень редко встречаются хорошие документы, которые действительно страхуют риски обеих сторон и мотивируют их выполнять свои обязательства.
Читать дальше →

«Классические» friendly url в ASP.NET MVC

Reading time4 min
Views6.2K
image
Речь в топике пойдет о том, как сделать ссылки типа www.site.com/helloworld в ASP.NET MVC-приложении. Слышу возмущенные возгласы «зачем это надо?» и «чем тебя не устраивает нормальный человеческий роутинг?» и у меня по этому поводу заготовлен ответ.

Дело в том, что наш проект переезжает на MVC с Web Forms, и контекстная реклама уже давно оплачена. Routing — прекрасная вещь, однако, учитывая, что сайт состоит не только из приземляющих страниц, мы не можем так по-хитрому его настроить, чтобы продолжали работать и обычные MVC-ссылки /Controller/Action, и наши невероятно дружественные URL'ы. Причина проста: дефолтный роутинг ("{controller}/{action}/{id}", new { controller = "Default", action = "Index", id = UrlParameter.Optional }) предполагает значения по умолчанию, поэтому при обращении к www.site.com/helloworld нас попытаются перекинуть на контроллер helloworld в экшн Index.
Печаль.
Придется что-то делать. Причем вариант с созданием контроллера для каждой ссылки нас явно не устроит — их тьма, да и в целом это порнография, правда?

Мы пойдем другим путём. ©
Читать дальше →

Хотите построить успешный бизнес в сфере программных продуктов?

Reading time7 min
Views4K

С чего начать свой бизнес?


Наверняка многие программисты ответят, что с хорошего кода и идеи, менеджеры — идеи и бизнес-плана, художники — вдохновения и т.д. Мнений, как видите, много, но на самом деле самым верным решением будет построение бизнес-модели (возражения приветствуются, но, желательно, на своем примере и после прочтения поста до конца).

Методик масса, лично я считаю наиболее полезной Business ModelCanvas, но не настаиваю. Всем, кто только начинает свой бизнес, рекомендую попробовать заполнить canvas, а всем, кто уже вовсю работает, и может быть даже зарабатывает, предлагаю проверить свою бизнес-модель с помощью восьми вопросов от Алекса Остервальдера.
image
Читать дальше →

Конкурсные работы на конкурсе нового дизайна LiveStreet CMS

Reading time1 min
Views2.2K
Не так давно мы анонсировали «Конкурс на новый дефолтный дизайн LiveStreet CMS». Вчера закончился прием заявок на участие и мы хотим представить хабрапользователям все варианты дизайнов, участвующие в конкурсе. Нам интересно ваше мнение.

Всего было подано 34 заявки.
Все картинки кликабельны на оригиналы.

Вариант 1 (grombzz, Static):



Вариант 2 (deniart, Yeti):



Под катом все 34 варианта

В каждом .net приложении резервируется память для трех исключений

Reading time2 min
Views4K
На выходных заходил я к своему другу new_s в гости и он показал мне интересную вещь. Ему по работе нужно было анализировать дамп памяти .net приложения, где он искал утечки памяти и другое аномальное поведение и показал мне, что при старте любого .net приложения окружение резервирует память для трех исключений:
  • ExecutionEngineException
  • StackOverflowException
  • OutOfMemoryException

И это нормальное поведение. Почему?
Читайте дальше...

ООП в JavaScript

Reading time4 min
Views40K
Хочу представить вам функцию-конструктор классов createClass.
Чем хорош этот конструктор:
1. Сам код выглядит более читабельным и понятным
2. Поддержка множественного наследования
3. Поддержка абстрактных методов
4. Наследование статических методов и свойств класса
5. Умный метод instanceOf (проверяет по всей цепочке классов)
Читать дальше →

JavaScript паттерны… для чайников

Reading time8 min
Views181K
Однажды вечером, сразу после того, как я закончил разбираться с наследованием в JS, мне пришла в голову идея, что пора бы заняться чем-нибудь посложнее — например паттернами. На столе внезапно оказалась книжка Gof, а на экране ноутбука появился труд с названием «JavaScript patterns».

В общем, спустя пару вечеров, у меня появились описания и реализации на JavaScriptе самых основных паттернов — Decorator, Observer, Factory, Mediator, Memoization (не совсем паттерн, а скорее техника, но мне кажется что она прекрасно в этот ряд вписывается) и Singleton.

Читать дальше →

Javascript примеси для чайников

Reading time3 min
Views32K
После того, как с классическим (от слова класс) наследованием в JS стало вроде-бы все понятно, я решил разобраться с реализацией другого способа повторного использвоания кода — примесями. Несмотря на довольно непривычное название, способ этот чертовски прост.

Читать дальше →

Создаем оригинальные hover-эффекты при помощи CSS3

Reading time10 min
Views108K


Мощь CSS3 огромна и в этом уроке вы сможете увидеть, как использовать его креативно. Мы собираемся создать несколько эффектов при наведении курсора мыши с помощью CSS3 transitions. При наведении курсора на эскиз будет показываться описание миниатюр, с использованием различных стилей в каждом примере.

Пожалуйста, обратите внимание, что эти примеры будут корректно работать только в современных браузерах, которые поддерживают свойства CSS3.
Читать дальше →

Основы и заблуждения насчет JavaScript

Reading time9 min
Views55K

Объекты, классы, конструкторы

ECMAScript, будучи высоко-абстрактным объектно-ориентированным языком программирования, оперирует объектами. Существуют также и примитивы, но и они, когда требуется, также преобразуются в объекты. Объект — это коллекция свойств, имеющая также связанный с ней объект-прототип. Прототипом является либо также объект, или же значение null.
В JavaScript нет привычных классов, но есть функции-конструкторы, порождающие объекты по определенным алгоритмам (см. Оператор new).

Прототипное делегирующее наследование


Классическое наследование очень похоже на то, как люди наследуют гены своих предков. Есть какие-то базовые особенности: люди могут ходить, говорить… И есть характерные черты для для каждого человека. Люди не в состоянии изменить себя — свой класс (но могут поменять собственные свойства) и бабушки, дедушки, мамы и папы не могут динамически повлиять на гены детей и внуков. Все очень по земному.

Теперь представим другую планету, на которой не такое как на Земле генное наследование. Там обитают мутанты с «телепатическим наследованием», которые способны изменять гены своих потомков.
Разберем пример. Отец наследует гены от Дедушки, а Сын наследует гены от Отца, который наследует от Дедушки. Каждый мутант может свободно мутировать, и может менять гены своих потомков. Например у Дедушки был зеленый цвет кожи, Отец цвет унаследовал, Сын тоже унаследовал цвет. И вдруг Дед решил: «надоело мне ходить зеленым — хочу стать сними», смутировал (изменил прототип своего класса) и «телепатически» распространил эту мутацию Отцу и Сыну, вобщем посинели все. Тут Отец подумал: «Дед на старости лет совсем двинулся» и поменял свой цвет в генах обратно на зеленый(изменил прототип своего класса), и распространил «телепатически» свой цвет сыну. Отец и Сын зеленые, Дед синий. Теперь как бы дед ни старался Отец и сын цвет не поменяют, т.к сейчас Отец в своем прототипе прописал цвет, а Сын в первую очередь унаследует от Прототипа Отца. Теперь Сын решает: «Поменяю ка я свой цвет на черный, а моё потомство пусть наследует цвет от Отца» и прописал собственное свойство, которое не влияет на потомство. И так далее.
Читать дальше →

Справочник, посвященный тонкостям JavaScript

Reading time1 min
Views3.6K
JavaScript Garden — справочник на английском, посвященный тонкостям JavaScript.

Из него я, например, узнал, что массивам можно задавать length:
var list = [1, 2, 3, 4, 5];
list.length = 3;
console.log(list); // => [1, 2, 3]
Читать дальше →

JavaScript F.A.Q: Часть 2

Reading time14 min
Views76K
image

Около 2-х месяцев назад я и TheShock собирали вопросы по JavaScript в теме FAQ по JavaScript: задавайте вопросы. Первая часть, те вопросы, которые достались мне, появилась буквально через несколько дней JavaScript F.A.Q: Часть 1, а вот вторая часть все не выходит и не выходит. TheShock сейчас переезжает в другую страну и поэтому ему не до ответов. Он попросил меня ответить на его часть. Итак вторая часть ответов — те вопросы, которые достались тоже мне.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity