Pull to refresh
9
0

User

Send message

15 советов и хитростей инструментов разработчика Chrome, которые вы обязаны знать

Reading time5 min
Views206K
Сегодня Google Chrome является самым популярным браузером среди веб разработчиков. С быстрым, шести недельным, циклом релизов и мощным набором постоянно расширяющихся инструментов разработчика, превратившим браузер в инструмент, который вы обязаны иметь. Большинство из вас, вероятно, знакомы со многими его функциями, такими как «живое» редактирование CSS, используя консоль и отладчик. В этой статье мы с вами рассмотрим 15 захватывающих советов и хитростей, которые позволят улучшить вашу производительность еще больше.
Читать дальше →
Total votes 88: ↑85 and ↓3+82
Comments23

Простой разбор URL с помощью изоморфного Javascript

Reading time4 min
Views66K
Во многих веб-приложениях требуется разбор URL, такой как извлечение доменного имени, имплиментация REST API или поиск пути к файлам изображений. Типичная структура URL показана на рисунке ниже:


Читать дальше →
Total votes 29: ↑20 and ↓9+11
Comments30

Настраиваем Amazon Elastic Load Balancing: с email forwarding-ом и редиректами

Reading time4 min
Views8.7K
image

Время релиза моего проекта выходного дня приближалось. Мобильные приложения были загружены в магазины приложений и мы ждали ответа от Apple, поскольку проверка в Google Play проходит довольно быстро и безболезненно. Весь код серверного приложения был уже написан, делать было нечего, а свободного времени было около недели. Я подумал, что неплохо было бы заранее обзавестись load balancer-ом, чтобы в будущем не тратить много времени на его настройку, да и к тому же настройка после релиза наверняка привела бы к тому, что сервер какое-то время перестал бы обслуживать пользователей. Для хостинга серверов мы использовали Amazon EC2, поэтому и load balancer выбрали амазоновский — Amazon Elastic Load Balancer (ELB).
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments4

О некоторых аспектах ремонта платы электроники жесткого диска

Reading time4 min
Views174K
Здравствуйте, уважаемые хабравчане! Это первая публикация в недавно открытом корпоративном блоге компании “Хардмастер”, специализирующейся на профессиональном восстановлении данных с накопителей. И с вами я, ведущий инженер Артем Макаров aka Robin. В этом блоге я и мои коллеги в меру сил будем стараться выкладывать материалы, которые смогут реально помочь всем желающим самостоятельно справляться с задачами по ремонту вышедших из строя девайсов и восстановлению информации с них.

Одной из распространенных причин выхода из строя жестких дисков являются проблемы с платой электроники.

image
(в простонародье это называют контроллером HDD, что конечно же некорректно)

И мы начинаем цикл публикаций по обзору поломок плат HDD и методов их устранения. Подписывайтесь и следите за обновлениями!
Читать дальше →
Total votes 44: ↑41 and ↓3+38
Comments30

Архитектурный дизайн мобильных приложений: часть 2

Reading time7 min
Views48K
Чтобы направить всю энергию системы в необходимом направлении, нужно эту систему ограничить правилами.


Привет, Хабр! Продолжаем серию статей об архитектурном дизайне мобильных приложений. Под катом поговорим о проектировании слоёв UI. Добро пожаловать!
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments20

Письмо Дейкстры: почему обучение программированию нужно начинать с функционального языка

Reading time4 min
Views102K


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

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

В 2001 году, Эдсгер Дейкстра написал письмо экономическому совету университета Техаса. В нем знаменитый ученый призывает членов совета задуматься о смене языка программирования для вводного курса. К сожалению, язык был заменен на Java. Примерно в то же время MIT сменили язык курса «Структура и интерпретация компьютерных программ» с функционального Scheme (диалекта LISP) на Python.

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

Членам Экономического Совета


Я пишу вам по поводу слуха о замене языка во вводном курсе по программированию с функционального языка Haskell на императивный язык Java. Я считаю, что Совет должен взять на себя ответственность, чтобы решение не было принято на неправильном уровне.
Читать дальше →
Total votes 65: ↑61 and ↓4+57
Comments309

15 лучших JavaScript-библиотек для построения диаграмм и сводных таблиц

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

В этой статье я покажу вам некоторые из лучших JavaScript библиотек для построения диаграмм/схем (и сводных таблиц). Эти библиотеки помогут вам в создании красивых и настраиваемых графиков для ваших будущих проектов.

Хотя большинство библиотек являются бесплатными и свободно распространяемыми, для некоторых из них есть платные версии с дополнительным функционалом.

Читать дальше →
Total votes 71: ↑65 and ↓6+59
Comments17

Обработка и оформление отчетов в Excel на PHP

Reading time16 min
Views255K

Не редко при разработке некоего проекта, возникает необходимость в формировании отчетной статистики. Если проект разрабатывается на Delphi, C# или к примеру, на С++ и под Windows, то тут проблем нет. Всего лишь необходимо воспользоваться COM объектом. Но дела обстоят иначе, если необходимо сформировать отчет в формате excel на PHP. И чтобы это творение функционировало на UNIX-подобных системах. Но, к счастью, не так все плохо. И библиотек для этого хватает. Я свой выбор остановил на PHPExcel. Я уже пару лет работаю с этой библиотекой, и остаюсь доволен. Поскольку она является кроссплатформенной, то не возникает проблем с переносимостью.


PHPExcel позволяет производить импорт и экспорт данных в excel. Применять различные стили оформления к отчетам. В общем, все на высоте. Даже есть возможность работы с формулами. Только необходимо учитывать, что вся работа (чтение и запись) должна вестись в кодировке utf-8.

Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments28

Краткое введение в терминалы и консоль

Reading time3 min
Views74K
Тут живут драконы и нет ментейнеров (вместо эпиграфа)

Очень сжатое боевое описание «что есть псевдо-терминал» и «консоль».

Итак, во-первых, определимся с тем, что такое консоль: консоль это программа, которая принимает от пользователя кнопки, а от соединения с компьютером — буквы на экран и спец. команды по рисованию картинки на экране.

Терминал — обобщённое название как программы, так и специальной железки (таких больше нет в природе). Особое исключение — когда вы запускаете путти или ещё кого-то для подключения к последовательному порту коммутатора/рутера/модема (или даже сервера), то вы выступаете (точнее компьютер с путти выступает) в роли терминала (название «терминал» — потому что терминирует кабель (то есть висит на самом конце) ).

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

Когда запускается шелл, то он получает в своё распоряжение виртуальное устройство /dev/tty, которое у каждого процесса своё — это «обратная» часть терминала. Передняя часть в случае кабеля реализуется путти+компьютер, в случае консоли компьютера, специализированным ядерным драйвером (виртуальными консолями). Важно: драйвер эмулирует наличие терминала.
Читать дальше →
Total votes 106: ↑64 and ↓42+22
Comments101

Как стать системным администратором — пособие для начинающих (часть 2)

Reading time11 min
Views539K
Предыдущая часть: habrahabr.ru/post/118475

В этой части: подробнее о жизни эникейщика: как устроиться, чем заниматься, чего избегать, к чему стремиться.

Я откладываю вопрос о «будущем сисадмина» на следующие части — сейчас я сфокусируюсь на том, как начинается карьера. Повторю, опытным администраторам всё это будет казаться либо обидным, либо очевидным — но я достаточно посмотрел за эту весну на людей, которые пытаются «вскочить в индустрию», но у них не получается. Именно для них этот цикл статей. (Я не ощущаю себя достаточно умным, чтобы рассказывать про будущее карьеры для людей, у которых опыта, возможно, больше, чем у меня).

Вступление


Примерно до середины 2000ых было два пути стать системным администратором: через путь эникейщика и через профильное высшее образование (обычно, в всякого рода институтах связи). Первое давало много опыта, второе — довольно много знаний (из которых большая часть не нужна). Сейчас появился третий — всякого рода «курсы системного администрирования», которые, реально, тлен и прах (если судить по тому, что знают и умеют те, кто их закончил).
Читать дальше →
Total votes 159: ↑149 and ↓10+139
Comments96

Обходим защиту iOS клиента Dropbox

Reading time5 min
Views32K


Что в первую очередь сделает iOS разработчик, если перед ним встанет задача спрятать пользовательские данные от любопытных глаз? Конечно же, встроит экран парольной защиты. Особо хитрый разработчик даже не будет хранить установленный пользователем пароль в NSUserDefaults, а аккуратно спрячет его в связку ключей — в этом случае приложение в глазах как его, так и заказчика, сразу же перемещается в разряд «сверхзащищенных».
Мы не будем углубляться в описание опасностей хранения ключа в открытом доступе — ведь есть гораздо более интересный способ обхода такой защиты.
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments21

Как сделать прибыльной разработку дизайна сайтов (часть 4)

Reading time5 min
Views21K
image

Сегодня обратимся к теме прототипов. Сразу хочу попросить 32% читателей, которые уже в курсе этой темы, не мешать остальным 49%, которые не пробовали работать с сервисами по созданию прототипов, разбираться в этом вопросе (по данным опроса «Знаете ли вы о существовании сервисов для создания прототипов» часть 2).

image

Тема «прототипирование»


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

Как-то одним прекрасным солнечным утром, придя на работу и сделав кружку крепкого кофе, я решил открыть почту от клиента — и мне захотелось облить его этим горящим кофе, запустить в него кружку, порвать договор и заставить съесть подписанные им макеты (в письме клиент написал, на половине готовых работ: давайте переделаем верх, низ и две страницы — главную и список услуг).
Читать дальше →
Total votes 37: ↑29 and ↓8+21
Comments4

Выбор поставщика решения двухфакторной аутентификации. Часть 1 из 2

Reading time7 min
Views23K
Итак, уже для многих не секрет, что простая парольная аутентификация не защитит ваши данные от рук злоумышленника. Дело тут не в длине пароля и не в том, как часто вы его меняете. Простой фишинг или вирус на вашем компьютере передаст ваш сложный двадцати-символьный пароль тому, кто его ждет. О сколько вы мучились, вводя его каждый раз в окно логина, потому что хранить его в файле или кеше браузера небезопасно.


О решении проблемы уже все наслышаны. Конечно, речь идет о применении мультифакторной аутентификации (MFA). Факторами могут выступать знания, предметы или биометрические данные (недостаткам биометрии я планирую посвятить отдельную статью). Чаще всего применяется двухфакторная аутентификация, которая использует привычный пароль, а также еще один одноразовый (OTP). Он может быть доставлен пользователю различными способами и действует только для одного сеанса аутентификации. Также, в современных алгоритмах генерации паролей TOTP (по времени) и OCRA (по запросу) время действия одноразового пароля ограничено 30 или 60 секундами, что значительно усложняет задачу злоумышленнику. Способы доставки или автономной генерации существуют различные: от распечатанных списков паролей на карточках или чеках из банкоматов, SMS-сообщений до использования специальных устройств генерации OTP — токенов.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments18

Использование Accept Header для версионирования API

Reading time4 min
Views17K
Я исследовал различные варианты дя версионирования REST API. Большинство источников, которые я нашел, говорят практически одно и тоже. Для версионирования любого ресурса в интернете вы не должны изменять URL-адрес. Веб не версионный, и изменение URLа говорит клиенту, что есть больше чем 1 ресурс. Но на самом-то деле не существует нескольких ресурсов, это просто разные представления одного и того же. Конечно, бывают случаи, когда необходимо изменить URL, например, когда измененяется функциональность. В данном конкретном случае причиной изменения служит тот факт, что это больше не один и тот же ресурс.

Но с другой стороны, и, возможно, даже более важной, вы всегда должны стараться убедиться, что изменения будут обратно совместимы. Нужно очень хорошо проектировать архитектуру, чтобы использующие ваше API клиенты не меняли свой код. Хорошо продуманное API может спасти вас от большой, очень большой головной боли.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments20

FAQ по программированию под Android от новичка, и для новичков

Reading time16 min
Views158K
Предисловие к FAQ.

Программирование является моим хобби уже давно (правда на других языках и платформах), но до андроида руки дотянулись совсем недавно. Прошло несколько этапов, прежде чем я добрался до написания программ.
Сначала была пара месяцев посвященных Java, на сайте с «Сгибателем».
После, долгие попытки подружится с Eclipse, закончившиеся побегом на Android Studio.
На данный момент выпущено 7 программ и две находятся в разработке.
Данная подборка возникла как попытка структурирования и оптимизации полученной в процессе информации.
Заранее извиняюсь за возможно некорректную терминологию – так как практикую обучение через создание, и в теоретической части есть пробелы.

Надеюсь, что приведенные примеры окажутся полезными.
Читать дальше →
Total votes 114: ↑98 and ↓16+82
Comments23

LiveDC — Быстрый доступ к p2p файлам

Reading time2 min
Views15K
Сегодня существует большое количество DC-клиентов на самый разный вкус. Однако все они наделены существенным недостатком: нужно ждать, пока скачиваемый файл полностью загрузится. А если вы желаете посмотреть фильм или новый эпизод любимого сериала в высоком качестве, то даже при скорости интернета 100 Мбит/с ждать придется довольно долго. Но ведь хочется-то сейчас!


Разве это возможно?
Total votes 32: ↑30 and ↓2+28
Comments56

Назад в прошлое: Печать фотографий на фотоувеличителе

