Search
Write a publication
Pull to refresh
8
0
Send message

Вопросы на собеседование middle/senior iOS Developer

Reading time4 min
Views129K
Все мы ходили/ходим на собеседования. Каждый раз при подготовке к очередному собеседованию просматриваем основные темы, вспоминаем вопросы, которые нам задавали в предыдущие разы, или вопросы, которые сами задавали. Ниже хочу представить основные вопросы, которые часто (основано на личном опыте) можно получить на собеседовании на должность middle/senior iOS Developer. Так сказать, шпаргалка. Заодно можно проверить свой уровень знания платформы.
Список вопросов

Как я не взломал «Хабрахабр» или 10+ активных XSS

Reading time4 min
Views61K
image
Увидев как все ринулись искать XSS на прекрасно-синем Хабрахабре решил попытать свое счастье. POST-овые self-xss, бесполезные во многих контекстах и векторах, начиная с фильтрации в самых популярных браузеров (chrome/safari/ie etc) и заканчивая сложностью их же применения и эксплуатации было решено оставить остальным первопроходцам и отправиться на поиски чего-то более стоящего.
Читать дальше →

Linux Kernel EFI Boot Stub или «Сам себе загрузчик»

Reading time10 min
Views81K
UEFI Tux Logo

Введение


Прочитав недавнюю статью Загрузка ОС Linux без загрузчика, понял две вещи: многим интересна «новинка», датируемая аж 2011 годом; автор не описал самого основного, без чего, собственно, и работать ничего не будет в некоторых случаях. Также была ещё одна статья, но либо она уже устарела, либо там опять таки много лишнего и недосказанного одновременно.

А конкретно, был упущен основной момент — сборочная опция ядра CONFIG_EFI_STUB. Так как в последних версиях U(lu/ku/edu/*etc*)buntu эта опция по умолчанию уже включена, никаких подозрений у автора не появилось.
Насколько мне известно, на текущий момент она включена в дистрибутивах указанных версий и выше: Arch Linux, Fedora 17, OpenSUSE 12.2 и Ubuntu 12.10. В комментах ещё упомянули, что Debian с ядром 2.6 умеет, но это не более, чем бэкпорт с последних версий. На этих дистрибутивах пересобирать вообще ничего не нужно! А ведь на других CONFIG_EFI_STUB, скорее всего, либо вообще отсутствует, т. к. опция доступна только с ядра версии 3.3.0 и выше, либо выключена по умолчанию. Соответственно, всё, описанное ниже, справедливо для ядра, собранного с опцией CONFIG_EFI_STUB.

Итак, что же такое Linux Kernel EFI Boot Stub?


Общая информация

А ни что иное, как… «exe-файл»!
Читать дальше →

NVIDIA Shield — лучшая портативная консоль для гика

Reading time12 min
Views65K
NVIDIA Shield — это не первое карманное Android устройство, разработанное для игр. Мы уже видели геймпад от компании Archos, контроллер от MOGA и другие аксессуары, которые могут преобразовать ваш смартфон в игровое устройство посредством соединения через USB-кабель. Можно ещё вспомнить о Sony Ericsson Xperia Play, который не получил особую популярность.

image

Но NVIDIA сделали что-то другое. Shield — это не просто Android устройство, которое кроме основных функций ещё и поддерживает игры для данной ОС. Прежде всего — это игровая машина для развлечений. Каждое решение, каждая аппаратная часть, каждый компонент выбирался и создавался так, чтобы вызывать наилучшие впечатления от использования девайса при геймплее. Как же действительно выглядит консоль, что умеет и насколько производительна? Об этом и пойдет речь в нашем обзоре
Читать дальше →

Бесплатная Mafia2 или Civilization V (Steam)

Reading time1 min
Views157K


Сейчас проходит голосование за лучшие игры 2013.
По этому поводу GMG и 2K Games Объявляет акцию: после голосования вы можете получить на выбор игры.

Итак, что нужно:
1. Регистрация на сайте www.computerandvideogames.com
2. Проголосовать www.computerandvideogames.com/joystick/homepage.php
3. Зайти на страницу goldenjoysticks.greenmangaming.com и ввести email на котором голосовали, потом данные аккаунта GMG.

Ключ вы получите перейдя по ссылке в письме, которая подтверждает что ваша заявка принята.
~24 часа уходит, на перерасчёт голосов!

upd. Все ключи раздали!

upd2. КЛЮЧИ СНОВА В НАЛИЧИИ. Кто не успел вперед!!!
голосование закончено…

Введение в анализ данных с помощью Pandas

Reading time3 min
Views243K
Сегодня речь пойдет о пакете Pandas. Данный пакет делает Python мощным инструментом для анализа данных. Пакет дает возможность строить сводные таблицы, выполнять группировки, предоставляет удобный доступ к табличным данным, а при наличии пакета matplotlib дает возможность рисовать графики на полученных наборах данных. Далее будут показаны основы работы с пакетом, такие как загрузка данных, обращение к полям, фильтрация и построение сводных.
Читать дальше →

История о двух мостах

Reading time2 min
Views87K


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

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

Картинки с внешних ресурсов — добро или зло?

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

Большой брат следит за тобой

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

Облегченная разработка WP7 приложений при помощи Caliburn.Micro framework (ч.1)

Reading time10 min
Views8.2K


Здравствуйте!

Как можно догадаться из названия, эта статья будет просвещенна framework'у Caliburn.Micro. Я постараюсь показать, что полезного может дать использование этого framework’а разработчику под платформу WP7, какие задачи он решает, его достоинства и недостатки.

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

Если вам интересна эта тема, то добро пожаловать под кат.
Читать дальше →

Tizen Native programming. Пишем «Hello Habrahabr» для ОС Tizen

Reading time2 min
Views22K

Как многим известно в скором времени ряды мобильных телефонов пополнят аппараты на ОС Tizen, разрабатываемой совместно компаниями Samsung и Intel. Для разработчиков планирующих заняться написанием приложений под Tizen, была также создана SDK с помощью которой и будет написано наше первое приложение с использованием Tizen Native App Programming в Tizen IDE.
(много картинок)
Читать дальше →

Process Explorer vs Process Hacker

Reading time6 min
Views95K
Многим людям рано или поздно приходит в голову мысль, что стандартный менеджер процессов Windows весьма слаб по функционалу. Начинаются поиски альтернативы, которые в основном тут же и заканчиваются при обнаружении Process Explorer от Марка Руссиновича. Вот и Хабр даже советует эту программу.

Что тут можно сказать? Конечно, Process Explorer — это хорошая программа. Однако, не идеал. Именно в пику её неидеальности существует не только бесплатная, но и свободная альтернатива — Process Hacker. А теперь мы детально и по пунктам рассмотрим, почему Process Hacker не просто «чуть-чуть лучше», а лучше на порядок, лучше на столько, что переводит программу для продвинутого пользователя в класс инструмента системного программиста или администратора.
Читать дальше →

Russian Code Cup 2013: разбираем задачи финала

Reading time20 min
Views28K


23 сентября 2013 года состоялся финал чемпионата по программированию Russian Code Cup 2013.

Первое место занял Петр Митричев (кстати, чемпион RCC 2011). Второй приз взял Геннадий Короткевич, третье — Дмитрий Джулгаков.

Сегодня мы публикуем подробный разбор шести задач, которые были предложены финалистам RCC (спойлер: одна из них так и осталась нерешенной). В программе — сортировка невиданной быстроты, борьба с капибарным гриппом, путешествия роботов и многое другое.

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

Как находить и устранять утечки памяти на примере Яндекс.Почты

Reading time8 min
Views67K
На первый поверхностный взгляд, слова JavaScript и «утечка памяти» рядом стоять не могут. Настоящих утечек памяти в JS, конечно, не может быть, потому что процесс сборки мусора происходит автоматически и не может контролироваться из нашего кода. Выделить память под объект и забыть освободить невозможно. Но могут быть ситуации, связанные с ошибками в логике работы приложения, которые приводят к утечкам памяти другого рода. Например, забиндили обработчик, в котором что-то делаем с методами общего объекта и забыли его анбиндить. Или же посылаем письмо с большим телом и не очищаем тело даже после отправки.

image

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

Как перестать бояться и полюбить шопинг на Amazon

Reading time2 min
Views179K
image

Разбор полетов


По итогам прошлого поста мы выяснили, что:

  • доставка происходит в обход Почты РФ через UPS/DHL;
  • в Москву посылка приходит за 5 дней;
  • для РФ Киндл продается только в версии «без встроенной рекламы» и без аксессуаров в отдельном лоте. Поэтому чехлы, к примеру, можно взять тут.
  • Amazon оплачивает услуги таможенного брокера;
  • заказывая доставку на рабочий адрес, никак не упоминайте название компании, иначе получателем будет компания, а не вы, со всеми последствиями;
  • если ваша покупка дешевле 200 евро, включая стоимость доставки, вам не о чем переживать;
  • если вы хотите сделать покупку весом до 31 кг. и стоимостью до 1000 евро, включая стоимость доставки, то вам желательно заказывать ее на адрес в одном из городов списка (Москва, Санкт-Петербург, Краснодар, Владивосток, Ставрополь, Новороссийск и Нижний Новгород). В этом случае доступны следующие варианты развития событий:
    1. скорее всего, вам не о чем переживать, и покупку вам доставят без лишних проблем;
    2. возможно, вам позвонят\ напишут из UPS и попросят прислать им отсканированную распечатку электронной квитанции заказа из Amazon, подписанный договор оказания услуг перевозки груза и копию паспорта.
    3. самый маловероятный и худший вариант — квест по самостоятельному прохождению таможни. Не переживайте, с этой инструкцией процесс займет не больше 2 часов времени и будет не сложнее похода в библиотеку.
  • это же Amazon! При возникновении любых проблем — задержка, потеря посылки, дополнительные таможенные сборы, повреждение товара — служба поддержки придет вам на помощь вплоть до полного возмещения стоимости.


Теперь о том, что же все-таки можно купить.

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

Ноль без палочки?

Reading time15 min
Views26K
Опубликовано в журнале Хакер #171 (апрель 2013)

Со временем некоторые вредоносные программы становятся своеобразными брендами в среде киберандеграунда. Как правило, они имеют широкое распространение по сравнению с другими вредоносами и используют различные технологичные фишки. К таковым можно отнести семейства Sality, Conficker, Waledac, Zeus, TDL и множество других. Как бы ни боролись с такими угрозами антивирусные компании, как говорится — иногда они возвращаются. В логичности использования раскрученного имени злоумышленникам не откажешь. Разбирая функционал очередной «зверушки», невольно задаешь себе вопрос — а когда это все началось? И выясняется, что и ни год, и ни два назад. Об одном таком семействе и будет рассказано далее.
Читать дальше →

Python. Неочевидное поведение некоторых конструкций

Reading time4 min
Views35K
Рассмотрены примеры таких конструкций + некоторые очевидные, но не менее опасные конструкции, которых в коде желательно избегать. Статья рассчитана на python программистов с опытом 0 — 1,5 года. Опытные разработчики могут в коментах покритиковать или дополнить своими примерами.
Читать дальше →

Обзор Tizen SDK. Web

Reading time6 min
Views20K
Привет, Хабр!

Самые любопытные из вас успели познакомиться с ОС Tizen, посмотреть на Tizen в действии и даже поковыряться в SDK с помощью наших образов Tizen SDK Live на основе Ubuntu.

Наблюдая все те слухи, которые витают вокруг Tizen, многим уже стало понятно, что официальный анонс первых Tizen-устройств совсем не за горами и сейчас самое время начать разработку или портирование своего мобильного приложения под эту платформу. Если вы относитесь к этим многим (или ещё раздумываете), добро пожаловать под кат, где мы познакомим вас с Tizen SDK и его инструментарием.

image

Начнём мы сегодня с web-части.
Читать дальше →

Коды Рида-Соломона. Простой пример

Reading time9 min
Views121K
Гауссово котэБлагодаря кодам Рида-Соломона можно прочитать компакт-диск с множеством царапин, либо передать информацию в условиях связи с большим количеством помех. В среднем для компакт-диска избыточность кода (т.е. количество дополнительных символов, благодаря которым информацию можно восстанавливать) составляет примерно 25%. Восстановить при этом можно количество данных, равное половине избыточных. Если емкость диска 700 Мб, то, получается, теоретически можно восстановить до 87,5 Мб из 700. При этом нам не обязательно знать, какой именно символ передан с ошибкой. Также стоит отметить, что вместе с кодированием используется перемежевание, когда байты разных блоков перемешиваются в определенном порядке, что в результате позволяет читать диски с обширными повреждениями, локализированными близко друг к другу (например, глубокие царапины), так как после операции, обратной перемежеванию, обширное повреждение оборачивается единичными ошибками во множестве блоков кода, которые поддаются восстановлению.

Давайте возьмем простой пример и попробуем пройти весь путь – от кодирования до получения исходных данных на приемнике. Пусть нам нужно передать кодовое слово С, состоящее из двух чисел – 3 и 1 именно в такой последовательности, т.е. нам нужно передать вектор С=(3,1). Допустим, мы хотим исправить максимум две ошибки, не зная точно, где они могут появиться. Для этого нужно взять 2*2=4 избыточных символа. Запишем их нулями в нашем слове, т.е. С теперь равно (3,1,0,0,0,0). Далее необходимо немного разобраться с математическими особенностями.

Поля Галуа


Многие знают романтическую историю о молодом человеке, который прожил всего 20 лет и однажды ночью написал свою математическую теорию, а утром был убит на дуэли. Это Эварист Галуа. Также он несколько раз пытался поступить в университеты, однако экзаменаторы не понимали его решений, и он проваливал экзамены. Приходилось ему учиться самостоятельно. Ни Гаусс, ни Пуассон, которым он послал свои работы, также не поняли их, однако его теория отлично пригодилась в 60-х годах ХХ-го века, и активно используется в наше время как для теоретических вычислений в новых разделах математики, так и на практике.
Читать дальше →

Много бесплатных книг по программированию

Reading time7 min
Views347K
Читать дальше →

Как мы читаем код

Reading time2 min
Views48K
В рамках исследований движений глаза Майк Хансен и Эрик Холк провели любопытный эксперимент. Используя айтрекер Tobii TX300 частотой 300 Гц, они сравнили поведение глаз опытного и начинающей программистов при чтении кода программы Python, вывод которой являлся вопросом поставленной задачи.

В результате съемки данных для «новичка» было получено следующее видео.

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

Information

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