Search
Write a publication
Pull to refresh
-6
0
Send message

Вы и ваша работа *

Reading time40 min
Views823K
Длинный материал. Время чтения – около 40 минут.

image

Доктор Ричард Хэмминг, профессор морской школы Монтерея в штате Калифорния и отставной учёный Bell Labs, прочёл 7 марта 1986 года очень интересную и стимулирующую лекцию «Вы и ваши исследования» переполненной аудитории примерно из 200 сотрудников и гостей Bellcore на семинаре в серии коллоквиумов в Bell Communications Research. Эта лекция описывает наблюдения Хэмминга в части вопроса «Почему так мало учёных делают значительный вклад в науку и так многие оказываются в долгосрочной перспективе забыты?». В течение своей более чем сорокалетней карьеры, тридцать лет которой прошли в Bell Laboratories, он сделал ряд прямых наблюдений, задавал учёным очень острые вопросы о том, что, как, откуда, почему они делали и что они делали, изучал жизни великих учёных и великие достижения, и вёл интроспекцию и изучал теории креативности. Эта лекция о том, что он узнал о свойствах отдельных учёных, их способностях, чертах, привычках работы, мироощущении и философии.
Читать дальше →

Несколько интересностей и полезностей для веб-разработчика #14

Reading time3 min
Views33K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

FastClick.js


Nota Bene. Практически всегда страница в браузере на вашем тач устройстве реагирует недостаточно быстро. Все из-за задержки в 300ms, чтобы убедиться, что это не double tap. FastClick.js — это полифил, который избавляет пользователей вашего сайта от этой задержки.

Кстати, это репозиторий от разработчиков известнейшего Financial Times и у них же есть еще один полезный проект на GitHub — ftscroller, с помощью которого легко создать адаптивный скроллинг и мульти-скроллинг для любого эленмента.

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

Вычисление N-го знака числа Пи без вычисления предыдущих

Reading time4 min
Views135K
С недавних пор существует элегантная формула для вычисления числа Пи, которую в 1995 году впервые опубликовали Дэвид Бэйли, Питер Борвайн и Саймон Плафф:
image

Казалось бы: что в ней особенного — формул для вычисления Пи великое множество: от школьного метода Монте-Карло до труднопостижимого интеграла Пуассона и формулы Франсуа Виета из позднего Средневековья. Но именно на эту формулу стоит обратить особое внимание — она позволяет вычислить n-й знак числа пи без нахождения предыдущих. За информацией о том, как это работает, а также за готовым кодом на языке C, вычисляющим 1 000 000-й знак, прошу под хабракат.
Читать дальше →

Пошаговое создание модуля в Magento — руководство начинающего разработчика

Reading time50 min
Views75K
Сколько о Magento не пиши, а все равно вопросов много ;) © jeje


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

В данной статье я попытаюсь показать создание модуля пошагово с объяснениями каждого изменения на примере модуля новостей «DS News», где DS — это Namespace (Пространство имён), а News — это название модуля. Данная схема именования модулей является довольно удобной для того, чтобы не бояться конфликта имён в названии модулей. Особый упор постараюсь сделать на объяснение значений, используемых в файле конфигурации — названия узлов и места, где они используются. Сам я пользуюсь данным руководством постоянно при создании нового модуля, т.к. запомнить откуда какие данные идут, какие классы нужно наследовать и т.д… просто невозможно физически. А тут всё в одной статье.

Не буду описывать установку Magento и заполнение товарами, считая что система уже работает. Однако следует убедиться в том, что кеширование отключено (кеш можно отключить в админке на странице System/Cache Management) — это необходимо для того, чтобы сразу видеть производимые изменения.
Итак, приступим

Как я классы в Vim писал

Reading time9 min
Views11K
image

Предисловие


Уже около четырех лет увлекаюсь языком JS, а особенно привлекает в нем прототипная реализации объектной ориентации и замыкания. Так как я большой любитель «велотренажеров» в программировании и обожаю изучать что-то новое на практических примерах, давно хотел попробовать реализовать подобное самостоятельно, и совсем недавно шанс выпал. Одним холодным зимним днем я увлекся редактором Vim и, изучая его скриптовый язык, обратил внимание на некоторые важные особенности, а именно ассоциативные массивы и передачу функций по ссылке. Я не смог пройти мимо и реализовал свою прототипную объектную ориентацию в Vim с наследованием и полиморфностью.

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

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

13 «хаков» для вашей Nokia Lumia

Reading time5 min
Views131K
Привет, Хабр!

С момента анонса первой Nokia Lumia на Windows Phone 8 больше года, за которые мы приобрели большое количество пользователей и поклонников наших смартфонов на WP. Но как нам кажется даже самые «прожженные» фанаты не знают всех секретов платформы Windows Phone 8. Именно этому мы и решили посвятить наш сегодняшний пост.


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

Горизонтальное масштабирование PHP приложений. Часть 1

Reading time5 min
Views32K

Итак вы сделали сайт. Всегда интересно и волнительно наблюдать как счетчик посещений медленно, но верно ползет вверх, с каждым днем показывая все лучшие результаты. Но однажды, когда вы этого не ждете, кто-то запостит ссылку на ваш ресурс на каком-нибудь Reddit или Hacker News (или на Хабре — прим. пер.), и ваш сервер ляжет.

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

Сетки без заморочек

Reading time4 min
Views80K
Подавляющее большинство сайтов создано с использованием сеточных макетов. Они могут не использовать их в явном виде, но если на сайте присутствует блок с основным контентом, расположенный справа, и боковой блок (сайдбар), расположенный слева, то это и есть простейшая сетка.

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

В этой статье я расскажу вам, как я верстаю сеточный макет. Это не так уж и сложно. И даже сделать резиновые сетки не составит большого труда.
Читать дальше →

Junior iOS developer. Путь становления

Reading time5 min
Views44K
Всем привет.

Введение


Расскажу вам свою историю о том, как я стал работать iOS разработчиком на 2 курсе университета. Рассказ будет от и до, со всеми прелестями и подробностями. Надеюсь, кому-нибудь из начинающих пригодится. Все действия происходили в Москве.
Читать дальше →

Пробуем Audio API на примере написания визуализатора

Reading time6 min
Views53K

Web Audio API для меня является одной из тех новинок, которыми сейчас напичканы браузеры и с которой хотелось подружиться поближе и хоть как-то проникнуться тем, что же можно с помощью этого натворить. Что бы проникнуться, я решил написать простенький визуализатор аудио.

Но прежде чем начать разбираться непосредственно с Audio API, нам необходимо набросать заготовку нашего визуализатора и делать мы будем это при помощи canvas.

Подробности

О чем НЕ говорят разработчики или 7 любимых выражений программистов

Reading time5 min
Views90K
Друзья! Мы все очень любим (или не любим) поговорить о шаблонах проектирования. Лично я их сильно недолюбливаю, т.к. большинство из них достаточно очевидны для более или менее опытного разработчика, а шаблонность мышления еще никому в жизни не помогала.

Но поговорим мы сегодня не о них, а о других шаблонах, а именно шаблонах поведения, наших людских паттернах, а скорее даже антипаттернах. Чтобы подлить масла в огонь хотел бы немного расшифровать название этого поста.

В повседневной жизни я стараюсь не употреблять слово «программист». Оно для меня несет негативный оттенок и сразу вспоминаются 90-е, когда кого только программистами не называли. Они и картриджи у принтеров меняли и бабушкам-бухгалтерам помогали их первый комп осваивать. Помните это нетленное «Ты же программист!»? В общем дискредитировало себя это слово.

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

001. А у меня на компе работает


Эта фраза знакома всем, кто хотя бы несколько месяцев работает в индустрии и просто должна быть исключена из лексикона любого разработчика. Чувак, если ты отправляешь на тестирование код, который не работает у тебя на компе, то тебе не место в профессии! По определению у тебя на компе код всегда работает. Разве может быть иначе? А не работает он у тестировщика, клиента, да кого угодно, потому, что ты не учел какие-то нюансы, различия в окружении, данных, погоде на Марсе и твоя задача выяснить, что именно и исправить, а не пытаться сразу откосить и доказать свою невиновность. Нет ничего страшного в том, что ты чего-то не учел. В моей практике бывали случаи учесть которые мог бы только… Да никто не мог бы!

Больше паттернов!

Программист вспоминает свои заблуждения

Reading time6 min
Views36K
Давайте попробуем разобраться в ряде популярных заблуждений людей, начинающих свой бизнес: боязнь рассказать о своей идее, обязательное патентование, знание рынка до выхода на него и перфекционизм при разработке на начальном этапе. Буду рад рассказать вам об опыте борьбы с подобными «страхами», которые, не буду скрывать, и меня одолевали, когда только зарождался наш проект.

Сразу скажу, что выводы во многом спорные, но многократно подтверждались на личном опыте. Поэтому буду рад обсудить альтернативные точки зрения.

Как только я опишу идею, у меня её украдут, либо реализуют конкуренты


image

  • Одна и та же идея приходит сразу к множеству людей в актуальный момент. Это можно увидеть даже на примере почти одновременных открытий одних и тех же законов физики в разных странах.
  • Идея без реализации не стоит ничего. Предыдущий и этот тезис подтверждается комментаторами в предыдущей статье, которые говорят, что схожая идея была, но было как-то не до неё.
  • Пока Вы будете пилить понемногу что-то сами, кто-то уже запустит проект на рынок, т.к. он был сфокусирован и рисковал. У меня также был ряд идей, которые я воспринимал, как слишком сложные для самостоятельного запуска, а спустя полгода-год я встречал сырой, но работающий стартап, который успешно её реализовал.
Читать дальше →

Шпаргалка по SOLID-принципам с примерами на PHP

Reading time10 min
Views452K
Тема SOLID-принципов и в целом чистоты кода не раз поднималась на Хабре и, возможно, уже порядком изъезженная. Но тем не менее, не так давно мне приходилось проходить собеседования в одну интересную IT-компанию, где меня попросили рассказать о принципах SOLID с примерами и ситуациями, когда я не соблюл эти принципы и к чему это привело. И в тот момент я понял, что на каком-то подсознательном уровне я понимаю эти принципы и даже могут назвать их все, но привести лаконичные и понятные примеры для меня стало проблемой. Поэтому я и решил для себя самого и для сообщества обобщить информацию по SOLID-принципам для ещё лучшего её понимания. Статья должна быть полезной, для людей только знакомящихся с SOLID-принципами, также, как и для людей «съевших собаку» на SOLID-принципах.

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

Семь вопросов, которые необходимо задать себе перед тем, как начать собственный бизнес

Reading time4 min
Views101K

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



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



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





20 основных причин провала старапов по версии ToWave


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

Простое правило выбора CSS селекторов

Reading time2 min
Views22K
Я хотел написать комментарий к статье о том куда отправляются хорошие верстальщики, но мне стало лень. А потом опять стало не лень, но мыслей накопилось уже на целый пост.

Возьмем самый первый попавшийся пример из приведенной статьи. Там в макете, в самом верху, есть полоска на всю ширину окна:

image

Автор принимает решение сверстать эту полоску с помощью тега
, вот так:

<body class="whitesquare">
  <hr/>
  <!-- вся остальная страница -->
</body>


.whitesquare hr {
  /* стили для полоски  */
}


Это просто супер пример несоблюдения моего правила.

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

Учебное пособие по кэшированию, часть 1

Reading time5 min
Views102K
Довольно подробное и интересное изложение материала, касающегося кэша и его использования. Часть 2.

Автор, Mark Nottingham, — признанный эксперт в области HTTP-протокола и веб-кэширования. Является председателем IETF HTTPbis Working Group. Принимал участие в редактировании HTTP/1.1, part. 6: Caching. В настоящий момент участвует в разработке HTTP/2.0.

Текст распространяется под лицензией Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.

От переводчика: об опечатках и неточностях просьба сообщать в личку. Спасибо.
Читать дальше →

Верстка для самых маленьких. Верстаем страницу по БЭМу

Reading time14 min
Views394K
Недавно хабраюзер Mirantus написал статью «Как сверстать веб-страницу», в которой рассказывал о том, как же сверстать веб-страничку. В его статье было подробно рассмотрено, как выделить отдельные элементы из заданного шаблона, подобрать шрифты и т.п. Однако его подход к написанию, собственно, веб-страницы мне показался не очень хорошим, о чем я написал в комментариях.

В данной статье я хочу рассказать, о том, как можно сверстать «хорошо» (по крайней мере структурировано ;), а заодно рассказать и о методологии, которая может «упростить жизнь» при верстке. Структура поста будет следующей:

  • BEM
  • Собственно пример — как сверстать страницу

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

Бюджетные VDS для обучения и разработки

Reading time4 min
Views61K
Преветствую, Хабр!

Вступление

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

Создатель PHP Расмус Лердорф — об анархии и демократии в разработке языка, PHP 5.6 и жалующихся программистах

Reading time4 min
Views31K
Несмотря на то, что прошло уже полтора месяца после IDCEE 2013, новые тексты о ней и по её мотивам всё ещё выходят. Сегодня, например, на DOU.ua опубликовали длинное и развесистое интервью с Расмусом Лердорфом, который создал PHP, но из принципиальных соображений не хочет заниматься им в качестве основной работы. Ниже — несколько интересных цитат и дополнительные видеоматериалы.

Вместо эпиграфа можно использвать парафраз Отто фон Бисмарка из внутриредакционного обсуждения текста: «Колбаса, политика и PHP: если хотите наслаждаться ими — не смотрите, как они делаются».


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

Windows Phone 8: Создаем приложение. Матрица. Часть 3. MVVM

Reading time39 min
Views9.7K
И так, как и обещал, третья часть приложения Матрица для платформы WP8 с использованием паттерна MVVM. Для самых нетерпеливых можно сразу скачать с Github, а также опробовать у себя на смартфоне, скачав с Windows Phone Store.

Поддерживаются расширения экранов HD720P (720x1280), WVGA (480x800), WXGA (768x1280). Есть маленький минус: при использовании расширения отличного от 480x800, нужно перезапустить приложения после установки, так как не нашел как получить высоту и ширину элемента Grid до загрузки модели вида. А теперь по порядку.

Windows Phone 8: Создаем приложение. Матрица. Часть 1
Windows Phone 8: Создаем приложение. Матрица. Часть 2
Windows Phone 8: Создаем приложение. Матрица. Часть 3. MVVM


Развернутый вид всего приложения на экране WVGA (480x800)

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

Information

Rating
Does not participate
Registered
Activity