• Нет никакого потока

    • Перевод
    Важная правда об асинхронности в своей первозданной форме: нет никакого потока.

    Тех, кто возразит, несть числа. «Нет», кричат они, «если я ожидаю операцию, должен быть поток, в котором выполняется ожидание! Возможно это поток из пула. Или поток операционной системы! Или что-то, связанное с драйвером устройства...»

    Не внемлем этим крикам. Если операция по-настоящему асинхронная, то никакого потока нет.

    Скептики не убеждены. Высмеем же их.
    Читать дальше →
  • Новое в Java 8

    • Перевод
    Java еще не умерла — и люди начинают это понимать.

    Добро пожаловать в ведение по Java 8. Этот материал шаг за шагом познакомит вас со всеми новыми фичами языка. Вы научитесь использовать методы интерфейсов по умолчанию (default interface methods), лямбда-выражения (lambda expressions), ссылки на методы (method references) и повторяемые аннотации (repeatable annotations). Все это будет сопровождаться короткими и простыми примерами кода. В конце статьи вы познакомитесь с наиболее свежими изменениями в API, касающихся потоков, функциональных интерфейсов, расширений для ассоциативных массивов, а также с изменениями в API работы с датами.
    Читать дальше →
  • Почему я покинула Google

    • Перевод

    Размышления о том, как променять гордость и комфорт на настоящего себя


    «Для того, чтобы вырасти и остаться собой, нужна смелость», Э.Э. Каммингс

    Около шести месяцев назад я решила уйти с очень хорошей работы в Google для того, что бы попробовать жить другой жизнью. У меня было слабое представление о том, что я буду делать дальше, но я ушла, потому что больше не могла оставаться. Я не могу выразить это словами, но что-то внутри меня говорило, что мне не стоит дальше двигаться по этому карьерному пути. Я четко ощущала, что он не приведет меня туда, куда я хочу, и что мне нужно свернуть с этой дороги. Хоть и не очень понимала, куда я хочу попасть. С каждым месяцем пребывания в Google росла моя тревога и обидчивость. Я могла бы подождать нужного поворота, однако я понимала, что чем дальше, чем труднее будет свернуть. И что если я не знаю, где именно мне нужно свернуть? Единственное, в чем я была уверена, было то, что мне никто не подскажет верного решения: ни мой менеджер, ни коллеги, ни друзья, ни родители. Я представила себя в старости: чудесный муж, прекрасные дети, ипотека и сокрушение, что я упустила возможность заняться тем, чем хотела заниматься. Поэтому в январе 2013-го я свернула в ближайший поворот.
    Читать дальше →
  • Стартап-ловушка

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

    Читать дальше →
  • Ремесло программиста. Золотые правила

      imageДанный пост представляет собой выдержку «золотых правил» из примечательной книги Питера Гудлифа «Ремесло программиста».

      Кто-то освежит память, кто-то сверится как с чек-листом, а кто-то заинтересуется и прочтет книгу. Т.к. пост получился достаточно объемным, можно добавить его в закладки и периодически к нему возвращаться.
      Читать дальше →
    • Настройка Qt Creator для работы с Nokia N9

        Этот пост участвует в конкурсе "Умные телефоны за умные посты" и в нем я хочу рассказать о настройке средств разработки приложений для MeeGo Harmattan, операционной системы нового телефона Nokia N9. Настройку будем производить на Windows Vista (думаю, что для более популярной Windows 7 отличия будут несущественными). В документации для разработчиков под Harmattan в основном фигурирует Linux, поэтому данная статья будет хорошим дополнением для разработчиков, предпочитающих или по каким-либо другим причинам использующих операционные системы от Microsoft.

        Читать дальше →
      • Работа со структурами в C#

        • Перевод
        По следам недавнего топика «Обработка больших объемов данных в памяти на C#» представляю перевод упоминавшейся там статьи о структурах.

        Структуры являются фундаментальными типами данных в C# и большинстве других современных языках программирования. По своей сути структуры просты, но вы можете удивиться, насколько быстро работа с ними может стать сложной. Чаще всего проблемы возникают, если вы должны работать со структурами, созданными в других языках и сохраненными на диске или полученными в результате вызова функций из библиотек или COM-объектов. В этой статье я подразумеваю, что вы знакомы с понятием структуры, умеете определять их и владеете базовыми навыками работы со структурами. Предполагается, что вы имеете представление о том, как вызывать API функции с использованием p/Invoke, а также что такое маршалинг. В случае неуверенности в своих знаниях вы можете обратиться к документации.
        Множество техник, описанных в данной статье, могут быть расширены и применены к любым типам данных.
        Читать дальше →
      • В процессе поиска работы

          Приветствую, хабраюзеры.

          Недавно мне довелось искать новое место работы. Это значит, что пришлось посетить довольно много собеседований, а посему я хотел бы поделиться опытом, высказать свои наблюдения и замечания относительно всего процесса найма сотрудников на работу. Надеюсь, в посте найдут что-то полезное и те, кто ищет работу, и те, кто ищет нового сотрудника.
          Читать дальше →