Pull to refresh
0
0
an9eldust @an9eldust

User

Send message

htop и многое другое на пальцах

Reading time 26 min
Views 276K


На протяжении долгого времени я не до конца понимал htop. Я думал, что средняя загрузка [load average] в 1.0 означает, что процессор загружен на 50%, но это не совсем так. Да и потом, почему именно 1.0?

Затем я решил во всём разобраться и написать об этом. Говорят, что лучший способ научиться новому — попытаться это объяснить.
Читать дальше →
Total votes 138: ↑130 and ↓8 +122
Comments 43

ES6 по-человечески

Reading time 11 min
Views 579K

От переводчика:
Предлагаю вашему вниманию перевод краткого (действительно краткого) руководства по ES6. В нём можно ознакомиться с основными понятиями стандарта.
Оригинальный текст в некоторых случаях был дополнен или заменён на более подходящий источник. Например, часть определения ключевого слова const является переводом документации с MDN.
Чтобы лучше разобраться в некоторых концепциях (для выполнения качественного перевода) использовалось описание стандарта на сайте MDN, руководство "You Don't Know JS: ES6 & Beyond" и учебник Ильи Кантора.


Перевод выложил на Гитхаб: https://github.com/etnolover/ES6-for-humans-translation. В случае нахождения ошибок пишите, исправлю.
Ссылка на оригинальный текст: https://github.com/metagrover/ES6-for-humans


Update 22.07.2016: добавил опрос про const


Содержание



Читать дальше →
Total votes 62: ↑60 and ↓2 +58
Comments 87

Тестируем вёрстку правильно

Reading time 8 min
Views 103K
Makeup — инструмент для комфортного ручного регрессионного тестирования вёрстки

Что не так с тестированием вёрстки


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

Проблема тестирования вёрстки в том, что только живой человек может сказать, хорошо свёрстан блок на странице или нет. Поэтому чаще всего мы тестируем HTML и CSS вручную: проверяем, как будет вести себя блок, если в нем будет слишком много (или слишком мало) текста или дочерних элементов; смотрим, чтобы все возможные варианты отображения блока смотрелись корректно; помним о том, как блоки должны адаптироваться к разным устройствам и разрешениям экрана.
Можем ли мы перестать делать это руками?
Total votes 35: ↑33 and ↓2 +31
Comments 31

Все способы вертикального выравнивания в CSS

Reading time 6 min
Views 770K
image

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

Да, для вертикального выравнивания в CSS есть специальное свойство vertical-align с множеством значений. Однако на практике оно работает совсем не так, как ожидается. Давайте попробуем в этом разобраться.

Читать дальше →
Total votes 42: ↑40 and ↓2 +38
Comments 20

«Семь навыков высокоэффективных людей». Книга за 15 минут

Reading time 14 min
Views 112K


Мы публикуем основные идеи из книги №1 по личной эффективности и самосовершенствованию. Книге, которая является must read для каждого уважающего себя менеджера. Книге, по которой проходят тесты сотрудники крупнейших организаций, в том числе и в нашей стране.
Но стоит сказать, что сама по себе книга написана в американском стиле, очень водянисто. Читать ее достаточно сложно, ввиду присутствия большого количества наукообразных терминов, типа «парадигма», «детерминизм», «синергия». Поэтому мы решили, что формат краткого изложения будет наиболее оптимальным, чтобы понять, стоит ли читать эту книгу полностью. А для тех, кто ее не смог осилить, наше саммари станет отличной мотивацией завершить прочтение книги.
Итак…
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Comments 5

«Психология влияния». Книга за 15 минут

Reading time 14 min
Views 185K


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

Итак…
Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Comments 22

Размышления о стандартной библиотеке JavaScript. Core.js

Reading time 64 min
Views 103K
Один пацан писал все на JavaScript, и клиент, и сервер, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно.
— С просторов интернета

