Pull to refresh
-3
0
Павел Омельченко @pOmelchenko

php-developer

Send message

Краткий конспект по языку JavaScript

Reading time15 min
Views114K
Я —.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

Советская операция по спасению мертвой космической станции

Reading time19 min
Views350K

Источник: Spacefacts.de

Эта история произошла в 1985 году, но в последствии постепенно забылась. Шли годы — многие подробности были искажены, кое-что было выдумано. Даже те, кто первыми рассказал об этих событиях, допускали явные ошибки. Операция «Союза-13» по спасению орбитальной станции «Салют-7» была впечатляющей попыткой проведения ремонта в открытом космосе. Писатель Николай Белаковский собрал все факты воедино и готов впервые за все время предоставить нам полноценный рассказ о тех событиях.
Читать дальше →
Total votes 312: ↑305 and ↓7+298
Comments116

ExifTool – швейцарский нож фотометаданных

Reading time5 min
Views60K
Назваться любителем командной строки будет для меня как-то чересчур, скорее, я стал им добровольно-принудительно, т.к. после обновления OS X 10.7 на 10.8 перестала работать программа, которая до того вполне неплохо проставляла геотеги на отснятые фотографии. Здесь надо сделать отступление: на написание этой заметки меня сподвиг более или менее «соседний» материал под названием «Как сэкономить на фотоаппарате с GPS». В моём случае имеет место несколько менее извращённый подход к получению координат посещённых мест, а именно — запись трека GPS-навигатором, остальное же выполняется с помощью ExifTool.

Пожалуй, можно опустить получение удобоваримого формата трека, т.к. это вряд ли сопоставимо с темой заметки, а вот проставление геотегов — одна из задач, которую ExifTool чудесно выполняет.
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments8

Как производят PLA для 3d-принтеров. Репортаж из цеха

Reading time3 min
Views86K
Пистолетный выстрел послужил сигналом создать бизнес.

Дабы развеять мифы о том, что катушки с пластиком для 3d-принтеров растут на деревьях можно только покупать и перепродавать, а так же о том, что достаточно купить «все-в-одном» экструдер и начать свой бизнес, я отправился на разведку к московским производителям ABS и PLA (и HIPS). Действительно, я попал в профессиональный цех с промышленным оборудованием, с измерительными и управляющими приборами высокой точности, высокими стандартами к чистоте (ибо процесс производства очень ответственный) и общительными основателями (готовыми делиться знаниями с любознательной и думающей аудиторией), у которых куча технокреативных идей и планов по захвату мира рынка. (+5 к уровню национальной гордости)

Как рассказал мне со-основатель компании: «Сначала мы увидели распечатанный нож для фруктов, и очищенный им от кожуры апельсин, затем шоком было видео с пистолетом Коди Уилсона и понеслось...»
В то время когда я написал на Хабре первые 2 статьи про 3d-принтеры (весна 2013), эти ребята уже начали создавать бизнес по производству пластика. Интересно, что и мне и им пришла в голову аналогичная идея, как можно дополнить поговорку, мол, человек может бесконечно смотреть на огонь, воду, как работает другой человек и на то, как печатает 3d-принтер.




Полилакти́д (ПЛА, PLA) — биоразлагаемый, биосовместимый, термопластичный, алифатический полиэфир, мономером которого является молочная кислота. Сырьем для производства служат ежегодно возобновляемые ресурсы, такие как кукуруза и сахарный тростник. Используется для производства изделий с коротким сроком службы (пищевая упаковка, одноразовая посуда, пакеты, различная тара), а также в медицине, для производства хирургических нитей и штифтов.

image
Под катом — основные этапы превращения сырья в катушки с PLA для 3d-принтеров
Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments27

RepRap: немного практики, теории и как избежать ошибок при сборке (часть 1)

Reading time10 min
Views203K
Про 3Д принтеры написано уже воз и малая тележка, но когда начинаешь собирать самостоятельно — сталкиваешься с кучей вопросов и проблем, которые нигде не описаны…
Данный пост — маленькое пособие для начинающих РепРаперов (ну и остальным что-то пригодится) про шишки, которые я набивал при сборке своего RepRap Prusa Mendel.
Читать дальше →
Total votes 48: ↑45 and ↓3+42
Comments41

Hyperlapse: съёмка ускоренного видео со стабилизацией изображения на смартфоне

Reading time1 min
Views55K
Вскоре после Microsoft похожую технологию съёмки hyperlapse-видео со стабилизацией изображения показала и компания Instagram (Facebook). Здесь уже есть готовое мобильное приложение, которое можно попробовать прямо сейчас. К сожалению, бесплатная программа вышла только под iOS, а под Android отсутствуют какие-то функции в API.



Разработчики программы — Алекс Карпенко и Томас Димсон, друзья из Стэнфордского университета. В 2010 году Карпенко защитил дипломную работу на тему стабилизации изображений, а в 2013 году его фирма Luma разработала технологию для стабилизации видео на смартфоне. Секрет — в использовании акселерометра во время съёмки, чтобы компенсировать движения камеры.
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments10

Запуск VMWare образов на реальном железе и другие нюансы Zalman VE-300

Reading time5 min
Views85K

Предисловие


Был обычный вечер. Заняться было нечем, а скоротать время до сна каким-то образом надо было.
Решил я почистить свой внешний HDD от хлама, а заодно и проверить, есть ли новая прошивка на любимый карман Zalman VE-300. Зайдя на сайт Zalman, я как раз такую и обнаружил. Пока прошивка скачивалась через невероятно медленный EDGE, я просматривал changelog. Мой взор привлекла такая строчка:
Support VHD of MS / VMDK of VMWare which is virtual Hard disk file (Still not support for Dynamic)
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments67

50 лучших цитат про Linux

Reading time5 min
Views110K
Доброго дня!

Наверное, многим известно, что 25 августа — день рождения Linux. Именно сегодня, 23 года назад, Линус Торвальдс отправил свое знаменитое письмо. В этот знаменательный день я хотел бы порадовать русскоговорящее сообщество переводом подборки цитат, которого, как выяснилось, до сегодняшнего дня в полном объеме не существовало.
Под катом — кладезь мудрости, сарказма, иронии и косяков перевода. Добро пожаловать!
Читать дальше →
Total votes 149: ↑126 and ↓23+103
Comments115

Как пароль изменил мою жизнь

Reading time4 min
Views377K
«Как она могла так поступить со мной?» — спрашивал я себя. Каждый день. Все время.

В 2011 году, когда еще были популярны градиенты, а Ай-ОС иконки задавали направление в дизайне и люди пользовались дезодорантами, я был в депрессии из-за своего развода.

К счастью, я оказался достаточно находчивым, чтобы выбраться из нее. (Еще мне помогли замечательные люди, которые меня окружали.)

* * * * *

Как-то раз, я пришел в офис и взглянул на свой монитор. Все было классно, пока я не увидел это сообщение:

Ваш пароль устарел.
Кликните на кнопку «Изменить пароль», чтобы изменить пароль.


Да ладно! А я-то думал кнопка «Изменить пароль» предназначена для чего-то другого.

Я прочитал это дурацкое сообщение про себя голосом ворчливого старика: «Чертов пароль устарел».

На моей работе Microsoft Exchange Server требовал менять пароль каждые 30 дней у тысяч сотрудников.

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

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

* * * * *

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

Вскоре, немного успокоившись, я вспомнил про метод, который слышал от своего бывшего начальника Расмуса. Он объединил список дел с паролями. А я решил использовать расширенный вариант этого метода.

Я решил использовать пароль, чтобы изменить свою жизнь.
Читать дальше →
Total votes 344: ↑283 and ↓61+222
Comments232

Руководство по собеседованию на вакансию PHP-программиста

Reading time22 min
Views255K
Вездесущий… это определённо то слово, которым можно описать язык PHP по отношению к вебу. Он действительно вездесущ. В настоящее время, среди всех серверных языков программирования, PHP используется наиболее широко. На нём написаны более 80% сайтов, при этом следующий по популярности ASP.NET со своими 17% остаётся далеко позади.



Почему? Что позволило PHP стать настолько популярным и широко используемым? На этот вопрос нет однозначного ответа, но простота использования языка, безусловно, существенный фактор, поспособствовавший его успеху. Новички в PHP могут быстро выйти на достаточный уровень и разместить динамический контент на своих веб-сайтах с минимум познаний в программировании.

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

Как же отличить тех, кто обладает реальной компетентностью в PHP (не говоря уже о тех, кто входит в 1% наиболее опытных кандидатов) от тех, у кого только поверхностные знания?
Читать дальше →
Total votes 96: ↑73 and ↓23+50
Comments107

Google анонсировал бесплатные курсы программирования для Android

Reading time2 min
Views91K
Как стало известно на этой неделе, Корпорация Добра объединилась с небезизвестной Udacity чтобы сделать общедоступные бесплатные курсы по программированию под платформу Android. Курсы будут доступны для всех желающих. По традиции они будут включать в себя видео, викторины, множество учебных материалов и доступ к форумам для общения и обсуждения сопутствующих тем.

Узнать все подробности и ссылки
Total votes 35: ↑32 and ↓3+29
Comments6

Проекты на WordPress: советы по оптимизации

Reading time9 min
Views52K
wordpress

Сегодня Wordpress является одной из самых популярных CMS. Задуманная изначально как движок для блогов, сегодня она используется для самых разных типов сайтов, в частности, для новостных порталов и интернет-СМИ. На Wordpress работают корпоративные веб-сайты, образовательные и развлекательные порталы.

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

Подробных инструкций по установке и настройке Wordpress в Интернете опубликовано немало. В этой статье мы бы хотели затронуть вопросы, которым в большинстве публикаций о Wordpress не уделяется достаточно внимания. Мы расскажем о том, как оптимизировать работу сайтов на Wordpress, а также дадим ряд рекомендаций по повышению уровня безопасности и стабильности работы. Во всех примерах используется Ubuntu 12.04.
Читать дальше →
Total votes 64: ↑51 and ↓13+38
Comments70

12 заповедей про бэкап, за которые я чуть не заплатил пальцем

Reading time6 min
Views197K


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

1. Бэкап должен быть всегда.
Как бы не развивались технологии, старая добрая резервная копия никогда не потеряет своей ценности, в трудную минуту сохраняя нам нервы, работу, премию, а также успокоительные средства. Она, в случае чего, позволяет нам не паниковать, действовать взвешено, допуская разумный риск.
Даже если в вашем сервере все компоненты дублированы, а данные лежат на дорогом массиве с избыточностью, отгоните от себя ложное чувство безопасности. Никто не застрахован от логических ошибок и человеческого фактора.
Читать дальше →
Total votes 71: ↑63 and ↓8+55
Comments80

15 малоизвестных команд Linux

Reading time3 min
Views317K
Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
Читать дальше →
Total votes 333: ↑274 and ↓59+215
Comments224

Быть в 3d или не быть? Как я сам себя отсканировал и распечатал на 3d-принтере

Reading time3 min
Views94K
«С незапамятных времен люди стремились уменьшить то, чем пользуются» Эрлих Бахман, «Кремниевая долина», эпизод 7

Сейчас на стыке технологий 3d-сканирования и 3d-печати появилась услуга (вреде началось все в Японии в 2012) по изготовлению 3d-фигурок.
В кинематографе 3d-принтеры промелькнули в сериалах «Элементарно» (там злодей распечатал либератор, но на хабре напечатали нарисовали в фотошопе либератор раньше, чем в кино) и в «Теории большого взрыва»(свисток сделали многие, а вот про фигурки еще никто не писал).
Вдогонку к посту о том, что стоит развивать различные 3d-сервисы в России, хочу поделиться тем как происходит процесс создания 3d фигурки от и до.
Итак, я зашел в гости к ребятам на цветном бульваре и покорение 3-го измерения началось.


Читать дальше →
Total votes 99: ↑92 and ↓7+85
Comments73

Wi-Fi сети: проникновение и защита. 3) WPA. OpenCL/CUDA. Статистика подбора

Reading time24 min
Views362K


Баста карапузики, кончилися танцы.

В предыдущей части мы детально рассмотрели «читерские» приёмы обхода «защит» (скрытие SSID, MAC-фильтрация) и защит (WPS) беспроводных сетей. И хотя работает это в половине случаев, а иногда и чаще — когда-то игры заканчиваются и приходится браться за тяжёлую артиллерию. Вот тут-то между вашей личной жизнью и взломщиком и оказывается самое слабое звено: пароль от WPA-сети.

В статье будет показан перехват рукопожатия клиент-точка доступа, перебор паролей как с помощью ЦП, так и ГП, а кроме этого — сводная статистика по скоростям на обычных одиночных системах, кластерах EC2 и данные по разным типам современных GPU. Почти все они подкреплены моими собственным опытом.

К концу статьи вы поймёте, почему ленивый 20-значный пароль из букв a-z на пару солнц более стоек, чем зубодробительный 8-значный, даже использующий все 256 значений диапазона.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
По традиции, под катом ещё 15 страниц
Total votes 168: ↑167 and ↓1+166
Comments57

Wi-Fi сети: проникновение и защита. 2) Kali. Скрытие SSID. MAC-фильтрация. WPS

Reading time20 min
Views647K


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

В этой статье мы поговорим о том, как можно обнаружить «скрытые» сети, обойти MAC-фильтрацию на точке доступа и почему же WPS (QSS в терминологии TP-LINK) — это «бэкдор в каждом доме». А перед этим разберёмся, как работает беспроводной адаптер и антенна и как Kali Linux (ex. Backtrack) поможет нам в тестах на проникновение в беспроводные сети.

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

Перед прочтением настоятельно советую ознакомиться с матчастью — она короткая, но на её основе базируются все наши дальнейшие действия и выводы.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
Много текста. Очень.
Total votes 171: ↑168 and ↓3+165
Comments39

Wi-Fi сети: проникновение и защита. 1) Матчасть

Reading time9 min
Views625K


Синоптики предсказывают, что к 2016 году наступит второй ледниковый период трафик в беспроводных сетях на 10% превзойдёт трафик в проводном Ethernet. При этом от года в год частных точек доступа становится примерно на 20% больше.

При таком тренде не может не радовать то, что 80% владельцев сетей не меняют пароли доступа по умолчанию. В их число входят и сети компаний.

Этим циклом статей я хочу собрать воедино описания существующих технологии защит, их проблемы и способы обхода, таким образом, что в конце читатель сам сможет сказать, как сделать свою сеть непробиваемой, и даже наглядно продемонстрировать проблемы на примере незадачливого соседа (do not try this at home, kids). Практическая сторона взлома будет освещена с помощью Kali Linux (бывший Backtrack 5) в следующих частях.

Статья по мере написания выросла с 5 страниц до 40, поэтому я решил разбить её на части. Этот цикл — не просто инструкция, как нужно и не нужно делать, а подробное объяснение причин для этого. Ну, а кто хочет инструкций — они такие:
Используйте WPA2-PSK-CCMP с паролем от 12 символов a-z (2000+ лет перебора на ATI-кластере). Измените имя сети по умолчанию на нечто уникальное (защита от rainbow-таблиц). Отключите WPS (достаточно перебрать 10000 комбинаций PIN). Не полагайтесь на MAC-фильтрацию и скрытие SSID.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
Как работают WEP, WPA и WPS
Total votes 185: ↑176 and ↓9+167
Comments76

Бесплатная копия Battlefield 3

Reading time1 min
Views59K


Как говорил Сунь Цзы, «если долго сидеть на берегу реки, то можно увидеть, как по ней проплывёт труп твоего врага».

Тем, кто хотел получить игру Battlefield 3 бесплатно, пришлось подождать лишь три года — и вот, в преддверии летних отпусков/каникул Electronic Arts раздает Battlefield 3 бесплатно.

Скачать бесплатно Battlefield 3 можно до 3 июня в сервисе цифровой доставки Origin.

P.S. Там же бесплатно раздаётся и Plants vs. Zombies (до 16 июня).
Total votes 56: ↑40 and ↓16+24
Comments51

Как я заказывал и собирал PRUSA i3

Reading time6 min
Views162K
После того, как мне пришел распечатанный корпус для моих часов (еще раз спасибо bigbee), я загорелся идеей купить 3D принтер. Идея RepRap opensource принтеров мне понравилась, да и цена на них не так уж и кусалась. После многочисленных страниц форумов и кучи предложений на интернет площадках, я решил купить Prusa i3 (Прюша итерация 3). За подробностями прошу под кат.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments41

Information

Rating
Does not participate
Location
Подольск, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer
Senior
PHP
Laravel
Symfony
PostgreSQL
MySQL
Nginx
Git
Docker
Linux