Pull to refresh
0
0
Nikolay @w1z

Пользователь

Send message

Краткий конспект по языку JavaScript

Reading time15 min
Views113K
Я —.NET разработчик. Но в последнее время всё чаще сталкиваюсь с JavaScript. Причём, процентах в 50 случаев я что-то на нём пишу, в остальных 50 — разбираюсь с чужим кодом, да ещё и прошедшим через минификацию, а иногда и обфускацию. В этой статье захотелось поделиться теми моментами, которые мне показались важными для понимания языка и эффективной работы с ним. Тут не будет ничего нового или неизвестного для людей, уже имевших дело с языком, и не будет чего-то такого, чего нельзя найти в других источниках. Для меня статья будет полезна как способ лучше разобраться в предмете, для читателей, я надеюсь, — как повод освежить знания.

Брендан Айк упоминал, что JavaScript был создан за 10 дней. Думаю, идея вынашивалась дольше. Как бы то ни было, язык получился и с тех пор только набирает популярность. Особенно после появления AJAX.

JavaScript — язык со слабой динамической неявной типизацией, автоматическим управлением памятью и прототипным наследованием.

JavaScript состоит из трёх обособленных частей:

  • ядро (ECMAScript),
  • объектная модель браузера (Browser Object Model или BOM),
  • объектная модель документа (Document Object Model или DOM).


В статье, в основном, пойдёт речь о ядре. Конечно, в примерах кода будут использоваться элементы DOM и BOM, но заострять на них внимание не буду.
Читать дальше →
Total votes 75: ↑65 and ↓10+55
Comments20

Пишите чистый код с Реактивными Расширениями (Reactive Extensions)

Reading time6 min
Views70K
Если у вас есть некий процесс, который может выполняться долго и возвращать несколько промежуточных результатов с течением времени, то Реактивные Расширения (.NET Framework Reactive Extensions) позволят вам упростить код и лучше управлять им.

чистый код с реактивными расширениями

В большинстве случаев вы просто вызываете метод и получаете результат на выходе. Но некоторые процессы устроены по-другому. Например, метод может выполняться в течение продолжительного промежутка времени. Или, что хуже, метод не только выполняется долго, а ещё и нерегулярно возвращает какие-то промежуточные результаты во время исполнения. Конечно, в том числе и для этого, в .NET Framework есть события, с помощью событий один объект может вызвать метод второго объекта, передавая некоторую информацию, в тот момент времени, когда это необходимо.

Но есть решение этой проблемы по-лучше, чем использования событий, — Реактивные Расширения. Если у вас есть процесс, работающий долго и время от времени возвращающий промежуточные результаты, то Реактивные Расширения помогут вам обрабатывать такие результаты всякий раз, когда они приходят. Код от использования Реактивных Расширений вместо событий не только становится проще, но вы ещё получаете более богатую функциональность (например, вы можете использовать LINQ для отсеивания любых ненужных данных).
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments11

Как облегчить себе жизнь в Xcode. Shortcuts, tips&tricks

Reading time2 min
Views60K
image
Эффективная работа в любой IDE, да и не только в IDE, определяется в немалой степени тем, как много вы используете клавиатурных сокращений и всяческих фич, призванных облегчить вашу жизнь.
В этом посте я попытаюсь поделиться тем, что знаю и использую сам, что накопалось в сети но так же очень рассчитываю на вашу помощь. Поделитесь своими находками и трюками. По результатам думаю сделать какой-то PDF, вроде известного Xcode-рам pdf c шорткатами от Colin Wheeler (не знаете? тогда вот линк)
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments24

Как устроен ConcurrentBag в .Net

Reading time6 min
Views38K
Среди concurrent коллекций наибольшей популярностью пользуется ConcurrentDictionary. Также часто исползуются ConcurrentQueue и ConcurrentStack.

Вообще, решение локкирования частей коллекции для thread-safe хеш-таблицы является очень простым, логичным и оттого ещё более красивым.

Структура ConcurrentDictionary даже была описана в статье на хабре Под капотом у Dictionary и ConcurrentDictionary. ConcurrentBag же является не столь популярной, так как используется в основном там, где реализуется паттерн Producer-Consumer. Причем данная структура наиболее оптимально работает тогда, когда один и тот же поток занимается добавлением и изъятием данных из коллекции. Почему так происходит, будет рассказано далее.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments4

Делаем простое освещение в 2D игре. Подробные примеры на C# и XNA для новичков

Reading time5 min
Views30K
В этой публикации я постараюсь предельно просто рассказать, как можно легко и быстро сделать динамическое освещение в 2D игре на XNA; без шейдеров, карт нормалей и вообще, без дополнительных ресурсов. Целью у нас будет красивая игровая сцена с ночным небом, темным задним фоном, освещенным фонарями, передним фоном и игровым меню. Количество источников света не ограничено (в разумных пределах, конечно), форма произвольная. Освещается только передний фон. Читателю желательно иметь элементарные навыки работы с XNA, поскольку будет много кода.

2d освещение
Читать дальше →
Total votes 32: ↑22 and ↓10+12
Comments8

Опыт работы SAP-консультантом в Австрии или где ИТ-шнику жить хорошо

Reading time5 min
Views90K
Благодаря открывшейся в июле 2011 года программы иммиграции для высококвалифицированных специалистов в Австрию, я смогла попытать свой шанс и изменить жизнь к лучшему.

Жизнь SAP — консультанта в России


Что привык видеть ежедневно обычный российский SAP консультант? Переработки, нервы начальника или клиента, постоянно недовольные пользователи. Консультанту приходится поздно приходить домой, если не жить в отеле какого-нить далекого северного города. Один питерский SAP консультант как-то заметил: «Нормально — это когда просыпаешься ночью в поезде и уже не помнишь, куда ты едешь — в Питер или в Москву». Да, за все это хорошо платят, как считают не SAP-консультанты. Но не больше, чем профессиональному разработчику, с той лишь разницей, что в SAP можно прийти из бизнеса, или, например, поработав секретаршей где-то в офисе, где в «соседней двери» внедряли SAP. Хотя есть в России и хорошие компании, где здоровый коллектив, хорошо и уютно, кормят, и домой после 18 отпускают. Но их мало, и чаще они зарубежные.
Читать дальше →
Total votes 58: ↑53 and ↓5+48
Comments60

Быстрое возведение чисел от 1 до 100 в квадрат

Reading time3 min
Views144K
Вдохновленный этой статьей, решил поделиться с вами способом быстрого возведения в квадрат. Возведение в квадрат более редкая операция, нежели умножение чисел, но под нее существуют довольно интересные правила.


*квадраты до сотни

Для того, чтобы бездумно не возводить в квадрат по формуле все числа, нужно максимально упростить себе задачу следующими правилами.
Читать дальше →
Total votes 118: ↑83 and ↓35+48
Comments38

Мультиварка — умная кастрюля или «не доведенный до ума» гаджет

Reading time12 min
Views637K

Этот пост будет полезен всем, кто хотя бы иногда что-то готовит сам, а также помогает или мешает это делать другим.
Из него можно узнать, что это за гаджет — мультиварка, какие у нее технические возможности и невозможности, внутренность, наружность, достоинства (много) и недостатки (тоже много). Расскажу кое-что и о маленьких мультиварочных хитростях, а также позволю себе общее лирическое отступление о программировании на кухне.
Цель поста — рассказать про мультиварки, как класс объектов, не выделяя особо его представителей, но, чтобы не вести разговор о сферической мультиварке в вакууме, сделаю основным примером разбора мою модель — Panasonic SR-TMJ181.
Те, у кого нет мультиварки узнают, нужна ли она им, но и те, у кого она есть, надеюсь, без новых знаний не останутся.
Читать дальше →
Total votes 295: ↑259 and ↓36+223
Comments337

Публикация приложения в Windows Store

Reading time9 min
Views70K
Привет.

Я студент-партнер Microsoft, и в этой статье я хотел бы поделиться с вами своим опытом публикации приложения в Windows Store и рассказать о некоторых особенностях сертификации и публикации.
Читать дальше →
Total votes 86: ↑70 and ↓16+54
Comments24

Устраиваемся программистом за рубежом

Reading time16 min
Views63K
Как часто вас посещала мысль о трудоустройстве за границей, будь то просто временная работа или переезд на постоянное место жительство? Какую страну выбрать? Возможно ли пройти собеседования за тысячи километров по телефону и получить джоб-офер? Как будет выглядеть переезд и жизнь в другой стране? В данной статье я бы хотел поделиться личным опытом и опытом многих моих друзей работающих за рубежом.
Читать дальше →
Total votes 208: ↑188 and ↓20+168
Comments160

Спать мало, но правильно?

Reading time7 min
Views900K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →
Total votes 713: ↑670 and ↓43+627
Comments420

Слишком быстрая загрузка Windows 8

Reading time2 min
Views219K
«В Windows 8 есть проблема — она загружается слишком быстро. Настолько быстро, что после включения компьютера не остаётся времени, чтобы нажать F2 или F8», — пишет Крис Кларк (Chris Clark), менеджер команды User Experience в Microsoft.

В самом деле, в Microsoft проделали большую работу по оптимизации, так что Windows 8 на компьютере с SSD-диском загружается менее чем за 7 секунд, при этом инициализация BIOS и самотестирование POST завершаются в первые 2-3 секунды. Выбор пути загрузки Windows 8 осуществляется в течение <200 миллисекунд — тут ничего не успеешь нажать.
Читать дальше →
Total votes 122: ↑100 and ↓22+78
Comments133

Here be dragons: Управление памятью в Windows как оно есть [1/3]

Reading time8 min
Views177K

Каталог:
Один
Два
Три

Менеджер памяти (и связанные с ним вопросы контроллера кеша, менеджера ввода/вывода и пр) — одна из вещей, в которой (наряду с медициной и политикой) «разбираются все». Но даже люди «изучившие винду досконально» нет-нет, да и начинают писать чепуху вроде (не говоря уже о другой чепухе, написанной там же):
Грамотная работа с памятью!!! За все время использования у меня своп файл не увеличился ни на Килобайт. По этому Фаерфокс с 10-20 окнами сворачивается / разворачивается в/из трея как пуля. Такого эффекта я на винде добивался с отключенным свопом и с переносом tmp файлов на RAM диск.

Или к примеру μTorrent — у меня нет никаких оснований сомневаться в компетентности его авторов, но вот про работу памяти в Windows они со всей очевидностью знают мало. Не забываем и товарищей, производящих софт для слежения за производительностью и не имеющих ни малейшего понятия об управлении памятью в Windows (и поднявших по этому поводу истерику на пол интернета, на Ars-е даже был разбор полетов). Но самое потрясающее, что я видел всвязи с управлением памятью — это совет переместить pagefile на RAM-диск:
Из моих трех гигабайт под RAM disk был выделен один (на тот момент, когда на лаптопе еще была установлена XP), на котором я создал своп на 768МБ ...

Цель данной статьи — не полное описание работы менеджера памяти (не хватит ни места ни опыта), а попытка пролить хоть немного света на темное царство мифов и суеверий, окружающих вопросы управления памятью в Windows.
Читать дальше →
Total votes 360: ↑338 and ↓22+316
Comments85

Прототипирование приложений для Windows Phone в SketchFlow

Reading time6 min
Views4.9K
Привет, %username%, %wpdeveloper%, %designer% и все, кто ещё читает этот топик!

До окончания приёма заявок на Imagine Cup: Windows Phone Challenge осталось чуть больше 2х недель, самое время ею заняться! Но к заявке должен быть приложен ещё и прототип приложения, выполненный в SketchFlow. О том, как его создать, сегодня и поговорим.

Осторожно, много картинок под катом!

Ready to Get Started?


Читать дальше →
Total votes 41: ↑33 and ↓8+25
Comments4

AdvancedApplicationBar. Улучшаем возможности ApplicationBar в WP7

Reading time3 min
Views2.6K
У многих разработчиков WP7 вызывает неприятное удивление реализация ApplicationBar. В шутку ходят грязные слухи, что эта компонента разрабатывалась вообще не в МС, а командой не имеющего к silverilght никакого отношения, которые написали компоненту по затребованному интерфейсу

Так как в нескольких проектах мне приходилось активно работать с ApplicationBar, я написал обертку AdvancedApplicationBar, которая позволяет значительно сократить объемы кода. По сути наиболее часто встречающиеся проблемы можно решить одними лишь разметками в XAML.
Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments9

Windows Phone 7 Rocks #1

Reading time1 min
Views762
В гостях Алексей Страх и Александр Сороколетов — разработчики серии приложений и одного из самых популярных в мире — gMaps. Ребята делятся опытом разработки под платформу, раскрутки своего приложения, монетизацией (Microsoft PubCenter, AdDuplex, Google AdMob), нюансами регистрации в Marketplace (как это сделать не гражданам России, но СНГ).
Наш RPOD.RU и Twitter
 

Total votes 46: ↑30 and ↓16+14
Comments14

24 недели Metro-дизайна для Windows Phone | #2 Процесс проектирования приложений для Windows Phone

Reading time22 min
Views8.1K
Сегодня я расскажу о процессе проектирования приложений Windows Phone, которым я пользуюсь. Хотя многое из этого представляет собой обычные этапы для процесса проектирования, я попытаюсь объяснить их именно с точки зрения дизайна приложений для Windows Phone. Пишите мне в твиттер, если у вас есть какие-либо замечания, вопросы, или оставьте комментарий в блоге.

Эта статья покрывает процесс от начала и до конца, так что я буду рассказывать о высокоуровневых понятиях, а в ближайших статьях мы начнем более подробное изучение каждого из этапов. В следующей статье, например, мы начнем с придумывания идей и концепции — всё, что касается историй, эскизов, раскадровок и грубых (бумажных) прототипов.
Читать дальше →
Total votes 50: ↑45 and ↓5+40
Comments7

Написание покерного бота

Reading time11 min
Views48K
Внимание материал носит чисто ознакомительный характер, и автор не несет ответственности за закрытие аккаунтов покерными румами. По законам стран создание и использование ботов не запрещено, однако по правилам покерных румов они запрещены.

В данной статье полных исходных кодов не будет, только теоретически что и как можно использовать, и некоторые куски функций. Если ты интересуешься этим, тебе не составит собрать все в единую картину и написать свое. Так же не буду учить стратегиям игры, про термины или стратегии а так же правила можно в интернете найти много информации.
Читать дальше →
Total votes 53: ↑45 and ↓8+37
Comments42

Как сохранить здоровье, работая за компьютером?

Reading time8 min
Views106K
Иллюстрация

Вы заботитесь о своем здоровье?


Лично для меня возможность свободно организовывать рабочее время стала главным доводом «за», когда я решил оставить офис и присоединиться к фрилансерам. За годы, проведенные в компании, я добился многих целей, которые были мне интересны, заплатив за это своим зрением, осанкой и истраченным временем. Основным уроком, который я из этого вынес, стало то, что успех, достигнутый за счет подорванного здоровья, не стоит потраченных на него усилий. Перенеся большую часть своей работы домой, я поставил задачу организовать время, проводимое за компьютером, так, чтобы снизить его воздействие на здоровье до минимума.

Что оказалось непросто. В данной статье я расскажу о моем способе организации «правильного» рабочего дня, о том, что следует для этого делать, и где лежат грабли, на которые нельзя наступать. Тема «компьютер и здоровье» уже несколько раз поднималась на Хабре, поэтому я задумывал этот пост как статью, которую можно добавить в закладки и использовать в качестве «руководства к действию».

Читать дальше →
Total votes 272: ↑259 and ↓13+246
Comments139

Отфильтрованый КазНет

Reading time5 min
Views1.3K
Когда мой комментарий о цензуре в Казахстане в начале активно минусовали, стало понятно что либо на Хабре много наших представителей телекомов и провайдеров, либо хабровчане не знают всех нюансов и реалии нашего такого маленького КазНета.

Попробую слегка приподнять покровы с нашего КазНета.
Читать дальше →
Total votes 164: ↑130 and ↓34+96
Comments114

Information

Rating
Does not participate
Registered
Activity