Как стать автором
Обновить
23
0
Антон Жидков @azhidkov

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

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

Обзор интересных программ от Microsoft Research

Время на прочтение3 мин
Количество просмотров1.9K
Microsoft Research (MSR) — подразделение корпорации Microsoft, созданное в 1991 году для исследования различных вопросов и тем в области информатики. Microsoft Research объединяет 800 исследователей в шести глобальных лабораториях по всему миру.

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

Мне очень нравится следить на развитием MSR и сейчас хочу рассказать о некоторых программах, которые я часто использую.
Читать дальше →
Всего голосов 77: ↑55 и ↓22+33
Комментарии18

Миграционный дайджест

Время на прочтение2 мин
Количество просмотров8.3K
Вначале было слово. И слово это было «Пора открывать блог „Я мигрирую“ :-)» Затем появился этот блог.

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

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

Для затравочки я собрал ссылки на комментарии к посту «IT-эмиграция на Кипр: личный опыт», в которых собралось некоторое количество впечатлений. Очень надеюсь, что авторы этих комментариев напишут развернутые отчеты и скандальные подробности в этот блог.

Итак, подборочка
Всего голосов 98: ↑86 и ↓12+74
Комментарии47

IT-эмиграция в Страну Улыбок, в Тайланд

Время на прочтение8 мин
Количество просмотров18K
На фоне серии топиков от экспатов, решил тоже поделится. Мне не жалко, а кому-то будет интересно.

Меня зовут Влад, я родился в г. Витебске, Беларусь. В 23 года эмигрировал в Санкт-Петербург, Россия. В данный момент живу в Бангкоке. Владею PHP и навыками технического SEO. 2 дня в неделю работаю в Американской компании, остальное время занимаюсь своими проектами. В Тайланде уже год и пока никуда двигать не собираюсь.
Читать дальше →
Всего голосов 282: ↑271 и ↓11+260
Комментарии251

Перестаньте называть себя программистом и другие карьерные советы

Время на прочтение19 мин
Количество просмотров258K
Есть один курс, который я бы добавил в программу обучения по всякой инженерной специальности, и он не о компиляторах или сложности алгоритмов. Это “Введение в реальность индустрии”, ибо об этом не говорят и это приводит к никому не нужным обломам. Эта статья претендует стать README.txt для молодого инженера в деле построения карьеры. Ее цель — сделать вас счастливее, заполнив пробелы в образовании относительно того, как работает реальный мир. Я не призываю следовать написанному как подробному руководству, но я надеюсь, что эта информация окажется для вас более ценной, чем то ничто, что вам рассказали об этом в университете.
Читать дальше →
Всего голосов 251: ↑212 и ↓39+173
Комментарии175

Профессиональная эмиграция — Часть 1 — Проблема курицы и яйца и как с ней бороться, а также развенчание мифов

Время на прочтение4 мин
Количество просмотров59K
Здравствуйте, Хабраюзеры.

Этим постом я хотел бы начать цикл (если позволит время и будет интересно аудитории) про профессиональную эмиграцию, особенно без привязки к работодателю.
Читать дальше →
Всего голосов 228: ↑208 и ↓20+188
Комментарии337

Жизнь разработчика (в картинках)

Время на прочтение1 мин
Количество просмотров66K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



Читать дальше →
Всего голосов 884: ↑700 и ↓184+516
Комментарии132

Petrovich просклоняет русские имена

Время на прочтение3 мин
Количество просмотров64K
Вам часто приходится иметь дело со склонением имён пользователей на русском языке? При рассылке писем, при отображении страниц и упоминаний, при генерации рекламных объявлений? Скорее всего, приходится изворачиваться и писать все сообщения в именительном падеже — Иванов Пётр Сергеевич.

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

Для решения этой проблемы при использовании Ruby существует Petrovich — удобная легковесная библиотека для автомагического склонения русскоязычных имён, фамилий и отчеств.


Склоняй меня полностью!
Всего голосов 161: ↑155 и ↓6+149
Комментарии141

Улучшаем производительность: полезные советы и приёмы в .NET

Время на прочтение8 мин
Количество просмотров32K
Эта статья входит в серию статей по улучшению производительности в .NET. Первую статью можно найти здесь.

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

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

  • Вы пишете новый код и решили делать это немного лучше и с экономией
  • Вы дошли до этапа, когда начались оптимизации и рефакторинг, поэтому просматриваете и меняете участки кода, которые выполняются очень часто
  • Вы пишете высокопроизводительную систему и экономите на спичках

Я ни в коем случае не призываю вас бежать и исправлять весь код в ваших проектах. Более того, я призываю вас не делать этого, потому что это простые хаки, и скорее всего они будут вноситься бездумно в большое количество кода, а это может повлечь за собой появление новых ошибок. Это не те хаки, которые скинут бабу с воза вашего приложения и заставят кобылу-сервак бежать в десять раз быстрее. В лучшем случае удастся выжать процентов десять. Но с миру по нитке — голому рубашка.
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии19

Несколько интересностей и полезностей для веб-разработчика #24

Время на прочтение5 мин
Количество просмотров59K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Webhook


image

Webhook — это платформа для создания сайтов. Важно не путать со статическими генераторами, потому что это именно «CMS builder». Проект успешно завершил кампанию на Kickstarter 14 мая этого года, где смог собрать сумму в два раза большую, чем было необходимо. А буквально недавно состоялся релиз первой версии продукта. Webhook построен с использованием NodeJS, Grunt и Firebase для реалтайма, работает на Windows, Linux и Mac, внутри целая система виджетов со множеством вариаций на выходе, «Django-like templating» с помощью Swig JS, кроссплатформенная админ панель и еще целый ряд плюсов.
Читать дальше →
Всего голосов 101: ↑90 и ↓11+79
Комментарии27

Используем console на полную

Время на прочтение6 мин
Количество просмотров457K
Метод console.log() — отличный способ вывести отладочную информацию, не мешая пользователю. Но знаете ли Вы, что объект console имеет еще уйму других не менее полезных методов? Очень редко разработчики используют этот функционал, ограничиваясь неблокирующим alert'ом. Что-ж, давайте исправим это положение.

Вкусности console
Всего голосов 172: ↑168 и ↓4+164
Комментарии29

Примеры использования Moq

Время на прочтение8 мин
Количество просмотров151K
Moq – это простой и легковесный изоляционный фреймврк (Isolation Framework), который построен на основе анонимных методов и деревьев выражений. Для создания моков он использует кодогенерацию, поэтому позволяет «мокать» интерфейсы, виртуальные методы (и даже защищенные методы) и не позволяет «мокать» невиртуальные и статические методы.

ПРИМЕЧАНИЕ
На рынке существует лишь два фрейморка, позволяющих «мокать» все, что угодно. Это TypeMockIsolator и Microsoft Fakes, доступные в Visual Studio 2012 (ранее известные под названием Microsoft Moles). Эти фреймворки, в отличие от Moq, используют не кодогенерацию, а CLR Profiling API, что позволяет вклиниться практически в любой метод и создать моки/стабы даже для статических, невиртуальных или закрытых методов.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии3

Распознавание некоторых современных CAPTCHA

Время на прочтение15 мин
Количество просмотров79K
Именно так называлась работа, представленная мной на Балтийском научно-инженерном конкурсе, и принёсшая мне очаровательную бумажку с римской единичкой, а также новенький ноутбук.

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

Читать дальше →
Всего голосов 319: ↑313 и ↓6+307
Комментарии148

Space Engine — Вселенная на ладони

Время на прочтение8 мин
Количество просмотров99K
My God, it's full of stars!
Arthur C. Clarke

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

В начале тысячелетия я познакомился с MojoWorld и был шокирован его возможностями. Наконец-то, можно было бродить по другим планетам и фотографировать местные достопримечательности. Он стал первой ласточкой, дававшей надежду на то, что полномасштабные космические миры технически возможны. Но, к сожалению, производительности железа десятилетней давности было не достаточно для передачи всех красот в реальном времени. Да и планеты оставались всего лишь мёртвыми пейзажами.

Но вот, чуть больше года назад, я совершенно случайно наткнулся на вселенную Space Engine, и она просто взорвала мне мозг и размазала его по полу своим масштабом и невероятной детализацией.
Читать дальше →
Всего голосов 195: ↑190 и ↓5+185
Комментарии88

Сертификация по управлению проектами

Время на прочтение2 мин
Количество просмотров39K
Для менеджеров IT-проектов существует несколько видов сертификации, в которых не так просто разобраться. Чтобы вам было проще — объединил информацию по ним в одну таблицу. Включил в виды сертификации то, что достаточно распространено в России, и может помочь вам в вашей карьере.Если говорить в целом, то есть 3 направления сертификации:
  • управление проектами — общий подход к управлению проектами. Наиболее известная сертификация — Project Management Professional (PMP)
  • жизненный цикл программного средства (Application Lifetime Management, ALM) — включает такие подходы к созданию ПО как RUP и MSF
  • отдельные программные средства для управления проектом
Читать дальше →
Всего голосов 7: ↑5 и ↓2+3
Комментарии8

Нечёткий поиск в тексте и словаре

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

Введение


Алгоритмы нечеткого поиска (также известного как поиск по сходству или fuzzy string search) являются основой систем проверки орфографии и полноценных поисковых систем вроде Google или Yandex. Например, такие алгоритмы используются для функций наподобие «Возможно вы имели в виду …» в тех же поисковых системах.

В этой обзорной статье я рассмотрю следующие понятия, методы и алгоритмы:
  • Расстояние Левенштейна
  • Расстояние Дамерау-Левенштейна
  • Алгоритм Bitap с модификациями от Wu и Manber
  • Алгоритм расширения выборки
  • Метод N-грамм
  • Хеширование по сигнатуре
  • BK-деревья
А также проведу сравнительное тестирование качества и производительности алгоритмов.
Читать дальше →
Всего голосов 171: ↑170 и ↓1+169
Комментарии33

Объектно-ориентированный бизнес: как работает франшиза

Время на прочтение8 мин
Количество просмотров54K
Если сравнивать свой бизнес и франшизу — разница будет примерно как между использованием сторонней библиотеки или написанием собственной. Своя приносит глубокое моральное удовлетворение, сторонняя – работает.

Пример: По данным президента Российской Ассоциации развития франчайзинга из новых бизнесов течение первых 5 лет работы только 14% компаний, открытых по франшизам, закрываются по различным причинам — против 85% закрытых самостоятельных компаний. UPD: тут был пример из детального исследования в США, но в комментариях мы ковыряем источник, не всё так радужно. В России нормальной независимой статистики пока нет, но, как говорят профильные издания, ситуация близка к тому, что франчайзинг переживает второй год в восемь раз чаще. И это, кстати, отлично понимают банки: например, предлагают специальные льготные кредиты для бизнеса, открытого по франшизе.

image
Кусочки из нашего франчбука: полностью готовый «код», который просто надо воплотить.

Но вернёмся к этой объектно-ориентированной модели бизнеса и трём её главным качествам: наследовании, инкапсуляции и полиморфизму. Ну и заодно рассмотрим грабли, по которым мы ходили. В целом, франчайзинг для бизнеса — это примерно то же, что WEB 2.0 для Интернета. Ниже ликбез, почему.
Читать дальше →
Всего голосов 70: ↑65 и ↓5+60
Комментарии59

Build 2013 для XAML/C# разработчиков. Обновления в Windows 8.1 и обзор полезных докладов для XAML/C# разработчиков

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


В этом коротком обзоре я предполагаю рассмотреть ключевые нововведения и улучшения в Windows 8.1 для XAML/C# разработчика. В завершение я приведу подборку докладов с конференции Build 2013, полезных для XAML/C# разработчиков.
Читать дальше →
Всего голосов 40: ↑30 и ↓10+20
Комментарии15

До свидания офис. Азия и фриланс, мой кисло-сладкий соус

Время на прочтение5 мин
Количество просмотров218K
Привет!
В этой статье я хочу рассказать вам про мой путь из офиса во фриланс: мотивация, зарождение идеи, поставленные цели, вехи пути и полученный опыт.

Начать надо с главного. Я гедонист. Нет, правда! В хорошем смысле слова: сценарий «обколоться анашой» и тупеть для меня не очень интересен. Просто я думаю, что все в жизни должно быть классно и интересно. А если нет — сделай так чтобы было.
Этот текст я начал писать в ночном тайском автобусе, следующем с острова Пхукет в Бангкок. Одно из ребер графа Москва-Бангкок-Хошимин-Муине-Паттая-Пхукет-Панган-Самуи-Бангкок-Бали-Москва, растянутого во времени на 5 месяцев.



Одно важное замечание: я не сбегал, не валил, не заводил трактор.
Просто однажды осознал, что радость жизни теперь можно черпать большей ложкой, и эпоха офиса может быть сменена на хайлевел фриланс.
Что такое хайлевел фриланс? Это когда работаешь за нормальные 20-30 баксов в час; не общаешься с заказчиками-гопниками; не кидаешь, не ждешь кидалова; работаешь с полной отдачей меньше 40 часов в неделю (кто работает в офисе реальные 8 часов и не сгорает через полгода?); контрибьютишь в open-source проекты по мере надобности и заводишь свои… потому что хочется это делать!

Читать дальше →
Всего голосов 162: ↑135 и ↓27+108
Комментарии264

Встраиваемый язык для .NET, или как я переспорил Эрика Липперта

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

Предисловие


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

Читать дальше →
Всего голосов 105: ↑94 и ↓11+83
Комментарии57

Яндекс.Почта. Предотвращение хакострофы

Время на прочтение9 мин
Количество просмотров49K
В ноябре прошлого года компания «Яндекс» провела конкурс на тему поиска уязвимостей в своем сервисе. Мне посчастливилось найти там пару дырочек и получить за это второе место. Так как за эти полгода я так и не опубликовал деталей (кроме как на встрече Defcon-Russia, но это было в устной форме для узкого круга посетителей), я решил восполнить этот пробел сейчас. Так что тут будет рассказ об одной из дырок, которая была обнаружена в рамках конкурса и оперативно закрыта компанией «Яндекс». Считаю, что конкурс полностью оправдал себя и позволил предотвратить страшные последствия, так что идея явно удачна, одни плюсы. Собственно рассказ будет о банальном отсутствии проверки авторизации в одном из скриптов, что могло привести к частичной компрометации более миллиарда писем лишь на одной ноде…
Сломай меня полностью...
Всего голосов 218: ↑209 и ↓9+200
Комментарии21

Информация

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