Как стать автором
Обновить
1
Карма
0
Рейтинг
Андрей @Crichton

Пользователь

  • Подписчики
  • Подписки
  • Публикации
  • Комментарии

Настоящие программисты, где же вы?

Карьера в IT-индустрии
[Это перевод статьи из блога компании RethinkDB — калифорнийского стартапа, который занимается разработкой MySQL storage engine, оптимизированного под SSD-диски. Оригинал статьи можно прочитать здесь]

В последние месяцы RethinkDB довольно активно нанимает новых сотрудников, и за это время мы твердо убедились в том, что Джеф Этвуд (Jeff Atwood) в своей статье о FizzBuzz ни на йоту не отошел от истины.

Без лишнего хвастовства могу сказать, что мы предъявляем очень высокие требования к соискателям вакансий. И мы совершенно не намерены снижать эту планку. Более того, мы уверены, что чем больше слабых программистов мы отфильтруем, тем лучше и сильнее в итоге окажется наша команда. Некоторые, впрочем, отмечают, что под наши требования скоро будут подпадать только обладатели PhD в computer science со вторым дипломом по квантовой механике.

Конечно, всё это гнусные инсинуации. Наше основное правило — не нанимать людей, которые не умеют программировать.

Чтобы не быть голословными, мы опубликуем наш основной тест, отсеивающий 19 из 20 кандидатов еще на этапе телефонного собеседования (при том, что до телефонного собеседования мы допускаем не всех подряд, а только тех, чье резюме нам понравилось).

Читать дальше →
Всего голосов 82: ↑72 и ↓10+62
Просмотры7.5K
Комментарии 233

10 способов стать хорошим программистом

Программирование
Перевод
Хороший программист — это тот, кто смотрит в обе стороны, переходя дорогу с односторонним движением.
Даг Линдер

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

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

Читать дальше →
Всего голосов 200: ↑184 и ↓16+168
Просмотры55K
Комментарии 93

ООО и ведение валютных операций

Блог компании ITSummaЗаконодательство в IT
Всем привет!

Моей компании уже три года и в этом году мы попали в план проверок валютного контроля РосФинНадзора по ведению валютных операций.

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

Эта информация будет полезна как тем кто кто уже ведет свою деятельность, так и тем, кто только собирается открывать валютный счет или вообще регистрировать ООО. Не знаю, насколько это относится к ИП, но в любом случае, будьте осторожны.
Читать дальше →
Всего голосов 118: ↑115 и ↓3+112
Просмотры25K
Комментарии 70

Обратная сторона луны

Программирование.NETC#
При написании приложений, одной из важнейших вопросов являются потребление памяти и отзывчивость (скорость работы).

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

А еще говорят, что GC в .NET практически не настраиваемый. А еще, что нельзя посмотреть исходники как классов .NET Framework, так и CLR, GC и т.п.

А я скажу как бы ни так!

В данной статье мы рассмотрим:
  • структура организации размещения объектов в памяти
  • CLR 4.5 Background Server GC
  • правильная настройка сборщика мусора
  • эффективный апгрейд приложений до .NET 4.0+
  • правильное ручное управление памятью

Читать дальше →
Всего голосов 138: ↑132 и ↓6+126
Просмотры40K
Комментарии 28

Живые тайлы (Live tiles) в Windows 8 (WinRT)

.NETC#
UI Windows 8 был существенно переработан и появился стартовый экран с тайлами (tiles – далее в скобках буду указывать используемые английские терминологии). Одним из основных преимуществ тайлов перед иконками – это возможность «оживления» (live tile) и предоставления важной для пользователя информации непосредственно на тайле. Кроме того, есть возможность создать вторичные тайлы (secondary tiles), которая позволяет переходить в приложение с определенными параметрами или на страницу вглубь приложения. В качестве примера можно привести погодное приложение отображающее погоду на основном тайле и погоду в выбранных городах на вторичных тайлах.

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

В этой статье рассмотрим следующие пункты.
подробнее
Всего голосов 62: ↑55 и ↓7+48
Просмотры23K
Комментарии 6

Лучший способ изучить Rails

Ruby on Rails
Доброго времени суток!

Предисловие


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

Введение


У меня за спиной огромный опыт работы с PHP, но сейчас я работаю Rails разработчиком. Огромную сложность для большинства людей, которые пытаются освоить что-то новое — это сам процесс обучения. Когда вы владеете каким-либо языком или фреймворком и знаете его вдоль и поперёк, переход на что-то новое не представляется необходимым.

Однако, изучение Ruby on Rails является достаточно простым занятием. Это невероятно мощный фреймворк, который имеет огромное сообщество, продвигающее его вперёд. Итак, у нас возникает вопрос: какой способ изучить Rails является лучшим? Вот он — план занятий.
Читать дальше →
Всего голосов 83: ↑69 и ↓14+55
Просмотры195K
Комментарии 118

Вышла новая версия opensource движка nopCommerce с поддержкой мобильных устройств

ASP
clip_image001 
Первого февраля вышла новая версия nopCommerce 2.40 – движка для электронной коммерции с открытым кодом, написанного на ASP.NET MVC 3. Основным нововведением является поддержка мобильных устройств. Примечательно то, что nopCommerce является первой системой, которая добавила эту поддержку абсолютно бесплатно (у magento и prestashop это функционал платный). Тоже самое можно сказать и про существующие open source приложения ASP.NET (имеются ввиду real-world, а не тестовые примеры). По-умолчанию, это функция отключена (не всем владельцам магазинов она нужна, да поддержка была только-только добавлена, так что не исключены какие-то баги).

Читать дальше →
Всего голосов 24: ↑18 и ↓6+12
Просмотры1.9K
Комментарии 3

Неявно типизированные поля в C#

.NET
Сегодня на кывте был задан очередной весьма интересный вопрос о том, почему в языке C# существуют неявно типизированные локальные переменные (implicitely-typed local variables) a.k.a. var, но нет неявно типизированных полей?

На самом деле, такое положение дел вовсе не случайно; так что давайте рассмотрим несколько причин, почему компилятор ведет себя именно так, а не иначе.
Читать дальше →
Всего голосов 38: ↑29 и ↓9+20
Просмотры9.2K
Комментарии 55

Аудит. «Черный ящик»

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

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

И если вы, как разработчик, будете знать хотя бы некоторые принципы и техники, что используют хакеры — думаю вам станет чуть спокойнее за них (ресурсы) и результат вашей деятельности приобретет более высокий уровень

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

Читать дальше →
Всего голосов 105: ↑92 и ↓13+79
Просмотры12K
Комментарии 30

Популярные менеджеры паролей в сравнении

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

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

Итак, программы, попавшие под мой выбор, следующие: KeePass, eWallet, LastPass, 1Password, RoboForm. Кому интересно — добро пожаловать под кат.

Читать дальше →
Всего голосов 82: ↑78 и ↓4+74
Просмотры338K
Комментарии 122

Обзор бесплатных инструментов для аудита web-ресурсов и не только

Информационная безопасность

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

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

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

В злых целях знания использовать не буду!
Всего голосов 189: ↑174 и ↓15+159
Просмотры36K
Комментарии 43

Упрощаем жизнь: сервис автораспаковки архивов на C#

.NET
hateЭто, конечно, не статья, а небольшая путевая заметка, но тем не менее. Так получилось, что 99% архивов попадают на мой компьютер, чтобы быть тут же распакованными, дабы добраться до их содержимого. И если в маке сафари сам это делает за меня, то в windows приходится каждый раз нажимать пункт в контекстном меню.

В какой-то момент мне это безумно надоело и я написал простой сервис, который распаковывает все самостоятельно. Мне он показался удобным и я решил поделиться с народом.
Читать дальше →
Всего голосов 61: ↑52 и ↓9+43
Просмотры5.5K
Комментарии 58

Миграции БД для .NET

.NET
Добрый вечер!

Вышла версия 2.0 инструмента для версионной миграции БД - ECM7.MigratorНедавно здесь поднималась тема версионного изменения структуры БД. Среди готовых решений для миграции БД (для .NET-проектов) там упоминался проект ECM7.Migrator, одним из авторов которого я являюсь.

Вчера мы, наконец, отрелизили версию 2.0. Взять новую версию можно на страничке проекта в google code и в галерее пакетов nuget.

Краткий рассказ о миграторе и список изменений новой версии под катом..
Всего голосов 48: ↑40 и ↓8+32
Просмотры2.8K
Комментарии 29

NetPing: конструктор для администратора и досуг для программиста

Системное администрирование


Судя по тому, насколько популярен блог DIY, многие из нас любят изобретать. Наверное, каждый встречал человека, который способен сутками что-нибудь паять, программировать, отлаживать, не замечая ничего вокруг. Вот совсем свежие примеры.

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

Речь пойдет про устройства NetPing. Эта российская разработка периодически упоминается на хабре, но детального рассказа я не встречал. Пусть эта статья будет продолжением серии «Оборудование российского производства». Мне достался самый универсальный прибор линейки – UniPing RS-232. Основная сфера его применения – удаленный мониторинг и управление множеством устройств в квартире, доме, офисе. Конечно, давно существует понятие «умный дом», но, как правило, это преподносится как вариант для состоятельных людей, хотя получают они черный ящик с жестко заданным, пусть и большим, набором функций. Однако, можно ведь все собрать и запрограммировать самому!

Интересно?
Всего голосов 145: ↑142 и ↓3+139
Просмотры54K
Комментарии 74

Подборка генераторов CSS

CSS


Не секрет, что писать CSS для многих стандартных кнопок, макетов, etc. бывает весьма лениво. Ниже представлена подборка генераторов CSS (и не только), которая, возможно, в некоторых случаях сможет упростить кому-то жизнь. Многими генераторами можно успешно пользоваться даже без глубоких познаний CSS.

(Осторожно! Много картинок)
Читать дальше →
Всего голосов 141: ↑96 и ↓45+51
Просмотры49K
Комментарии 41

Glimpse — серверный «firebug» для проектов ASP.NET

.NET
Разработчики ASP.NET получили уникальный инструмент, который может облегчить их жизнь. Проект с открытыми исходными кодами Glimpse созданный энтузиастом веб-разработки предлагает то, что можно назвать серверным вариантом популярного средства отладки firebug (расширение для Firefox).

Glimpse – это расширение, которое можно добавить в проект на базе ASP.NET и получить богатую отладочную серверную информацию во время работы веб-приложения.

image

Панель представленная на рисунке устанавливается с помощью букмарклета для любого браузера. Она предлагает массу важной информации о работе приложения на серверной стороне. В том числе:
  • конфигурация веб-приложения;
  • значение переменных окружения и информация о .NET-сборках;
  • информация о этапах выполнения жизненного цикла приложения в ответ на запрос;
  • информация о используемых маршрутах ASP.NET при работе приложения;
  • параметры HTTP-запросов;
  • параметры сессий ASP.NET  и значения сохраненные в них;
  • параметры и жизненный цикл представлений ASP.NET;
  • отслеживание и работа с Ajax-запросами.
Как и многие инструменты сегодня, Glimpse доступен для легкой автоматической установки через пакетный менеджер NuGet. Рассмотрим подробно процесс установки и использования.

Читать дальше →
Всего голосов 68: ↑55 и ↓13+42
Просмотры5.2K
Комментарии 15

Готовим скриншоты для документации в GIMP (часть 2)

Блог компании Developer SoftПодготовка технической документации
В первой части статьи мы рассмотрели script-fu скрипты «Быстрая тень» и «Подрезать уголки» и пообещали показать, как красиво оформить скриншот фрагмента окна. Пришло время исполнить обещанное. Сегодня будем разбирать скрипт «Кадрирование с эффектом волны», который позволяет отсечь часть изображения по волнистым линиям, похожим на синусоиды.

Дополнительно мы рассмотрим, как можно собрать несколько скриптов в один для ускорения выполнения типовых действий над изображением.
Читать дальше →
Всего голосов 127: ↑118 и ↓9+109
Просмотры17K
Комментарии 14

Работаем с LINQ to XML

.NET
В первой статье в блоге .NET «Работаем с XML» в комментариях народ потребовал статьи LINQ to XML. Что же, попробуем раскрыть принципы работы этой новой технологии от Microsoft.

Создадим базу для ведения каталога аудиозаписей.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Просмотры124K
Комментарии 66

Dapper.NET — «микро-ORM» на котором работает StackOverflow

.NET
Dapper.NET — это «мини-ORM», как ее называют сами разработчики, на которой работает движок StackExchange и сайт StackOverflow в частности.

Сегодня Sam Saffron (@samsaffron, один из разработчиков платформы) выложил ее в OpenSource на Google Code.

Основная фишка этой микро-библиотеки — производительность в тех случаях, когда надо запустить, например, 500 select-команд подряд и замапить тысячи результатов в объекты определенных классов. Разработчики утверждают, что скорость их решения практически не уступает «ручной» работе с SqlDataReader.
Читать дальше →
Всего голосов 66: ↑58 и ↓8+50
Просмотры37K
Комментарии 50

Визуализация графов. Метод связывания ребер

Алгоритмы
Иногда полезно представить граф в графической форме, так чтобы была видна структура. Можно привести десятки примеров, где это может пригодиться: визуализация иерархии классов и пакетов исходного кода какой-нибудь программы, визуализация социального графа (тот же Twitter или Facebook) или графа цитирования (какие публикации на кого ссылаются) и т.д. Но вот незадача: количество ребер в графе зачастую настолько велико, что нарисованный граф просто невозможно разобрать. Взгляните на эту картинку:



Это граф зависимостей некой программной системы. Он представляет собой дерево разбиения на пакеты (серые шарики — пакеты, белые — классы), на которое поверх наложены ребра зависимости одних классов от других. Чтобы не рисовать стрелки направления, ребра нарисованы в виде градиентных линий, где зеленый — это начало, а красный — конец ребра. Как видите, граф настолько визуально перегружен, что архитектуру программы невозможно проследить.
Под катом описание метода, решающего эту проблему.
Читать дальше →
Всего голосов 214: ↑205 и ↓9+196
Просмотры54K
Комментарии 67

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность