Как стать автором
Обновить
2
0
Sergei Sirik @sergeisirik

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

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

MongoDB vs MySQL (vs Cassandra): А теперь чуть более правильный ответ

Время на прочтение3 мин
Количество просмотров27K
Собственно, сегодня был запощен топик "Сравниваем производительность MongoDB и MySQL на простом примере", в котором указывалось, что MongoDB превышает по производительности MySQL в разы. Хех, когда такое пишут — я сразу лезу проверять и сомневаться. Я полез в исходники оригинального теста (спасибо за публикацию). И как оказалось автор оригинального топика сделал ошибку в три символа и на самом деле не все так:
  1. В оригинале: MongoDB быстрее MySQL пишет в 1.5 раза (ДА, правда у меня в 3 раза)
  2. В оригинале: MongoDB быстрее MySQL читает в 10 раз (НЕТ, на самом деле — MongoDB примерно на равных плюс-минус 10-30%)
  3. InnoDB vs MyISAM — плюс-минус (в оригинале не тестировалось)
Сравнение здесь происходит только как key-value storage (запись-чтение по primary key).


На графике — число операций в секунду, (больше — лучше), шкала логарифмическая.
Последняя строка — то, что тестировал автор оригинального топика (неправильное, не в критику — все мы ошибаемся и учимся).


А теперь подробнее об ошибке…
Читать дальше →
Всего голосов 62: ↑56 и ↓6+50
Комментарии71

AngularJS — фреймворк для динамических веб-приложений от Google

Время на прочтение6 мин
Количество просмотров138K
AngularJS создан для тех разработчиков, которые считают, что декларативный стиль лучше подходит для создания UI, а императивный — для написания бизнес-логики.

Дзен Angular


  • Хорошо отделять манипуляцию DOM-ом от логики работы приложения. Это существенно улучшает тестируемость кода.
  • Хорошо считать, что автоматизированное тестирование приложения настолько же важно, насколько и написание самого приложения. Тестируемость очень сильно зависит от того, как структурирован код.
  • Хорошо отделять разработку клиентской части от серверной. Это позволяет вести разработку параллельно и улучшает повторное использование на обеих сторонах.
  • Хорошо, когда фреймворк ведет разработчика по всему циклу разработки приложения: от проектирования UI через написание бизнес-логики к тестированию.
  • Хорошо, когда распространенные задачи становятся тривиальными, а сложные — упрощаются.


AngularJS представляет собой комплексный фреймворк. В стандартной поставке он предоставляет следующие возможности:
  • Все, что вам нужно для создания CRUD-приложений: data-binding, базовые директивы для шаблонов, валидация форм, роутинг, deep linking, повторное использование компонентов, dependency injection, инструменты для взаимодействия с серверными (RESTful) источниками данных.
  • Все, что вам нужно для тестирования: средства для модульного тестирование, end-to-end тестирования, mock-и.
  • Шаблон типового приложения, включающего в себя структуру каталогов и тестовые скрипты.


AngularJS разрабатывается сотрудниками Google и используется, как минимум, в одном сервисе Google — DoubleClick.

Читать дальше →
Всего голосов 60: ↑55 и ↓5+50
Комментарии36

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

Время на прочтение8 мин
Количество просмотров22K
image Это красноречивое объявление я увидел и сфотографировал в подъезде своего знакомого на двери неизвестного мне товарища. Возможно, стоило позвонить в дверь и познакомиться, но я растерялся и этого не сделал. Если товарищ есть на Хабре, то ему — большой привет.

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

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

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

Ещё больше способов, наверняка, предложат в комментариях.

Поскольку соседи — часть тех самых ближних, которых (по известной концепции) мы должны возлюбить, то предлагаемые решения, в основном, будут гуманными и обоюдно комфортными. В общем, будем учиться конструктивно отказывать тем, кому прежде не говорили «нет».
Читать дальше →
Всего голосов 133: ↑107 и ↓26+81
Комментарии131

Я переучиваю людей на Java-программистов

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

Когда я вижу друзей, которые вкалывают в два раза больше, а зарабатывают в четыре раза меньше, каждый раз начинается разговор:
— А ты бы не хотел поработать программистом? Ты же реально умный. Может ты просто не на своем месте?

В результате я переучиваю своих друзей и знакомых на программистов. Весь процесс занимает от двух до трех месяцев. 25 уроков по 4 часа. Потом все смогли устроиться программистами.
Эта статья не о том, как надо учить, скорее просто описание процесса, который работает.
Читать дальше →
Всего голосов 351: ↑232 и ↓119+113
Комментарии464

Как я покупал квартиру

Время на прочтение11 мин
Количество просмотров62K
Я хотел написать статью про линейную регрессию, но потом подумал, да ну её, лучше куплю квартиру. И пошёл искать, что предлагают. А предлагают, как оказалось, много чего. В подходящий мне ценовой диапозон попало больше 500 квартир. И что, мне теперь все это просматривать? Ну нееет, программист я в конце концов или не программист. Надо это дело как-то автоматизировать.
Читать дальше →
Всего голосов 279: ↑272 и ↓7+265
Комментарии182

Программист-гуманитарий

Время на прочтение3 мин
Количество просмотров34K
В основной школе меня почему-то считали хорошим математиком. Отправляли на олимпиады по математике и физике, ругали за плохие результаты и отправляли снова. Стоит отметить, что с олимпиад я всё-таки принёс два первых места, но это были районные по немецкому языку. В средней школе ситуация поменялась не в лучшую сторону, но геометрию я всё ещё понимал. А вот в университете я уже почувствовал себя маленьким мальчиком, окружённым толпой умных дяденек и тётенек. Пережить первую сессию мне не удалось.

Я часто читаю тут истории о том, как люди становились тру программистами. Как в 13 лет они взламывали школьные сервера и придумывали хитроумные вирусы. Я завидую этим людям и их складу ума. Моё знакомство с программированием случилось в основной школе, когда я рисовал кружочки и квадратики в QBasic. Я обожал команду GOTO и совершенно не понимал Pascal. С тех пор утекло много времени, я выучил много новых терминов и зарабатываю на жизнь веб-разработкой. Но иногда мне кажется, что это всё те же кружочки с квадратиками, просто они свистят и забавно попёрдывают. А Pascal я так и не выучил.
Читать дальше →
Всего голосов 220: ↑176 и ↓44+132
Комментарии125

Гейб Ньюэлл собирается поддерживать Linux, поскольку Windows 8 — это «катастрофа»

Время на прочтение3 мин
Количество просмотров29K
На конференции разработчиков видеоигр Casual Connect в Сиэтле сооснователь и глава корпорации Valve, проработавший 13 лет в компании Microsoft Гейб Ньюэлл назвал Windows 8 «катастрофой для всех в сфере PC». Гейб также заявил, что за спад после Windows 8 будет потеряно несколько важных торговых марок производителей оборудования, а для многих пользователей сотрутся границы программных платформ.

Обычно Ньюэлл, рабочий стол которого свободно ездит по всему офису Valve к интересующим его проектам, не демонстрирует своё мнение о тенденциях движения гигантов уровня Apple и Microsoft к закрытым экосистемам, но в интервью Эду Фраю он высказал несколько интересных аргументов.

Гейб говорит, что недооцененный фактор, отталкивающий рыночный интерес от платформы Linux, — это наличие малого количества видеоигр. На данный момент в Valve идут работы над портированием Left 4 Dead 2 и других игр Steam, что является подготовкой к ходу, который сам Ньюэлл назвал «стратегия страховки». Если предсказания главы Valve о Windows 8 подтвердятся, то порты послужат хорошей альтернативой.
Читать дальше →
Всего голосов 182: ↑165 и ↓17+148
Комментарии346

Карта Интернета

Время на прочтение3 мин
Количество просмотров19K
Привет всем!

Хочу представить вам Карту Интернета или результат кластеризации более чем 350 тысяч сайтов в соответствии с переходами пользователей между ними. Размер круга определяется посещаемостью сайта, цвет – национальной принадлежностью, а положение на карте – его связями с другими сайтами. Если два сайта имеют стабильный поток пользователей между ними, то они будут «стараться» расположиться ближе друг к другу. После завершения работы алгоритма, на карте можно наблюдать скопления сайтов (кластеры) объединенные общими пользователями.

image

Например, если ввести в поиск habrahabr.ru, то можно увидеть, что dirty.ru и leprosorium.ru в том же «созвездии», а еще подальше livejournal.ru. Это говорит о том, что тот, кто сейчас читает этот текст, также с высокой вероятностью посещает эти сайты (относительно усредненного пользователя Рунета конечно).

Еще более интересный пример кластеризации можно увидеть внизу карты, между фиолетовой Японией и желтоватой Бразилией: там расположилась целая порнострана по размерам сопоставимая со всем Евронетом. Интересно, что будучи достаточно компетентным в рассматриваемом вопросе, внутри большого порнокластера можно различить тематические подкластеры меньшего размера.

Тем, кого интересует краткое техническое описание – добро пожаловать под кат
Читать дальше →
Всего голосов 224: ↑217 и ↓7+210
Комментарии146

17-летний бизнесмен основал четыре стартапа

Время на прочтение2 мин
Количество просмотров18K
История 17-летнего австралийского веб-программиста Лэйчи Грума (Lachy Groom) показывает, что предпринимательство — это талант: или он есть с малых лет, или его нужно долго в себе искать.

Этот парень (на фотографии он учит программированию студента) начал заниматься бизнесом с малых лет, в детстве он торговал газировкой и занимался выгулом собак, к 11-ти годам отец научил его HTML и CSS. В 2008 году в возрасте 13-ти лет мальчик основал первый стартап PSDtoWP.com. По заказам клиентов, преимущественно, из Европы и США, он создавал WordPress-темы из макетов Photoshop. Спустя девять месяцев сайт купила крупная консалтинговая компания.
Читать дальше →
Всего голосов 176: ↑118 и ↓58+60
Комментарии163

Portable Components, вспомогательные средства разработки ПО

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

Продолжая свою предыдущую статью, посвященную библиотеке POCO (Portable Components), хотелось бы рассказать об оснастке POCO Application и её таких производных, как ServerApplication и ConsoleApplication.
Оснастка Application создана для упрощения разработки ПО и, как правило, экономии времени. Пользуясь данной оснасткой, мы cможем создать консольные приложения, службы Windows и демоны UNIX за считанные минуты.

Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии46

Использование разделяемой памяти в Java и off-heap кеширование

Время на прочтение6 мин
Количество просмотров59K
На прошлой неделе состоялся успешный эксперимент по запуску нового решения для download-сервиса. Один достаточно скромный сервер (2 x Intel Xeon E5620, 64 GB RAM) под управлением Java-приложения собственной разработки принял на себя нагрузку восьми Tomcat'ов, обслуживая более 70 тысяч HTTP-запросов в секунду общей пропускной способностью 3000 Mb/s. Таким образом, весь трафик Одноклассников, связанный с пользовательскими смайликами, обрабатывался одним сервером.

Вполне естественно, что высокие нагрузки требовали нестандартных решений. В цикле статей о разработке высоконагруженного сервера на Java я расскажу о проблемах, с которыми нам пришлось столкнуться, и о том, как мы их преодолели. Сегодня речь пойдет о кешировании изображений вне Java Heap и об использовании Shared Memory в Java.
Читать дальше →
Всего голосов 65: ↑64 и ↓1+63
Комментарии68

Квадрокоптер-R2. Апгрейд

Время на прочтение4 мин
Количество просмотров100K
Весной я писал как построить дешевый и простой коптер за 1 день и $120
Основной его недостаток — довольно примитивный по возможностям контроллер KKmultiсopter — он даже горизонт сам держать не умеет. Что-ж, исправим этот недостаток!
Тех, кто уже построил по предыдущему рецепту, спешу успокоить — бюджет апгрейда всего $40-55. Для тех, кто строить будет с нуля, есть возможность улучшить конструкцию.
Я построил второй коптер, т.к. комплектующие для него были куплены давно.
image
Апгрейдим до R2
Всего голосов 87: ↑82 и ↓5+77
Комментарии118

Закрылся доступ к французской альтернативе интернета: сеть Minitel сошла с дистанции

Время на прочтение3 мин
Количество просмотров32K
Окончательный уход в историю французской видеотекс системы Minitel (Médium Interactif par Numérisation d’Information TELéphonique) — cобытие, оставшееся незаслуженно незамеченным. Многие ли знают об этой разработке конца 70х, которая во Франции стала предшественником современного интернета и даже тормозила его проникновение?

Коммерческая история началась 30 лет назад – в 1982 году была запущена сеть Telenet, доступ к которой осуществлялся через абонентские терминалы — Minitel, состоящие из монитора, клавиатуры и модема. Позже они эволюционировали, появлялись модели с цветным экраном (Minitel 1 Couleur), с возможностью установить пароль на терминал (Minitel 2), так и не преодолевший стадию прототипа Minitel Photographic и другие.





Читать дальше →
Всего голосов 88: ↑87 и ↓1+86
Комментарии43

Изучить Github за 15 минут

Время на прочтение1 мин
Количество просмотров127K
TryGit — интерактивный обучающий курс по Github в стиле Codecademy. Курс состоит из 25 мини-уроков, которые знакомят пользователя с базовыми понятиями и основными командами git, при этом ученик своими руками вводит команды в консоль, смотрит результат и читает сопровождающие надписи с объяснением происходящего.



Вот таким в будущем должно стать обучение в школах!

Конечно, 15-минутное введение не заменит полноценного учебника. Для обучения можно рекомендовать бесплатную книгу Pro Git и видеокурс Getting Git.
Всего голосов 173: ↑155 и ↓18+137
Комментарии56

Что скрывает от нас директория .git

Время на прочтение4 мин
Количество просмотров25K
Вот и мне посчастливилось познакомиться с git. Каюсь, пользуясь Subversion, я знал, как в IDEA или TortoiseSVN сделать то, что мне надо, но даже не представлял, что происходит за сценой. В данном случае я решил подойти к git более ответственно и хорошенько изучить его перед использованием. Сейчас я знаю какие команды надо использовать для выполнения задуманного, но не знаю, как это сделать в IDEA или TortoiseSVN.
Но я решил пойти еще дальше и узнать, что происходит в самой директории .git. Там оказалось все настолько интересно и просто, что я решил поделиться этим с вами.
Читать дальше →
Всего голосов 177: ↑168 и ↓9+159
Комментарии23

Опыт разработки GUI на JSF

Время на прочтение3 мин
Количество просмотров50K
Разработкой браузерных GUI под явой я занимаюсь уже около 12 лет, среди прочего имею опыт использования сервлетов, JSP, XML/XSLT, Struts, Tapestry (3,4,5), Wicket, Spring MVC и GWT.

Но JSF обходил до сих пор стороной. Причина этому было то, что когда JSF только появился, то в своих первых инкарнациях выглядел устрашающе коряво — по сравнению с теми же Tapestry и Wicket.

Время шло, JSF не собирался умирать, а появился уже в версии 2.1. И я решил попробовать использовать его для одного из своих экспериментальных проектов, на которые я трачу примерно 3 месяца каждый год — для расширения кругозора и отвлечения от скучного консалтинга (которым зарабатываю детишкам на молочишко в остальные 9 месяцев).

Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии48

Обзор зарплат программистов Java/C++/C#/Delphi

Время на прочтение2 мин
Количество просмотров263K
Мы (мы — это рекрутинговая компания IT-Доминанта), продолжаем публиковать результаты нашего исследования рынка заработных плат в IT индустрии.
Очередной пост мы решили посвятить:
  • Java программистам
  • С++ программистам
  • C# программист
  • Delphi программистам


Читать дальше →
Всего голосов 87: ↑68 и ↓19+49
Комментарии119

Wikileaks публикует 2,4 млн электронных писем сирийских властей

Время на прочтение2 мин
Количество просмотров1.1K
WikiLeaks начал публиковать 2,4 миллиона электронных писем от сирийских политиков и министров, а также связанных компаний.

Согласно данным WikiLeaks, эти электронные письма были получены в промежуток с августа 2008 года по март 2012 от 680 связанных с Сирией организаций, включая американские министерства дел Президента, финансов, международных отношений, информации, культуры и транспорта.

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

WikiLeaks утверждает, что «Сирийские файлы прольют свет на внутренние особенности работы государства и экономики, а также покажут, как Запад и западные компании говорят одно, а выполняют иное». Группировка имеет доступ к 2.434.899 электронным письмам от 680 различных доменных имен, принадлежащим связанным с Сирии организациям, но как был получен такой объем данных, не сообщается.
Читать дальше →
Всего голосов 71: ↑63 и ↓8+55
Комментарии43

100k

Время на прочтение1 мин
Количество просмотров3.3K
Сегодня для всех нас праздник. Все дело в том, что любимый нами ресурс Хабрахабр отмечает юбилей. Юбилей под названием «Стотысячный пост». Поздравляю жителей сего ресурса со знаменательным днем. Желаю Хабру еще больше увлекательных статей, нескучных гайдов и меньше криков «не торт» со стороны посетителей.
Всего голосов 398: ↑331 и ↓67+264
Комментарии160
12 ...
9

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность