Pull to refresh
0
0
Андрей @KiiA

User

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

Выразительный JavaScript: Модули

Reading time17 min
Views84K

Содержание




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

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

Мастер-программист знает, когда нужна структура, а когда нужно оставить вещи в простом виде. Его программы словно глина – твёрдые, но податливые.

Мастер Юан-Ма, Книга программирования


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

В случае больших программ отдельные функции уже теряются в коде, и нам необходима единица организации кода больших масштабов. Модули группируют программный код по каким-то определённым признакам. В этой главе мы рассмотрим преимущества такого деления и техники создания модулей в JavaScript.
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments3

Что стоит за номером «кредитки»

Reading time1 min
Views8.1K
Прежде всего о терминологии. То, что в России часто называют кредиткой — является банковской (чаще всего) платёжной картой. Карты выпускать может не только банк. Карты могут быть не только кредитные. Вобщем, теорию вы и сами сможете найти.

А теперь, собственно, инфографика о том, как устроены номера банковски карт (600*1800px 280KB):

Читать дальше →
Total votes 147: ↑135 and ↓12+123
Comments84

Opera Mini Proxy для Google Chrome

Reading time2 min
Views24K
Регулярно читающие этот блог наверняка помнят мою предыдущую заметку про Opera Mini Proxy. Для тех кто не помнит, вкратце: это прекрасная возможность экономить трафик там, где он стоит очень дорого.

Opera Mini Proxy (он же Opera Mini Proxy Daemon или ompd) пропускает http трафик через сервера opera mini, где контент сжимается в несколько десятков раз (для оптимизации отображения на мобильных устройствах). До появления ompd можно было использовать opera mini на десктопах с помощью эмуляторов j2me, что, конечно, совсем не удобно. ompd же позволял загружать сжатый контент практически в любом браузере (работая при этом как локальный прокси сервер).

Хорошая новость: теперь ompd можно установить в качестве расширения Chrome (и других браузерах, основаных на исходном коде Chromium). Во-первых, расширение гораздо легче, чем оригинальный ompd, требующий для работы интерпретатор Python. Во-вторых, не нужно постоянно держать второе открытое окно и следить за настройками прокси. Как это выглядит, можно увидеть на скриншоте, а подробности — под катом.
Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments59

Полезность Kindle 3

Reading time1 min
Views2.3K
Совсем недавно приобрел себе в пользование Amazon Kindle 3 (WiFi).
Удобнейшая штука оказалась, жаль что не купил раньше.
Вообще-то это мой первый опыт использования электронных читалок, но уже сейчас могу сказать, что буду использовать такие устройства в дальнейшем.
Впрочем все восторги и разочарования по поводу этих устройств описаны в сотнях обзорах, так что повторятся я не буду.
Речь не об этом!
Буквально через пару часов использования решил для себя что эта штука может очень сильно экономить мое время.
Читать дальше →
Total votes 75: ↑65 and ↓10+55
Comments70

HTC Desire vs. Wildfire

Reading time8 min
Views6.9K
Сначала хотел сделать обзор Desire. Но так вышло, что с обзором я затянул, и уже вышел и Wildfire, его младший брат. Так что, решил я рассказать об обеих моделях, а потом уже сравнить. Оба коммуникатора достойные соперники, в каждом есть свои плюсы и свои минусы. Постараюсь рассмотреть все аспекты, чтобы «битва» получилась наиболее объективной.



Будет много фотографий. Готовы?
Поехали!
Total votes 130: ↑97 and ↓33+64
Comments152

GPRS QoS — миф или реальность?

Reading time9 min
Views5.1K
В этой статье мы рассмотрим принципы и методы использования т.н. профилей качества предоставляемых сервисов — QoS, применительно к пакетной передаче данных в сетях мобильных операторов, основанных на технологиях GPRS/EDGE.

Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments2

Создание FB2 версии свежего номера журнала/газеты

Reading time3 min
Views7.6K

Предыстория


Последнее время всё больше журналов и газет выкладывают свои свежие номера в сеть (Ведомости, Эксперт, Esquire и т.п.). Все хорошо с этими номерами за одним исключением — что бы их читать нужен интернет.
С интернетом проблема в том что он не везде есть (метро) и не каждое устройство его видит (большинство e-ink ридеров).
В связи с этим родилась мысль о том что не плохо бы делать копии периодики в виде электронных книжек (например в FB2 формате).
Как сделать электронную книгу из номера журнала на сайте
Total votes 78: ↑76 and ↓2+74
Comments50

GPRS изнутри. Часть 3

Reading time7 min
Views44K
В этой статье мы продолжаем наше знакомство со структурой и основными функциональными элементами пакетной сети оператора мобильной связи, которые мы начали в предыдущих двух статьях — GPRS изнутри. Часть 1 и GPRS изнутри. Часть 2. В нашей сегодняшней заметке речь пойдет об основных интерфейсах сетевых элементов PS Core Network, а также стеках проколов, используемых на этих интерфейсах.

Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments14

Программирование на Android для web разработчика или быстрый старт для самых маленьких. Часть 1

Reading time3 min
Views86K
Доброго времени суток.

Данный hello world ориентирован на публику которая проявляет интерес к данной теме (Android), но страх перед java не позволяет взяться за разработку. Существует возможность создавать приложения для Android на html5 (phonegap), или php (PFA), но полноценное приложение возможно написать только на Java.

О приложении


Приложение которое будет описано умеет следующее:

1. Запуск из «меню приложений» вашего смартфона
2. Регистрация используя удаленный сервер
3. Авторизация
4. Листинг данных получаемых с сервера
Читать дальше →
Total votes 45: ↑28 and ↓17+11
Comments4

Osmand — Руководство пользователя

Reading time8 min
Views228K
Osmand — программа для Android, которая позволяет работать с офлайн картами OpenStreetMap и не только, использовать голосовую навигацию, запись, отображение и навигацией GPX треков, а также ряд возможностей по редактированию OSM. Судя по предыдущему топику , среди хабровчан достаточно большое число пользователей данной программы, которые бы хотели узнать тонкости работы данной программы.

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

Osmand, как и большинство Linux приложений, предназначен, для всех, поэтому конкретную целевую аудиторию даже сложно назвать. Это является и плюсом и минусом приложения. В принципе все open source развиваются по этому сценарию, потому как сообщество постоянно добавляет маленькие и нужные патчи и редко добавляет большие и нужные. Так и получаются приложения с кучей настроек, кучей перекрывающихся функций и тысячами сценариев использования.

Кратко темы, раскрытые ниже:
  • Карта — векторные и растровые карты, различные настройки
  • Экран Карты — индикаторы на главном экране приложения и контекстное меню
  • Настройки приложения — профили настроек и обзор базовых настроек
  • Фоновый сервис — работа приложения с выключенным экраном и с заданным периодом включения
  • Мониторинг — запись GPX треков
  • Навигация — онлайн и офлайн навигация
  • Поиск — поиск POI, транспорта, адреса
  • OSM редактирование — POI и Osm bugs

Читать дальше →
Total votes 76: ↑66 and ↓10+56
Comments67

Лучшие музыкальные плееры для вашего телефона под управлением Android

Reading time5 min
Views313K
Представляю вам вольный перевод статьи "Round Up: Great Android Music Players"

Давайте посмотрим правде в глаза. Думаю, большинство обладателей телефонов с операционной системой Android согласятся с тем мнением, что плеер, поставляемый в комплекте с операционной системой является сухим и безжизненным на фоне плееров iPhone или iPad.

Одно из величайших особенностей платформы с открытым кодом является написание новых приложений. Открытость платформы создает конкуренцию, а конкуренция является важным фактором для конечного пользователя, т.к. она заставляет производителей приложений снижать их стоимость (если они платные) и повышать качество продукции. К счастью, появилась конкуренция и среди плееров для Android. Сегодня мы рассмотрим лучшие плееры для Android и скажем, что их выделяет на фоне других плееров.
Под катом обзор плееров, их скриншоты и QR-коды
Total votes 61: ↑53 and ↓8+45
Comments107

Графики в GTK#

Reading time2 min
Views2.7K
У меня неоднократно возникала потребность строить в своих приложениях простые графики, но каждый раз под рукой не оказывалось подходящего инструмента. В этот раз я обнаружил библиотеку NPlot, которая показалась мне достаточно удобной.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments1

HTC Desire — переход с WM на Android

Reading time4 min
Views1.9K
Как-то неожиданно обзавелся HTC Desire, теперь пытаюсь переехать на него с HTC Max 4G. Если кому лень читать, то сразу напишу вывод: сам девайс очень приятный, ОС достойная и перспективная, правда без нормального стилуса (лично мне) плохо. Но вот с прикладным софтом все еще проблемы, местами приходится шаманить. Хотя в итоге более-менее терпимые замены используемому софту подобрать удалось.

image

Читать дальше →
Total votes 39: ↑25 and ↓14+11
Comments40

Тестирование различных браузеров под мобильной платформой Android

Reading time6 min
Views18K

Вступление


Здравствуйте, уважаемые жители хабрасообщества. Сегодня я хотел бы поговорить о различных мобильных браузерах, доступных для мобильный платформы Android. А тестовым стендом станет аппарат HTC Desire. (Для сравнения также будут опубликованы результаты различных тестов для default browser, который предустановлен на мобильную платформу android 2.2 Froyo. В этом случае тестовым стендом станет аппарат Google Nexus One, который практически идентичен аппарату от htc по техническим характеристикам. Результаты стали доступны благодаря DieSlogan)
image image image image image

Острожно, много трафика!
Читать дальше →
Total votes 98: ↑74 and ↓24+50
Comments68

Основы программирования под Android на примере игры Судоку

Reading time6 min
Views375K
В статье описаны основные трудности создания приложений под Android.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
Осторожно много скриншотов.

Читать дальше →
Total votes 137: ↑131 and ↓6+125
Comments48

Выразительный JavaScript: Введение

Reading time9 min
Views466K


Перевод книги Marijn Haverbeke "Eloquent JavaScript". Лицензия Creative
Commons attribution-noncommercial license
. Код предоставляется под лицензией MIT.


Содержание



Читать дальше →
Total votes 54: ↑49 and ↓5+44
Comments14

Обходим запрет Yota раздавать интернет с телефона

Reading time2 min
Views373K

Вместо введения.


Я пользуюсь Samsung Note 3 LTE (N9005). Оператор, с недавних времен, Yota. LTE на этом аппарате пока не поддерживается официально, по этому я решил сегодня сделать root на телефоне и вручную включить LTE.
Хочу интернет!
Total votes 201: ↑196 and ↓5+191
Comments135

BookTitres.com — изучайте языки по иностранной литературе в оригинале, слушая и читая

Reading time7 min
Views16K
Многие используют фильмы с субтитрами, чтобы слушать речь и одновременно читать. Хочу предложить альтернативу — слушать аудио книги и читать их текст с подстрочным переводом и доступом к каждой отдельной фразе. Они доступны онлайн на сайте BookTitres.com .

Самое интересное


Уже доступные для чтения книги вы можете найти в разделе "Слушайте и читайте" на сайте. Книга "Хоббит" закончена — это 11 часов аудио и 13800 фраз. Пройдя её полностью, вы ощутите заметное улучшение своего английского. Особенно, если будете повторять за чтецом каждую фразу. От других книг в основном сделаны несколько первых глав. Если хотите продолжения — ответьте на опрос и укажите желаемую книгу.

Я не столько преследую цели пиара, сколько хочу рассказать о самой идее и попросить советов, как её развивать. Вы можете оставить пожелания, заглянув на сайт по ссылкам выше. А если интересно почитать о возникновении идеи и её технической реализации, то загляните под кат.

В конце статьи приводятся вопросы, на которые мне бы очень хотелось получить ответы хабра людей.
Читать дальше →
Total votes 59: ↑57 and ↓2+55
Comments49

Расширение возможностей стандартных робототехнических конструкторов с использованием LabView

Reading time12 min
Views22K


И снова здравствуйте, уважаемые хабравчане! Вы собрали уже все возможные модели из вашего конструктора? Вам надоело «ездить по линии», «управлять с пульта» и «определять расстояние до объекта»? Вы уже забыли, когда последний раз доставали ваш конструктор с дальней полки? Пора смахнуть с него пыль и вдохнуть в него новую жизнь! Как это сделать? Читаем под катом!
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments15

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity