Как стать автором
Обновить
12
0
Сергей @JCHouse

Фронтенд разработчик

Отправить сообщение

Выразительный JavaScript: Поиск и обработка ошибок

Время на прочтение15 мин
Количество просмотров56K

Содержание




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


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

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


Программа – это кристаллизованная мысль. Иногда мысли путаются. Иногда при превращении мыслей в программу в код вкрадываются ошибки. В обоих случаях получается повреждённая программа.

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

Часто проблема возникает в тех ситуациях, возникновение которых программист изначально не предвидел. Иногда этих ситуаций нельзя избежать. Когда пользователя просят ввести его возраст, а он вводит «апельсин», это ставит программу в непростую ситуацию. Эти ситуации необходимо предвидеть и как-то обрабатывать.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии8

Курс пиксель-арта 3

Время на прочтение4 мин
Количество просмотров88K
Это перевод публикации «Les Forges Pixel Art Course».

Часть 1: Правильные инструменты
Часть 2: Линии и кривые
Часть 3: Перспективы
Часть 4: Тень и свет
Часть 5: Палитры цветов
Часть 6: Сглаживание
Часть 7: Текстуры и размытие
Часть 8: Мир тайлов

Часть 3: Перспективы


Проблема перспективы в 2D играх, это вопрос который возникает часто, и это возможно то, почему так много любительских игр имеют множество противоречивостей в этой области. В частности эта часть адресуется к типичным перспективам в RPG, так что если вы ищете информацию о виде сбоку или от первого лица, вам следует поискать где-нибудь ещё. Это важно, помнить что перспектива — это «искусство представления трёхмерных объектов на плоской поверхности (в данном случае это ваш экран) как их увидел бы наблюдатель.»
Читать дальше →
Всего голосов 44: ↑41 и ↓3+38
Комментарии17

Игрок продолжает соревноваться с умершим отцом и не желает его побеждать, чтобы не стереть призрака

Время на прочтение1 мин
Количество просмотров229K
Это довольно трогательная история, и мне кажется, ей самое место здесь. Потому что делать игры, это тоже очень важно. Итак, представьте: обычное игровое видео, размещенное на youtube. В комментариях обычное обсуждение и гвалт. Но среди них попадается комментарий от пользователя 00WARTHERAPY00, пишущего о том, что он продолжает играть в автосимулятор с покойным отцом.



Привожу вольный перевод комментария:
Ну, когда мне было 4 года, отец купил настоящий Xbox.
Читать дальше →
Всего голосов 312: ↑218 и ↓94+124
Комментарии60

С днем рождения, Элон Маск!

Время на прочтение1 мин
Количество просмотров51K
«I would like to die on Mars; just not on impact».
image
Дата рождения: 28 июня 1971
Место рождения: Южная Африка
Образование: физика, экономика
Дети: 5
Книги, оказавшие влияние: «Автостопом по галактике» (Дуглас Адамс), «Основание» ( Айзек Азимов)
Компании: Zip2, X.com, PayPal, SolarСity, Tesla Motors, SpaceX, HyperLoop
Награды: бизнесмен года (2013, Fortune), CEO года (2013, The Wall Street Journal) и др.

Интервью (статьи на Хабре):
Интервью с Элоном Маском. Часть 1 — о том, как он хотел стать физиком, но стал предпринимателем
Интервью с Элоном Маском. Часть 2 — про массу, про Марс и про MBA

Экскурсия по SpaceX (2011)



Под катом самое свежее (вроде бы) видео интервью на английском:
Elon Musk: 5 Areas That Will Have the Most Important Effect on Humanity | Inc. Magazine
(кто найдет там что-нибудь интересное — пишите в комменты).
Читать дальше →
Всего голосов 100: ↑80 и ↓20+60
Комментарии21

Интервью с Элоном Маском. Часть 1 — о том, как он хотел стать физиком, но стал предпринимателем

Время на прочтение4 мин
Количество просмотров122K
imageЭлон Маск, основатель и сооснователь таких компаний как PayPal, SpaceX, Tesla Motors, изучал физику в Пенсильванском университете. В первой части интервью, которое Маск дал Элене Левин, колумнистке издания Американского физического общества APT News, он рассказывает о том, как он использует мышление, основанное на принципах, какие преимущества ему дало изучение физики, и о том, почему он с гордостью называет себя нердом.

Левин: Недавно в одном интервью вы посоветовали людям, которые хотят заниматься инновационным бизнесом, «изучать физику и учиться думать, руководствуясь принципами, а не аналогиями». Можете подробнее рассказать, что вы имели в виду?

Маск: Физики были вынуждены разработать способ мышления, который позволяет понимать контринтуитивные элементы реальности. Вещи вроде квантовой физики не слишком интуитивны, и чтобы продвигаться в их изучении физики создали методику мышления, которая позволяет получать правильные ответы, даже если они совершенно неочевидны. А это требует огромного умственного напряжения. В повседневной жизни нельзя всё время руководствоваться принципами, это потребует слишком большого расхода умственной энергии. Так что большую часть жизни приходится действовать по аналогии, попросту копируя поведение других людей с минимальными вариациями. Но если вы пытаетесь стать первооткрывателем, изобрести что-то действительно новое, то вам придется перейти к мышлению, основанному на принципах, выявить самые фундаментальные истины в вашей отрасли, и выводить свою мысль из них. Это требует напрячь голову, и я могу привести пару примеров того, как это помогает в ракетостроении.
Читать дальше →
Всего голосов 102: ↑97 и ↓5+92
Комментарии17

Подбираем видеокарту под miniITX-систему

Время на прочтение6 мин
Количество просмотров213K
Как-то передо мной встал вопрос о покупке своим детям игровой ТВ-приставки, но после некоторых раздумий решил собрать игровой компьютер размером как раз как эти самые приставки — т.е. формата miniITX. Во-первых, под PC игры стоят дешевле, во-вторых, на PC можно играть в игры для игровой консоли не предназначенные и которые на приставках никогда не выйдут. К тому же хотелось, чтобы машина совмещала в себе еще и функции медиа-сервера. Ну, т.е. деткам и в игрушки поиграть, и мультики/кино посмотреть.

В соответствии с этим мне необходима платформа с отдельным современным процессором типа Core i3/i5 и современной дискретной видеокартой. Остальное (жесткий диск, Wi-Fi адаптер, пульты, джойстики, оптический привод) по вкусу. Сказано — сделано.

Но, как оказалось, не все так просто. Последний раз я лез с отверткой в системный блок лет семь назад и как-то не очень ориентируюсь в современных «железных» форматах и технологиях. Как оказалось, сборка miniITX-компьютера оказалась нетривиальной задачей со своими подводными камнями. Забегая вперед, скажу, что мне пришлось докупать/менять ранее приобретенные комплектующие, поработать ножовкой и напильником и в итоге я собрал две мини-системы — детям игровую машину и себе рабочую станцию.
Как собрать miniITX-систему с первого раза
Всего голосов 24: ↑16 и ↓8+8
Комментарии53

Nook Simple Touch with Glow Light: Unboxing и краткий обзор

Время на прочтение2 мин
Количество просмотров30K
Со времен первых читалок от Sony я следил за этим рынком краем глаза. От покупки сначала PocketBook а затем и Kindle меня отговаривала простая мысль, знакомая думаю многим — читать время выдается обычно в темном помещении и мобильный устройства с обычным жк-экраном бесспорно выигрывали. Пока не появился замечательный гаджет от Barnes&Noble.


Читать дальше →
Всего голосов 55: ↑44 и ↓11+33
Комментарии136

Homebrew: Менеджер пакетов для OS X

Время на прочтение3 мин
Количество просмотров120K
Все менеджеры пакетов в Unix имеют определенные недостатки и большинство Linux-дистрибутивов пытаются по-разному эти недостатки обойти. В этом посте я расскажу про Homebrew — новый менеджер пакетов, нацеленный на простоту использования.

До Homebrew было несколько различных попыток создать эффективные пакетные менеджеры для OS X. Две наиболее популярные вылились в итоге в Fink и Macports, но у каждой из них все равно есть свои острые углы. В частности, в обоих создание своих пакетов или портов является черезчур сложным.

В Homebrew создавать новые пакеты и работать с ними проще пареной репы. Давайте посмотрим.
Читать дальше →
Всего голосов 38: ↑30 и ↓8+22
Комментарии51

Поиск работы за рубежом

Время на прочтение6 мин
Количество просмотров104K
Судя по отзывам на мою предыдущую статью о процессе прохождения интервью, многие хаброколлеги интересуются, как лучше подготовиться к поиску работы на западе. Хочу поделиться моим опытом и дать ссылки, которые будут полезны тем, кто думает о переезде или просто хочет узнать, как это работает в другом мире. Статья ориентирована на среднестатистического разработчика ПО, так что если у вас блестящие навыки разговорного языка и превосходные знания нужных технологий и языков программирования, то многие советы можно пропустить.

Итак, вы задумались о поиске новой работы.
Читать дальше →
Всего голосов 86: ↑78 и ↓8+70
Комментарии21

Айтишник 60 уровня. Что дальше?

Время на прочтение5 мин
Количество просмотров130K
У многих из нас есть родители или родственники, которые находятся в одном шаге от пенсии. Хотя мне еще только немного за 30, я предлагаю вам немного расширить кругозор и, может быть, что-то пересмотреть в своей жизни.



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

Да да, именно вы решили, потому что вы стареете именно потому, что вы этого ожидаете.

А главный бонус в том, что можно увеличить продуктивный период жизни в 2 раза, причем на приличные еще 30 лет(!) и более. Т.е. в 60 лет у вас будет 35-40 лет продуктивной жизни, а здесь я расскажу как эту продуктивность сохранить до 90 лет и более. Интересно?

Внимание! Возрастное ограничение 30+, ваша психика может пострадать.
Читайте пост на свой страх и риск!



Читаем подробный лайфхак.
Всего голосов 162: ↑120 и ↓42+78
Комментарии153

Всё, что вы хотели знать об областях видимости в JavaScript (но боялись спросить)

Время на прочтение8 мин
Количество просмотров82K
У JS есть несколько концепций, связанных с областью видимости (scope), которые не всегда ясны начинающим разработчикам (и иногда даже опытным). Эта статья посвящена тем, кто стремится погрузиться в пучину областей видимости JS, услышав такие слова, как область видимости, замыкание, “this”, область имён, область видимости функции, глобальные переменные, лексическая область видимости, приватные и публичные области… Надеюсь, по прочтению материала вы сможете ответить на следующие вопросы:

— что такое область видимости?
— что есть глобальная/локальная ОВ?
— что есть пространство имён и чем оно отличается от ОВ?
— что обозначает ключевое слово this, и как оно относится с ОВ?
— что такое функциональная и лексическая ОВ?
— что такое замыкание?
— как мне всё это понять и сотворить?
Читать дальше →
Всего голосов 57: ↑47 и ↓10+37
Комментарии38

Голые пятницы #1

Время на прочтение3 мин
Количество просмотров39K
голые пятницы

Всем доброго времени суток. Сегодня мы поговорим о том, как красиво оформить выделенный текст, совладать с отступами в кнопках, прокачать скролл в мобильных браузерах, скрестить цвет текста с цветом границ, а также рассмотрим интересные новые единицы измерения.
Поехали!
Всего голосов 72: ↑68 и ↓4+64
Комментарии22

Как сделать холдер для телефона своими руками

Время на прочтение3 мин
Количество просмотров105K
Многие из нас любят что-то мастерить. Я, к примеру, в детстве любил выжигать по дереву и складывать оригами. Да и, судя по активности в хабе «DIY», многим пользователям хабра по душе что-то создавать.

На днях я навестил свою подругу—дизайнера и застал ее за интересным занятием. Она делала холдер для мобильного телефона СВОИМИ РУКАМИ. Более того, оказалось, это очень увлекательное занятие! Я напросился к ней на «мастер-класс», а после чего решил поделиться с вами своими впечатлениями. Для изготовления собственного холдера нам понадобились простые материалы, которые можно купить в ближайшем канцелярском магазине или просто найти у себя дома. Единственное «НО» — поликапролактон (да-да, не переживайте. Я тоже с первого раза не смог прочесть). Дабы не ломать языки и пальцы, будем называть его просто «термопластик». Помимо произношения названия с ним не было особых затруднений, т.к. его можно приобрести в любом строительном магазине, либо в магазине для творчества (в данной статье вы сможете подробнее узнать о поликапро..., в общем узнать о термопластике).

image
Читать дальше →
Всего голосов 83: ↑70 и ↓13+57
Комментарии83

Собеседование на должность JavaScript разработчика

Время на прочтение4 мин
Количество просмотров287K


Недавно прочитал неплохой пост на тему поиска работы QA и подумал, что похожий пост был бы полезен для JavaScript разработчиков. В конечном счёте, веб движется вперед семимильными шагами, и соискателей на позицию JavaScript программиста хоть отбавляй (разумеется, хороших всегда меньше).
Читать дальше →
Всего голосов 126: ↑115 и ↓11+104
Комментарии313

CSScomb 3.0: красивый код одной командой

Время на прочтение5 мин
Количество просмотров49K
На этой неделе вышла новая версия CSScomb — инструмента, который делает CSS-код красивым. О том, как «расчёску» используют в Яндексе, недавно писал Beyondtheclouds. Я же расскажу, что нового появилось в третьей версии и что делать, если базовой функциональности не хватает. Например, как написать свой плагин или даже постпроцессор.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии20

Лучшие способы использования Angular.js

Время на прочтение9 мин
Количество просмотров54K

От переводчика:


Привет, Хабр! Мы мы продолжаем делится с сообществом полезными материалами о разработке и дизайне. В этот раз команда TrackDuck подготовили перевод статьи Jeff Dickey о Angular, которая нам очень понравилась и в свое время заставила пристальней присмотреться к Gulp. Эта статья будет полезна разработчиками, которые хотят сэкономить время на рутинных операциях и построить качественные процессы при разработке веб-приложений. Мы активно используем Angular для разработки собственного продукта для визуального комментирования веб-сайтов, поэтому готовы ответить в комментариях на интересующие вас вопросы!




Я использовал Angular в довольно большом количестве приложений и видел много способов структурирования приложений с использованием этого фрэймворка. Сейчас я пишу книгу о проектировании Angular приложений c использованием MEAN стека, и больше всего исследований я провел в этом направлении. В итоге я остановился на довольно оригинальной структуре приложения. Я считаю, что мой подход более простой чем тот, что предложил Burke Holland.
Прежде чем начать, я хотел бы рассказать о существующем подходе к реализации модульности в Angular.
Если вы разрабатываете продакшн решение на Angular - добро пожловать под кат!
Всего голосов 43: ↑32 и ↓11+21
Комментарии18

Функциональный JavaScript, Часть 1: Введение

Время на прочтение3 мин
Количество просмотров26K

Введение


JavaScript мощный, но недопонятый язык программирования. Людям нравится говорить, что он является объектно-ориентированным языком программирования или является функциональным языком. Другим нравится говорить, что он не является объектно ориентированным или не является функциональным языком программирования. Некоторые скажут что он относится к обеим парадигмам или ни к одной из них — но, давайте отложим на пока этот спор в сторонку.
Читать дальше →
Всего голосов 48: ↑37 и ↓11+26
Комментарии15

Программируем для iPhone и iPad. 3-е изд

Время на прочтение1 мин
Количество просмотров14K
image

Достаточно очевидно, что, несмотря на скорое полноценное наступление эпохи Swift, Objective C еще довольно долго не утратит актуальности. Поэтому вашему вниманию мы представляем еще одну книгу серии Head First: Программируем для iPhone и iPad. Название говорит само за себя — это традиционное для серии подробное и интересное пособие о том, как программировать на Objective C, проектировать интерфейсы, создавать приложения, работать с инструментами iPhone SDK (среда разработки, описываемая в книге — Xcode5). Вся информация подана в разговорной, ненавязчивой манере с большим количеством иллюстраций и юмора, что характерно для всех книг Head First. И пусть вас не пугает классический facepalm на обложке — повествование действительно доходчивое и увлекательное.
Читать дальше →
Всего голосов 23: ↑17 и ↓6+11
Комментарии23

Sentri: домашняя система безопасности для гиков

Время на прочтение2 мин
Количество просмотров16K


В общем-то, умной системой безопасности сейчас никого не удивишь, существует уже несколько схожих проектов с примерно равной функциональностью.

Поэтому разработчики Sentri пошли немного другим путем, и добавили возможность интеграции в свою систему других умных устройств, включая всем известный термостат Nest, умный выключатель и розетку Wemo, не менее умную лампочку Hue и замок Lickitron. В общем, любители разного рода устройств могут быть довольны.



Тем не менее, Sentri может работать и полностью автономно, без подключения к прочим устройствам, при этом функциональность системы сохраняется.

Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии11

Разработка мобильных Javascript MVC приложений с Framework7, RequireJS и Handlebars

Время на прочтение14 мин
Количество просмотров33K
Недавно передо мной стала задача разработки IPhone и Android приложения. Опыта разработки под IOS у меня ранее не было, да и хотелось написать один раз и запускать на обеих платформах. Соответственно был выбран был выбран Javascript и PhoneGap.

И если с языком я определился относительно быстро, то далее было много вопросов.
Хотелось сделать, что бы приложение максимально повторяло интерфейс IOS7 и было похоже на native по скорости работы. При этом с одной стороны не было желания использовать «монстров», на подобии dojo или jquery mobile. c другой стороны хотелось получить удобную модульную MVC структуру приложения.

В итоге в финал моего личного сравнения вышли:
Ionic framework: http://ionicframework.com/
Framework7: http://www.idangero.us/framework7/
Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии26

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность