Pull to refresh
36
0
Георгий Могелашвили @glamcoder

People manager

Send message

Настройка TeamCity для новичков

Reading time9 min
Views162K
Эта статья в первую очередь пригодится тем, кто использует тот же стек технологий, что и наша команда, а именно: ASP.NET, C#, NUnit, Selenium 2, git, MSBuild. Будут рассмотрены такие задачи, как интеграция с git, сборка C#-проектов, NUnit-тесты (как модульные, так и тесты UI), а также деплой на сервер. Впрочем, наверняка найдётся интересное и для других пользователей, кроме разве что съевших на этом вопросе собаку. Но они опять же смогут обратить внимание на ошибки в статье или что-то посоветовать: например, как оптимизировать фазу деплоя.
Читать дальше →

Альтернативные крестики-нолики

Reading time3 min
Views92K
Однажды на пикнике я заметил математиков, толпящихся возле игры, интереса к которой я ожидал меньше всего: крестики-нолики.

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



Но математики на пикнике играли в более изощренную версию игры. В каждой из клеток на квадратном поле они нарисовали поле поменьше:
Читать дальше →

Материалы по Derby.js

Reading time1 min
Views13K


Так получилось, что в последнее время материалов накопилось достаточно и здесь они просто собраны вместе.

Материалы разбиты по группам:
— для сомневающихся
— для начинающих
— для продолжающих


Тишина должна быть в библиотеке

Изоморфный JavaScript — будущее веб-приложений

Reading time9 min
Views80K
В компании Airbnb мы многому научились за последние несколько лет, создавая мощные веб-приложния. Мы погрузились в мир одностраничных приложений в 2011 г., делая мобильную версию нашего сайта, с тех пор, кроме прочего, мы запустили Wish Lists и новый поиск. Все это — большие JavaScript приложения, что означает то, что тонны кода запускаются в браузере, чтобы обеспечить современный интерактивный пользовательский опыт.

Это обычный подход сегодня, когда такие библиотеки, как backbone.js, ember.js и angular.js помогают разработчикам создавать мощные JavaScript приложения. Мы поняли, однако, что такие приложения имеют несколько критических ограничений. Чтобы стало понятно, давайте предпримем небольшой тур по истории веб-приложений.

Картинка из статьи для привлечения внимания

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

RESTful API для сервера – делаем правильно (Часть 1)

Reading time13 min
Views334K
В 2007-м Стив Джобс представил iPhone, который произвел революцию в высокотехнологичной индустрии и изменил наш подход к работе и ведению бизнеса. Сейчас 2012-й и все больше и больше сайтов предлагают нативные iOS и Android клиенты для своих сервисов. Между тем не все стартапы обладают финансами для разработки приложений в дополнение к основному продукту. Для увеличения популярности своего продукта эти компании предлагают открытые API, которыми могут воспользоваться сторонние разработчики. Пожалуй Twitter был первым в этой сфере и теперь число компаний, последовавших этой стратегии, растет стремительно. Это действительно отличный способ создать привлекательную экосистему вокруг своего продукта.

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

RESTful API на Node.js + MongoDB

Reading time16 min
Views260K
Я, будучи разработчиком мобильных приложений, часто нуждаюсь в backend-сервисах для хранения пользовательских данных, авторизации и прочего. Конечно, для подобных задач можно использовать BaaS (Parse, Backendless, etc…). Но свое решение — это всегда более удобно и практично.

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

В данной статье будет рассмотрено построение REST API для мобильного приложения на Node.js с использованием фреймворка Express.js и модуля Mongoose.js для работы с MongoDB. Для контроля доступа прибегнем к технологии OAuth 2.0 с помощью модулей OAuth2orize и Passport.js.

Пишу с позиции абсолютного новичка. Рад любым отзывам и поправкам по коду и логике!

Содержание

  1. Node.js + Express.js, простой web-сервер
  2. Error handling
  3. RESTful API endpoints, CRUD
  4. MongoDB & Mongoose.js
  5. Access control — OAuth 2.0, Passport.js

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

Несколько JavaScript хаков для хипстеров

Reading time3 min
Views55K
image
JavaScript занимательный язык программирования.

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

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

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

Все это я узнал, изучая проекты с исходным кодом, но здесь я пишу так, как будто бы это я их придумал.
Читать дальше →

Призраки в облаках или установка Ghost в Windows Azure

Reading time8 min
Views4.6K
Сегодня многие блоггеры считают, что Wordpress стал слишком перегружен лишним функционалом и превращается из платформы для блогов в полноценную и сложную CMS. Это вовсе не плохо — разнообразие плагинов, модулей и тем, доступных сейчас в сети, позволяет использовать возможности платформы практически для любых целей. Однако у этого разнообразия есть и обратная сторона медали. Нагромождение модулей негативно сказывается на производительности сайта, при том, что даже «чистый» вордпресс не может похвастаться выскокой скоростью работы.

Ghost


Некоторое время назад на сайта стартапов Kickstarter был запущен проект под названием Ghost, слоган которого был «just a blogging platform» (платформа только для блогов). Идея пришлась многим по вкусу и проект собрал почти $200.000, вместо изначальных $25.000. Сейчас проект активно развивается и на официальном сайте уже доступна для скачивания версия 0.3.3.

Меня, как и многих других, очень заинтересовал этот проект. Во-первых, мне нравится минималистичный дизайн. Во-вторых, Wordpress и правда немного избыточен для моих нужд и слегка туповат в работе. А в-третьих, меня завлекло то, что Ghost разрабатывается на Node.js — технология, о которой очень много говорят в последнее время. Я решил попробовать в действии, что же это за «just a blogging platform», и установить его себе в Windows Azure как дополнение к основному блогу.
Читать дальше →

Встречайте: Node.js Tools for Visual Studio

Reading time1 min
Views14K
Вы думали, что после Python Tools for Visual Studio, Microsoft нечем больше вас удивить на ниве open source? Что ж, попробуем исправить положение: команда PTVS рада представить вам первую альфа-версию своего нового проекта: Node.js Tools for Visual Studio (далее по тексту – NTVS).

Node.js Tools for Visual Studio
Читать дальше →

Миграция приложения с Windows 8 на Windows 8.1

Reading time11 min
Views11K
Миграция приложений на новую версию операционной системы – это всегда непростой вопрос. Ключевое значение имеет нахождение правильного баланса между внедрением новой функциональности, поддержкой кода и наличием целевой аудитории.



Все эти параметры индивидуальны для каждого проекта, и в определенном смысле зависят друг от друга.
Читать дальше →

Сортировка в .NET

Reading time16 min
Views72K
Задача сортировки — это классическая задача, которую должен знать любой программист. Именно поэтому эта статья посвящена данной теме — реализации сортировки на платформе .NET. Я хочу рассказать о том, как устроена сортировка массивов в .NET, поговорить о ее особенностях, реализации, а также провести небольшое сравнение с Java.

Итак, начнем с того, что первые версии .NET используют алгоритм быстрой сортировки по умолчанию. Поэтому небольшой экскурс в быструю сортировку:
Читать дальше →

Скромное руководство по прохождению интервью: часть 2

Reading time5 min
Views20K
Во второй части поста будут рассматриваться “Алгоритмы и концепции”, если вы не читали предыдущий пост или хотите “вспомнить” список тем, то загляните сюда.

Алгоритмы и концепции

Сортировка и поиск

Понимание/знание известных алгоритмов сортировки очень важно, поскольку многие решения связанные с сортировкой или поиском, мягко говоря, требуют владения этими алгоритмами. Хороший способ показать свои знания перед интервьюером, когда дана здача на сортировку – это «пробежать» по известным алгоритмам и увидеть/выяснить какой из них лучше всего подходит для решения данной задачи. Вы получите и решение и то, что интервьюер будет довольным вашими «разными» способов решения одной и той же задачи.
Читать дальше →

Скромное руководство по прохождению интервью: часть 1

Reading time5 min
Views30K
Пост подготовлен с целью помочь программистам при подготовке к собеседованиям по программированию. Здесь рассматриваются все основные темы, которые, как минимум, желательно знать перед собеседованием. Использован собственный опыт, опыт и рассказы коллег, специализированная литература.
Некоторые рассмотренные здесь темы могут вообще не пригодиться некоторым программистам, а могут и быть обязательными, решать вам. Мой совет – старайтесь как можно больше изучать темы/разделы/аспекты указанные здесь.
И так, в качестве обязательных знаний:
  • Структуры данных
  • Алгоритмы и «концепции»
  • Язык программирования

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

Неэффективный программист или как взломать свой мозг за 2 дня

Reading time9 min
Views192K


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


Интернет сделал нас ленивыми!

Почему? Кто в последний раз посмотрел видео больше 3х минут? Кто прочитал пост больше 2 страниц? Какой заголовок более привлекателен, «63 способа бла-бла-бла» или «3 проверенных метода бла-бла-бла»? А если эти три проверенных метода выделены от основного текста, то это вообще гуд (можно не читать текст вовсе, а просто пробежаться по выделенным подзаголовкам).

В этом свои плюсы. Наш мозг эволюционировал, и обрабатывает информацию быстрее, чем, скажем, 15-20 лет назад (да и эволюционирует быстрее, чем это было возможно век назад). Как компании справляются с высокими нагрузками? Как процессор выполняет программу по возможности быстро? С помощью кэширования! (как вариант, но самый приоритетный). Что делает наш мозг, чтобы справиться с большой нагрузкой? Кэширует! Что именно и как — оставим на размышление ИИшникам (специалистам по искусственному интеллекту). В противном случае при увеличении размера обрабатываемой информации время «отклика» бы увеличилось в разы, и на ответ на «как добраться до ближайшей больницы?» уйдет больше времени, чем человек «в силе ждать». «Сила ждать» тоже уменьшилась, «размер» нашего терпения уменьшился, и мы быстро устаем, если продолжительность видео большая, размер статьи большой (на самом деле продолжительность может не влиять на терпение, больше всего влияет полезная информация, если «воды» меньше или вовсе нет, то и терпеть ничего не приходится, посему данный пост написан «эз лаконик эз посибл»).
Убедиться в этом

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

Reading time5 min
Views13K


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

Чем бы вы стали заниматься, если…?

Reading time2 min
Views42K
Друзья.

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

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

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

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

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

Как пишутся книги

Reading time10 min
Views32K
Мой самый крупный самостоятельный проект — увесистый том «Pro Android Web Game Apps» увидел свет не только в электронной форме, но и во плоти. В этой заметке я хочу поделиться своим опытом — рассказать о том, как появляются на свет технические книги — от идеи и переговоров с издательствами до утверждения обложки и печати.

cover

Первые шаги и разговор с издательством


Когда мысль о книге впервые пришла ко мне в голову, я даже не хотел её озвучивать. 99% моих идей кто-то уже придумал, нужно только как следует поискать. В этот раз было не так – google не возвращал ничего кроме блогов или отрывочных заметок — ничего действительно фундаментального. Значит у идеи есть шанс. Раз так, то почему бы не попробовать?

Процесс «для новых авторов» у всех крупных издательств приблизительно одинаковый: опишите нам свою идею, объясните почему именно вы должны её реализовать и не звоните нам, мы сами вам позвоним. Чтобы начать переговоры, нужно написать 2-3 страницы в свободном стиле о вас и вашей книге. Три из пяти издательств, которым я написал ответили, что моя тема не входит в стратегию развития на следующий год. Ещё два издательства — Apress и Manning ответили, что им интересно. Apress ответил быстрее и всего через несколько часов я начал с ними работать.
На этом этапе моей основной проблемой был язык. Я неплохо говорю, и могу сносно обсудить релиз проекта, футбол или игру Эммы Уотсон, но книга — это совсем другое. Любая неточность будет лишний раз напоминать, что автор пишет на неродном языке.
Читать дальше →

Отчёт со Всероссийского Открытого Чемпионата по программированию

Reading time4 min
Views37K

Первый день: как видите, многие финалисты со своими ноутбуками

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

Кто и откуда приехал?


Участвовало 3500 программистов со всей России, из стран СНГ и совсем немного — из других стран. К первому туру было отобрано 2000 участников, ко второму — 400, а в финал в Москве вышло 50 человек. Уровень в этом году был явно выше чем в прошлом: либо сказались тренировки и то, что турнир набирает известность, либо то, что в игру включились гости из других стран. Приезжали участники финалов прошлых лет.

В финал попало 16 москвичей, 14 петербуржцев, по двое жителей Екатеринбурга, Нижнего Новгорода, Саратова, один участник приехал из Новосибирска. Также в финал вышли по трое из Беларуси, Польши, Украины и даже один человек из Японии. По правилам турнира мы оплачивали дорогу всем, кроме жителей Польши и Японии, а проживание оплатили каждому участнику.
Читать дальше →

Боремся с дубликатами

Reading time5 min
Views9.8K
Продолжая тему использования динамического SQL, я хочу рассказать об одном полезном инструменте, реализованном мной в рамках одного из текущих проектов. Речь пойдет о дубликатах в справочниках. Под дубликатами, в этой статье, я понимаю записи, внесенные в справочники повторно, например в результате орфографической ошибки при вводе наименования.
Читать дальше →

Как провести двухдневную онлайн-конференцию для разработчиков за $10?

Reading time7 min
Views12K
DotNetConf Logo

Мы только что завершили проведение конференции DotNetConf – нашей онлайн конференции сообщества разработчиков, которые любит платформу .NET и открытые проекты.

Все доклады конференции уже доступны по ссылке на официальном сайте.

Платформа конференции


Довольно забавно называть “платформой” наше ПО, на котором работала конференция, это звучит слишком “энтерпрайзно” и официально. В прошлом мы провели конференции aspConf и mvcConf с помощью спонсоров, которые оплачивали необходимые расходы. Мы использовали мощности Channel 9, студию и вещали видео из Сиэтла или через Live Meeting.

Однако, в этом году нам захотелось провести конференцию как можно проще, дешевле и более распределенно. Мы хотели пригласить спикеров из любой временной зоны. Насколько это было дешево? Примерно в $10. Точный счет будет подсчитан позднее, нам просто хотелось поднять мощности, провести мероприятие и затем отказаться от полученных ресурсов.
Читать дальше →

Information

Rating
Does not participate
Location
Haarlem, Noord-Holland, Нидерланды
Date of birth
Registered
Activity