Reading time10 min
Views123K
imageНедавно мне захотелось обновить воспоминания далёкого детства, когда напечатанные фотографии рождались не в фотолабораториях, а каким-то магическим образом из света и тени возникали в чуланах и ваннах обычных советских граждан. Несмотря на те смутные воспоминания, опыта печати фотографий на у меня никогда не было, так что это будет статья абсолютного нуба, попробовавшего разобраться в том, как работают технологии двадцатилетней давности и как запустить всю эту кухню в современных реалиях.
Вероятно, у старшего поколения всё это вызовет лишь улыбку, но ведь из тех, кому нет 30 лет лишь единицы имеют опыт печати фотографий. И сейчас даже отдалённое понимание того, какими способами такие люди как Энсель Адамс или Майкл Кенна достигали или достигают шедевральности своих фотографий уходит потихоньку в историю.
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments69

Как сохранить и как задействовать деньги?

Reading time9 min
Views43K
Рано или поздно к каждому из нас приходит понимание необходимости в денежном «буфере» про запас. На чёрный день, так сказать. Кто-то может насобирать скромную сумму, ежемесячно откладывая по чуть-чуть с зарплаты, кому-то достался приличный «буфер» от дядюшки… Как бы то ни было, встаёт вопрос хранения имеющихся средств, а ещё лучше — их задействования! Совсем не хочется, чтобы имеющиеся деньги просто таяли вместе с инфляцией.
Не так давно я проводил опрос, с надеждой открыть что-то новое для себя и с целью узнать где хранят деньги уважаемые хабражители, пускают ли их «в дело». И, из результатов опроса и комментариев к нему, понял, что мне есть что рассказать по этому поводу.
Под катом небольшой обзор самых популярных инструментов для самых начинающих от инвестора-любителя :) Я вкратце расскажу о банковских вкладах, индексируемых депозитах, ПИФах, ПАММ и ТМА-счетах.
Вопросы мотивации на накопление средств и вопросы выбора валюты в данном посте не рассматриваются.
Читать дальше →
Total votes 66: ↑57 and ↓9+48
Comments79

Организация домашнего медиапространства

Reading time5 min
Views13K
Вот уже полтора года мне служит верой и правдой домашний медиасервер, задачами которого являются:
  • torrent-качалка-раздавалка;
  • локальная файлопомойка;
  • примитивный веб-сервер для таких же примитивных страничек (а чего взять-то от горняка?);
  • ftp-сервер;
  • «генератор аудио-видеоконтента» для просмотра на телевизоре закачанных фильмов/мультиков (благодаря встроенной видюхе ION)...

Вертится это все под периодически обновляемой Убунтой, и в общем и целом за исключением некоторых недостатков, до недавнего времени вполне устраивал.
Как быть и что делать - под катом. Многабукаф...
Total votes 43: ↑38 and ↓5+33
Comments71

Диагностика неисправностей блока питания с помощью мультиметра

Reading time4 min
Views348K
Недавно понадобилось произвести диагностику питания, для того чтобы понять по какой причине не запускается машина. К сожалению, в интернете оказалось мало годных статей на эту тему, поэтому пришлось самому лезть в даташиты.
Эта статья является выжимкой из моих изысканий и надеюсь поможет кому-нибудь, когда им придется заниматься тем же самым.

Дисклеймер номер раз: Данная статья относится только к обычным блокам питания стандарта ATX, она не относится к проприетарным стандартам блоков (например как у старыx рабочиx станциях DELL или SUN), использующим другую распиновку ATX-коннектора. Внимательно сверьтесь со схемой и убедитесь в том, что ваш блок питания является стандартным прежде чем проводить диагностику, во избежании причинения вреда вашему компьютеру.

Дисклеймер номер два: Вы должны понимать что вы делаете и соблюдать технику безопасности, в том числе электростатической (в т.ч. работать в антистатическом браслете). Автор не несет ответственности за порчу оборудования или вред здоровью вследствие несоблюдения или незнания техники безопасности и принципов работы устройства.


Перейдем к теории:

Стандарт ATX имеет 2 версии — 1.X и 2.X, имеющие 20 и 24-пиновые коннекторы соответственною, вторая версия имеет 24-x 4 дополнительных пина, удлиняя тем самым стандартный коннектор на 2 секции таким образом:
image

Прежде чем мы начнем, расскажу про “правила большого пальца” по отношению к неисправностям:
1) Проблемную материнскую плату легче заменить чем починить, это крайне сложная и многослойная схема, в которой разве что можно заменить пару конденсаторов, а обычно это проблемы не решает.
2) Если вы не уверены в том что вы делаете, то не делайте этого.

Читать дальше →
Total votes 135: ↑130 and ↓5+125
Comments58

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity