Pull to refresh
4
0

Software Engineer

Send message

Анализ спроса и предложения фрилансеров на примере биржи oDesk

Reading time7 min
Views99K


Введение


oDesk — крупнейшая в мире (ну по крайней мере так считает сам oDesk) международна биржа фрилансеров. Про сам оDesk на хабре писали уже довольно много раз, например тут или тут, где, на мой взгляд, практически разжёвано зачем и для кого создан данный ресурс, и особенно “с чем его есть”. В связи с этим этап описания и принцип работы сайта можно опустить. Я же попытаюсь провести анализ данных как о самих фрилансерах, так и о заказах, заказчиках и их требованиях к фрилансерам — грубо говоря что нужно уметь и знать, чтобы быть более менее в теме современных технологий. Также проанализирую спрос и предложение на основе данных о навыках фрилансеров и требованиях клиентов. И конечно некоторые статистические данные и немного красивых картинок в качестве примеров (кто работает на oDesk, откуда в основном идут заказы, кто больше зарабатывает, а кто лучше работает и т.д.). И все это на основе самостоятельно собранной информации, так открыто и благородно предоставляемой самим oDesk’ом посредством API. Стоит отметить, что статья с небольшим количеством статистики про oDesk ранее уже успела промелькнуть на просторах хабра, однако в ней, в отличии от текущей статьи, oDesk сам себя хвалил предоставил результаты. В целом же, сразу хочу сказать, что не претендую на полноту обзора, однако ниже будет кратко описан процесс сбора данных, что позволит провести Ваш собственный анализ при необходимости.
Читать дальше →

Набор иконок Material Design от Google

Reading time1 min
Views106K


В списке самых популярных репозиториев Github за неделю на первое место вышел набор иконок Material Design, разработанный в компании Google.

Набор содержит аж 750 (!) глифов. Это пиктограммы, часто используемые в различных мобильных приложениях для воспроизведения медиа, коммуникаций, редактирования контента, установки соединения и т.д.
Читать дальше →

mod_performance 0.4 помощь в мониторинге Apache 2.x

Reading time6 min
Views8.2K

mod_performance – 0.4


Завершающий цикл статей, посвященных модулю apache — mod_performance.

Экскурс в историю


Это обычный модуль Apache 2.x для Linux:
  1. модуль предназначен для сбора и накопления статистики по использованию ресурсов(CPU и memory, время выполнения скрипта) веб-сервером Apache 2.4/2.2/2.0;
  2. модуль позволяет производить анализ собранных данных.

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

Выразительный JavaScript: Функции

Reading time17 min
Views232K

Содержание




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

Дональд Кнут


Вы уже видели вызовы функций, таких как alert. Функции – это хлеб с маслом программирования на JavaScript. Идея оборачивания куска программы и вызова её как переменной очень востребована. Это инструмент для структурирования больших программ, уменьшения повторений, назначения имён подпрограммам, и изолирование подпрограмм друг от друга.

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

Средний взрослый русскоговорящий человек знает примерно 10000 слов. Редкий язык программирования содержит 10000 встроенных команд. И словарь языка программирования определён чётче, поэтому он менее гибок, чем человеческий. Поэтому нам обычно приходится добавлять в него свои слова, чтобы избежать излишних повторений.
Читать дальше →

В микроволновой печи скрывается мощное и опасное СВЧ оружие

Reading time4 min
Views642K
Добрый день, уважаемые хабровчане.

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

В микроволновке находится генератор СВЧ волн огромной мощности


Мощность волн, которые используются в микроволновке, уже давно будоражит моё сознание. Её магнетрон (генератор СВЧ) выдаёт электромагнитные волны мощностью около 800 Вт и частотой 2450 МГц. Только представьте, одна микроволновка вырабатывает столько излучения, как 10 000 wi-fi роутеров, 5 000 мобильных телефонов или 30 базовых вышек мобильной связи! Для того, что бы эта мощь не вырвалась наружу в микроволновке используется двойной защитный экран из стали.
Читать дальше →

Как убеждать людей в сети: семнадцать малоизвестных джедайских трюков

Reading time11 min
Views307K


Хотите узнать, как на просторах интернета убеждать людей и получать от них желаемое?

Сила убеждения, вот что обычно отличает успешных от всех остальных. И существует ряд доказанных наукой приёмов о которых вы, возможно, ещё не слышали, но которые способны радикально увеличить вашу способность убеждать.

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

Android разработчики: всем выйти из сумрака?

Reading time1 min
Views13K
Наверняка, все разработчики в Google Play Market уже заметили оповещение, что с сегодня, с 30-го сентября мы обязаны опубликовать свой физический почтовый адрес. Тем более, если имеются платные приложения.
Юридическим лицам голосование не интересно, проблем с опубликованием адреса, очевидно, никаких душевных мук не доставляет.

Хороший менеджер – ленивый менеджер

Reading time3 min
Views110K
Случалось ли вам наблюдать, как руководитель проекта с самого его начала постоянно занимается пожаротушением, полностью погружен в борьбу с неотложными проблемами, темп поступления которых превышает скорость их решения. Все задачи, которые получает команда проекта, имеют наивысший приоритет и срочность: «Это надо было сделать еще вчера!» Трудовой героизм. Постоянные сверхурочные. Субботники. Авралы. Обучение, анализ, планирование, проектирование, тестирование, рефакторинг – «это все потом!».

Знакомо?

«Хорошо управляемое предприятие — это спокойное место. Зато «фабрика, отличающаяся «кипучей» деятельностью и «трудовым героизмом» работников, который бросается в глаза любому посетителю, является на самом деле плохо управляемой», писал управленческий авторитет Питер Фердинанд Друкер.

Проблема большинства проектов разработки ПО заключается не в том, что люди мало трудятся, а в том, что они делают не ту работу, которую нужно делать. Хороший менеджер должен руководствоваться фундаментальным принципом наименьшего действия и, следовательно, быть ленивым. И у него все получится. Почему?
Читать дальше →

Как становятся менеджерами: 4 карьерные истории с разбором и выводами

Reading time8 min
Views46K
В предыдущей статье «Почему люди не растут: чем больше вариантов роста, тем хуже», мы договорились продолжить препарирование этой темы и перейти к ответу на вопрос «А как все-таки расти?»

Особенно, видимо, вопрос зацепил тех, кто сейчас работает больше всех и начинает что-то подозревать…

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

История 1: не пофигическая


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

Как все запущено

Слава Панкратов, бизнес-тренер, управляющий партнер Школы менеджеров Стратоплан.

Моя схема получения первой менеджерской позиции – «Карьерный лифт»: мой менеджер стал директором новой компании и позвал меня на позицию руководителя отдела тестирования ПО. Я учился на 4 курсе института (первая вышка), стационар, 22 года.
Читать дальше →

Почему люди не растут: чем больше вариантов роста, тем хуже

Reading time11 min
Views49K
Предыдущая статья «Обнуление экспертизы программиста при повышении в менеджеры», несмотря на бухтение в коментариях по поводу терминологии «экспертиза» и «опыт», все-таки получила свою долю внимания и обсуждений по делу: тогда продолжаем.

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

С какими решениями у нас больше всего проблем?

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

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

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

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

Притча о программистах и кодерах

Reading time9 min
Views24K
Давным давно, в далёкой предалёкой галактике, на одной провинциальной планетке жили разумные млекопитающие, у которых недавно начался век информационных технологий. В тот век многим приходилось писать программы на разных языках для различных программных платформ. И любой потомок обезьяны с этой планеты, написавший хотя бы пару строчек кода, который заставил тупую вычислительную машину сделать несколько разумных (с точки зрения автора) действий, уже считал себя просветлённым мудрецом, постигшим ДАО информационных технологий и назывался не иначе как джедаем программистом.

image

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

Legacy-фобия

Reading time7 min
Views39K
Коллеги, у меня для вас есть замечательная новость, мы получили чудесный проект, его несколько лет писали неизвестные нам разработчики, адрес которых мы вряд ли узнаем (чтобы «поделиться обратной связью»), писали очень давно и не известно под чем, и нам предстоит его поддерживать и развивать. Проект сейчас находится на пике своей производительности и мы скоро упремся, любые неаккуратные изменения могут его положить, но мы будем его развивать. Ура!

Согласитесь, странно звучит? Как бред больного на голову программиста. Кто же любит legacy? Это же всегда говнокод (ведь только мы сами пишем идеально), в нем полно багов (а мы сами пишем без ошибок), ужасные решения (ведь только мы сами выбираем подходящую архитектуру), и почти всегда его сложно читать (ведь только мы сами пишем понятно и красиво).
Читать дальше →

Пара полезных команд, которые могут пригодиться при DDoS и не только

Reading time3 min
Views82K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →

Как сделать nandroid backup устройства непосредственно на компьютер, минуя sdcard

Reading time7 min
Views95K
Здравствуй, Хабрахабр.

Так случилось, что мне понадобилось создать полную копию Android устройства, в котором полностью отсутствовали обычно используемые для этого средства. Поиски меня привели на форум XDA, где и была найдена данная всеобъемлющая инструкция, которая пришлась как нельзя кстати и которой я решил поделиться с вами.
В статье имеются мои комментарии, так как применял эту инструкцию для создания backup'a планшета Teclast x98 3g.
Более подробно под катом

Системы контроля версий: Fossil, часть II

Reading time10 min
Views15K
Продолжаем разговор о Fossil.

В первой части мы познакомились с использованием Fossil в однопользовательском режиме на одном рабочем месте. Следующий шаг — перенос репозитория на другой компьютер — с работы на домашний, или на ноутбук, который мы берем с собой в поездку. Самый простой вариант — это просто скопировать репозиторий, благо это всего один файл, на новое рабочее место. Можно так и сделать, но самое простое решение не всегда самое лучшее, есть вероятность, что возникнут небольшие проблемы.
Читать дальше →

Основные отличия Java IO и Java NIO

Reading time7 min
Views236K
Когда я начал изучать стандартный ввод/вывод в Java, то первое время был немного шокирован обилием интерфейсов и классов пакета java.io.*, дополненных еще и целым перечнем специфических исключений.

Потратив изрядное количество часов на изучение и реализацию кучи разнообразных туториалов из Интернета, начал чувствовать себя уверенно и вздохнул с облегчением. Но в один прекрасный момент понял, что для меня все только начинается, так как существует еще и пакет java.nio.*, известный ещё под названием Java NIO или Java New IO. Вначале казалось, что это тоже самое, ну типа вид сбоку. Однако, как оказалось, есть существенные отличия, как в принципе работы, так и в решаемых с их помощью задачах.

Разобраться во всем этом мне здорово помогла статья Джакоба Дженкова (Jakob Jenkov) – “Java NIO vs. IO”. Ниже она приводиться в адаптированном виде.

Поспешу заметить, что статья не является руководством по использованию Java IO и Java NIO. Её цель – дать людям, начинающим изучать Java, возможность понять концептуальные отличия между двумя указанными инструментами организации ввода/вывода.
Читать дальше →

Исследование: самыми уязвимыми для хакеров оказались сайты на PHP

Reading time3 min
Views14K
Атака на корпоративный сайт не только нарушает работу онлайновых услуг и подрывает репутацию владельцев, но зачастую становится первым этапом взлома внутренних сетей крупных компаний. При этом, согласно исследованию компании Positive Technologies, в последнее время заметно возросло количество сайтов с уязвимостями высокой степени риска. Исследователи выявили самые распространенные уязвимости и оценили, насколько эффективны методы их обнаружения.

Всего в ходе тестов по анализу защищенности, проводившихся компанией в 2013 году, было изучено около 500 веб-сайтов, для 61 из них проводился более углубленный анализ.

Значительная часть исследованных порталов принадлежала банкам — из-за участившихся атак в этой сфере. Также увеличился спрос на анализ безопасности сайтов СМИ, что связано с громкими случаями их взломов и распространения дезинформации. Кроме того, исследовались сайты государственных учреждений, промышленных предприятий и телекоммуникационных компаний.

Выяснилось, что 62% сайтов в 2013 году содержали уязвимости высокой степени риска. Данный показатель существенно выше прошлогоднего (45%). Больше всего приложений с уязвимостями высокой степени риска было выявлено на сайтах СМИ (80%). Что касается сайтов дистанционного банковского обслуживания, то ни одна из исследованных систем ДБО не соответствовала полностью требованиями стандарта безопасности PCI DSS.

image

Наиболее распространенные уязвимости (доля сайтов, %)
Читать дальше →

Вероятно, самый простой способ преодолеть стресс на пути к цели

Reading time2 min
Views41K
Приходилось ли вам сталкиваться с ситуацией, когда поставив себе некую цель, вы словно упирались в невидимую стену, не в силах сделать ни шагу на пути к ней? Когда мало просто поставить себе задачу — но надо ещё научиться жить с этим. Многие люди ставят цели публично, чтобы сжечь мосты и запретить себе проявления слабости — на этом строится идея проекта достижения целей SmartProgress. Но это не работает, если мотивация оборачивается давлением, решимость — стрессом, и в результате включаются защитные механизмы психики, которые выражаются в том, что человек впадает в ступор, и чем масштабнее цель, тем сильнее давление и тем труднее пошевелить хотя бы пальцем. Однако даже в игры разума можно выигрывать.


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

Как стартапы вроде Dropbox, Airbnb, Groupon и других заполучили своих первых пользователей

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

Под катом истории таких компаний, как Dropbox, Reddit, Quora, Foursquare, Groupon, Tinder и Airbnb.
Читать дальше →

Ученые из Стэнфорда создали приложение, позволяющее подслушивать с помощью гироскопа Android-смартфона

Reading time2 min
Views50K


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

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

Специалисты из Стэнфорда разработали приложение, Gyrophone, которое позволяет преобразовать гироскоп устройства (в данном случае речь идет об Android-смартфонах) в качестве микрофона. Насколько можно понять, гироскоп iPhone не подходит для считывания звука, поскольку этот модуль работает только с колебаниями частотой ниже 100 Гц.

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

Information

Rating
Does not participate
Registered
Activity