К чему это я? Занятная штука — JavaScript. Основа современного web и на фронтэнде альтернатив как таковых не имеет.

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

Ванильная стандартная библиотека JavaScript, в целом, неплоха. Это не только стандартная библиотека по спецификации языка ECMA-262 актуальных версий — от 3 до черновика 6. Часть API вынесена в отдельные спецификации, например, API интернационализации ECMA-402. Многие возможности, без которых сложно представить JavaScript, например, setTimeout, относятся к web-стандартам. Консоль не стандартизована вовсе — приходится полагаться на стандарт де-факто.

Вот только не такая уж она и стандартная — везде разная. Есть старые IE, в которых из коробки мы получаем стандартную библиотеку ES3 90-бородатого года даже без Array#forEach, Function#bind, Object.create и консоли, и есть, например, Node.js, на которой многие уже вовсю используют возможности грядущего ES6.

Хочется иметь универсальную, действительно стандартную библиотеку, как на сервере, так и в любом браузере, максимально соответствующую современным стандартам, а также реализующую необходимый функционал, что (пока?) не стандартизован. Статья посвящена библиотеке core.js — реализация моих соображений по поводу стандартной библиотеки JavaScript. Кроме того, эта статья еще и шпаргалка по современной стандартизованной стандартной библиотеке JavaScript и заметки о её перспективах.

Содержание, или что получим на выходе:


Читать дальше →
Total votes 87: ↑82 and ↓5 +77
Comments 40

Покупка iMac в России: опыт, советы, подводные камни

Reading time 5 min
Views 38K
image

Вступление


Около года назад, я собрался с мыслями, нашел свободное время и установил на недавно приобретенный компьютер Mac OS X 10.6.6 Snow Leopard, или проще говоря, «создал» себе Хакинтош. Я не буду описывать процесс установки и настройки, лишь факты: характеристика — что и как заработало. Характеристики хака были следующие:
  • Материнская плата: ASUS P7P55D PRO — DSDT.aml имеется на сайте tonymacx86
  • Процессор: Core i5-760 2.80 Ghz.
  • SSD Диск: OCZ Vertex-2 (SATA-II) — нативно работает
  • HDD: 1,5 TB; 1 TB
  • Видеокарта: XFX ATI Radeon HD 6870 1gb — нативно поднимается в OS 10.7.x, и 10.6.7/8. В 10.6.6 с помощью драйверов от 10.6.7 и выше.
  • Оперативная память: 4 Gb (2 x 2gb)
  • Мышка, клавиатура: usb — нативно
  • Сеть: официальные драйвера realtek
  • Звук: завелся установкой voodoo kext
Об хакинтошах уже писал Kyrie1965 в своей статье «Хакинтош» — стоит ли игра свеч?, поэтому на вопросах «что? как? почему?» относительно хакинтоша я не буду заострять внимания. (Спрашивайте, если вдруг возникнут вопросы по данному железу под хак.)
Просидев на данном звере около года, обновившись в последствии до 10.7, я окончательно принял решение купить iMac. Об этом тонком процессе и пойдет речь ниже.
Читать дальше →
Total votes 122: ↑87 and ↓35 +52
Comments 198

Валидация форм в JavaScript ч.1

Reading time 5 min
Views 88K

Вступление


Добрый день, уважаемый читатель. В этой статье я бы хотел обратиться к теме проверки содержимого форм на стороне клиента. На заре становления языков, работающих на клиенте, эта задача была основной. Со временем эти языки обросли новыми возможностями (манипуляция DOM, управление стилями и пр.), но задача проверки форм не исчезла. Правда с появлением HTML5 стало возможным указывать такой тип поля формы, как email, и браузер сам возьмет на себя его проверку. Такая возможность на данный момент реализована в Opera, так что расчитывать на нее пока особо не приходится. Поэтому я бы и хотел рассмотреть этот вопрос основательно. В большинстве случаев валидация проводится так: каждому полю раздаётся id, и затем при submit'е вытаскиваем их, попутно проверяя содержимое. И всем хорош данный подход, кроме отсутствия в нем системности. Поэтому хочу предложить вашему вниманию свое решение данной проблемы.
Читать дальше →
Total votes 7: ↑4 and ↓3 +1
Comments 34

О формуле Байеса, прогнозах и доверительных интервалах

Reading time 9 min
Views 68K
На Хабре много статей по этой теме, но они не рассматривают практических задач. Я попытаюсь исправить это досадное недоразумение. Формула Байеса применяется для фильтрации спама, в рекомендательных сервисах и в рейтингах. Без нее значительное число алгоритмов нечеткого поиска было бы невозможно. Кроме того, это формула явилась причиной холивара среди математиков.

image

Читать дальше →
Total votes 86: ↑83 and ↓3 +80
Comments 19

Архитектура карьерного роста

Reading time 9 min
Views 231K

С понедельничком (говорят — самым депрессивным в году), хабровчане!
После публикации этой статьи, многие заметили, что я шустрый карьерист, и у меня начали просить совета на тему: как обеспечить карьерный рост в IT-индустрии. Во избежание повторения одних и тех же советов разным людям в личных сообщениях я и пишу эту статью, делясь в ней историей своего собственного карьерного роста и основными наблюдениями, которые я сделал за 13 лет опыта работы в больших и не очень компаниях.
Сразу предупрежу, что не претендую на изложение универсальной теории карьерного роста сферического коня в вакууме, и большинство замечаний искривлено призмой моего восприятия. То, что неоднократно работало в моем случае, необязательно сработает в вашем.

Читать дальше →
Total votes 140: ↑125 and ↓15 +110
Comments 152

Обзор: Puppet, Chef, Ansible, Salt

Reading time 9 min
Views 115K

Ведущие инструменты для управления конфигурацией по разному подходят к автоматизации серверов


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

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

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

Puppet, Chef, Ansible и Salt были задуманы чтобы упростить настройку и обслуживание десятков, сотен и джае тысяч серверов. Это не значит, что маленькие компании не получат выгоды от этих инструментов, так как автоматизация обычно делает жизнь проще в инфраструктуре любого размера.
Я пристально взглянул на каждый из этих четырех инструментов, исследовал их дизайн и функциональность, и убежден, что несмотря на то, что некоторые оценены выше, чем другие, для каждого есть свое место, в зависимости от целей внедрения. Здесь я подвожу итоги моих находок.

Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Comments 17

Обзор литературы прочитанной за два года

Reading time 19 min
Views 55K
Привет Хабра! Когда я только начинал заниматься веб-разработкой, то даже не мог представить, сколько литературы нужно прочесть и какой объем знаний получить, чтобы стать нормальным специалистом. Кроме того, сфера постоянно меняется, и знания устаревают.

Для меня проблема заключалась в том, что я не люблю читать и чтение расцениваю исключительно как неизбежную работу, которую необходимо проделать, чтобы добыть материал из печатного вида. Но так получилось, что для повышения своей квалификации читать приходится. Я установил для себя норму — одна книга в месяц. С одной стороны, это мало, с другой, — много (если действительно придерживаться плана). Ну и раз уж мне приходится читать в принудительном порядке, это должно давать какую-либо выгоду. Каждая книга — это мучение, и я не вижу смысла тратить время на литературу, которая мне ничего не даст после. Поэтому каждый раз, попадая в книжный и держа в руках очередную книгу, я задаю себе вопрос: «А зачем?! Какой толк от этих кусков бумаги?! Что я вообще тут делаю?!». Чтобы вы не тратили время на книги, которые мне кажутся бесполезными, я решил написать небольшой обзор прочитанной за два года литературы и прочих найденных источников знаний. Весь материал ниже так или иначе связан с веб-разработкой и различными её аспектами. Ниже описаны только те книги, которые я прочитал. Те книги, которые «не осилил»/не дочитал (например, про NodeJS и пару фреймворков) не привожу.
Читать дальше →
Total votes 91: ↑71 and ↓20 +51
Comments 36

Путь JavaScript модуля

Reading time 28 min
Views 121K


На момент написания этой статьи в JavaScript еще не существовало официальной модульной системы и все эмулировали модули как могли.

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

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

Дело в том, что раньше не думали, что на JavaScript можно делать огромные проекты, а не просто «пропатчить DOM», поэтому о модулях не думали. Да и вообще не думали о будущем. И тут Внезапно будущее нагрянуло! Все вроде-бы уже есть, а модули в JavaScript, мягко говоря, запаздывают. Поэтому разработчикам приходится крутиться и выдумывать какие-то эмуляторы модульности.

Думаю многие из вас читали прекрасную статью Addy Osmani Writing Modular JavaScript With AMD, CommonJS & ES Harmony, которая стала одной из глав его книги Learning JavaScript Design Patterns в этой статье рассказывается про «современные» JavaScript модули или же читали достаточно старую статью JavaScript Module Pattern: In-Depth 2010 года про «старые» модули.

Я не буду переводить эти статьи и не буду делать из них солянку. В своей статья я хочу рассказать о моем модульном пути. О том как я проделал путь от «старых» модулей к «новым» и что использую сейчас и почему.
Читать дальше →
Total votes 188: ↑185 and ↓3 +182
Comments 71

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

Reading time 6 min
Views 77K


Доброго времени суток, уважаемые Хабровчане!

Хочу поделится с вами реализацией алгоритма «Метод рекурсивного спуска» на примере написания парсера формул с поддержкой переменных и функций на языке Java

Эта статья в (скорее всего, во всяком случае я надеюсь :) ) будет интересна для новичков, или кому-то применить как фундамент для своего решения данной задачи.
Кому интересно — прошу под кат
Читать дальше →
Total votes 80: ↑62 and ↓18 +44
Comments 25

Используем console на полную

Reading time 6 min
Views 456K
Метод console.log() — отличный способ вывести отладочную информацию, не мешая пользователю. Но знаете ли Вы, что объект console имеет еще уйму других не менее полезных методов? Очень редко разработчики используют этот функционал, ограничиваясь неблокирующим alert'ом. Что-ж, давайте исправим это положение.

Вкусности console
Total votes 172: ↑168 and ↓4 +164
Comments 29

Что нужно знать про арифметику с плавающей запятой

Reading time 14 min
Views 931K


В далекие времена, для IT-индустрии это 70-е годы прошлого века, ученые-математики (так раньше назывались программисты) сражались как Дон-Кихоты в неравном бою с компьютерами, которые тогда были размером с маленькие ветряные мельницы. Задачи ставились серьезные: поиск вражеских подлодок в океане по снимкам с орбиты, расчет баллистики ракет дальнего действия, и прочее. Для их решения компьютер должен оперировать действительными числами, которых, как известно, континуум, тогда как память конечна. Поэтому приходится отображать этот континуум на конечное множество нулей и единиц. В поисках компромисса между скоростью, размером и точностью представления ученые предложили числа с плавающей запятой (или плавающей точкой, если по-буржуйски).

Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
Читать дальше →
Total votes 245: ↑242 and ↓3 +239
Comments 75

Эксперимент — сколько живых денег может принести ускорение загрузки сайта.

Reading time 2 min
Views 1.1K
Дано: подопытный инетмагазин, вполне успешный в своей области, более тысячи посетителей ежедневно.
Задача: выяснить как скажется на выручке оптимизация загрузки страниц.

На сайт был установлен невидимый яваскрипт-счётчик, который фиксировал время до наступления события window.onload и некоторые другие параметры, в течении 5 рабочих дней собиралась статистика и обкатывался её анализатор.
Читать дальше →
Total votes 91: ↑83 and ↓8 +75
Comments 41

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity