Как стать автором
Обновить
112
Карма
0
Рейтинг
Роман @itspoma

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

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

Вторая загадка Марса

ЯндексПоисковые технологииРазработка робототехники


Сегодня в 12:31 с Байконура стартует ракета «Протон-М», которая отправит к Марсу космические аппараты международной исследовательской миссии ExoMars. Увидеть пуск можно будет на Яндексе, который в 11:45 начнет трансляцию из студии Роскосмоса. Яндекс попросил меня рассказать подробнее о планируемой миссии и ее целях.

Все знают, что никто не знает есть/была ли жизнь на Марсе. Это первая загадка. Пятнадцать лет назад второй загадкой была вода на Марсе. Сейчас ее уже многократно разгадали — воду нашли, картографировали, изучили с поверхности. Но к тому времени нашли загадку не менее важную — марсианский метан.
Читать дальше →
Всего голосов 93: ↑87 и ↓6 +81
Просмотры41.6K
Комментарии 30

Новости

Показать еще

KTV. Новый JSON

Разработка под iOSРазработка мобильных приложений
В своём развитии мне пришлось пробежаться по нескольким этапам в нескольких направлениях: Java → Objective C → Swift, Web → Enterprise → Mobile, XML → JSON. Этим путём я шёл на протяжении более 15 лет, подолгу и внимательно задерживаясь на каждом этапе. Нужно идти дальше. За мобильными приложениями можно придумать что-то (наверное, пока не хочется), языков вообще пруд-пруди, ничего интереснее JSON'а не придумали. А зачем его менять?

Дальше я расскажу почему мне не очень нравится JSON для некоторых применений и как, по моему мнению, его можно доработать, чтобы стало немного удобнее.

Сразу должен отметить, что не рассматриваю KTV, как замену JSON. И ни в коем случае не рассматриваю его для использования в JavaScript'е. Это будет неудобно и неправильно. С другой стороны, ситуация, когда система описания объектов JavaScript'а используется в других языках для работы с типизированными данными — тоже странная, и её хочется поправить.

Если вам интересно, что послужило изначальной причиной создания такого формата — можно почитать про S2 и про причины создания формата KTV
Читать дальше →
Всего голосов 45: ↑25 и ↓20 +5
Просмотры15.6K
Комментарии 111

Кризис ожирения сайтов

Разработка веб-сайтовРазработка мобильных приложенийHTML
Перевод
Примечание переводчика: визит под кат этого поста означает большие объёмы потреблённого трафика. И это иронично, если учесть поднятую тему. Но всё сразу встаёт на свои места, если помнить, что в оригинале это было выступление в прошлом ноябре в Сиднее длиной почти в час. Чтение поста занимает куда меньше времени. В форме видеозаписи (1280×720) речь занимает два гигабайта. Пост же занимает всего лишь 12 МиБ. Рекомендуется просмотр на широких мониторах.



Перед началом тирады я хотел бы обратить внимание на то, что прекрасные сайты бывают любых форм и размеров. И я здесь не собираюсь кого-то пристыживать за количество использованных бит, объём использованных ресурсов и так далее. Я люблю большие сочные галереи изображений, мне нравятся огромные эксперименты на JavaScript, я смотрю онлайн-видео в высоком разрешении, как и все вы. Я считаю, что подобное замечательно.

Выступление совсем не об этом. Я хотел бы поговорить об этом общественном кризисе здоровья, этом ожирении сайтов. Отличные дизайнеры, которые задумываются о вебе как я или даже больше, почему-то делают страницы, которые становятся больше. Речь пойдёт о текстовых в своей основе сайтах, которые по каким-то непостижимым причинам с каждым годом становятся всё больше и больше.
Читать дальше →
Всего голосов 97: ↑93 и ↓4 +89
Просмотры119.7K
Комментарии 123

Как организована передача финансовых данных на американской бирже Nasdaq: Протоколы ITCH и OUCH

ITI CapitalРазработка веб-сайтов


В нашем блоге мы уже рассказывали об использующихся на мировых биржах протоколах передачи финансовой информации. Речь шла о таких протоколах, как FIX и FAST, которые широко применяются фондовыми площадками по всему миру, а также о проприетарных протоколах Plaza II и ASTS Bridge, которые были созданы специалистами российских бирж РТС и ММВБ, позднее объединившихся в «Московскую биржу».

Сегодня мы продолжим цикл материалов и поговорим о проприетарных протоколах биржи Nasdaq ITCH и OUCH.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры9.7K
Комментарии 3

Сертификация mongoDB

MongoDB
Недавно мне удалось пройти сертификация C100DEV: MongoDB Certified Developer Associate Exam и C100DBA: MongoDB Certified DBA Associate Exam. В данной статье я хочу поделиться своим опытом и сказать на что следует обратить внимание при подготовке, и как проходил экзамен. Также приведу несколько примеров вопросов.
Подробности
Всего голосов 23: ↑20 и ↓3 +17
Просмотры12.7K
Комментарии 7

Образы и контейнеры Docker в картинках

Виртуализация
Из песочницы
docker container

Перевод поста Visualizing Docker Containers and Images, от новичка к новичкам, автор на простых примерах объясняет базовые сущности и процессы в использовании docker.

Если вы не знаете, что такое Docker или не понимаете, как он соотносится с виртуальными машинами или с инструментами configuration management, то этот пост может показаться немного сложным.

Пост предназначен для тех, кто пытается освоить docker cli, понять, чем отличается контейнер и образ. В частности, будет объяснена разница между просто контейнером и запущенным контейнером.
Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Просмотры139.1K
Комментарии 6

Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 17. «Pizza and Plastic»

EdisonИнформационная безопасностьПлатежные системыПрофессиональная литература
Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «одного своего знакомого».

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

Квест по переводу книги начался летом в ИТ-шном лагере для старшеклассников — «Шкворень: школьники переводят книгу про хакеров», затем к переводу подключились и Хабраюзеры, и даже немного редакция.

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

Глава 17. «Пицца и Пластик»


(за перевод спасибо Ashot Ogoltsov)
На верхнем этаже небоскреба на Post Street, на полу из ламината, стоял компьютер Макса — тихий и холодный. Это была маленькая квартира, размером чуть больше тюремной камеры. Эту квартиру нашел ему Крис, и она соответствовала всем его запросам: маленькая площадь, огромное количество соседских Wi-fi сетей. Квартира была декорирована под светлое дерево, в ней стоял большой холодильник и была кровать-раскладушка, которая убиралась в стену.

Это была чистенькая квартирка площадью в 27 квадратных метров без каких-либо излишеств, где Макс скрывался после того как оставил свой пентхаус. Он получил неплохой навар с операции с Ситибанком и не занимался взломами уже несколько месяцев. Крису оставалось лишь приготовить поддельные документы для полугодовой аренды квартиры и заплатить депозит в размере 500$.
Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Просмотры19.7K
Комментарии 0

Codesign.io – архитектура которая работает

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

Мы запустили сервис 22 июля 2015 года и с тех пор набрали 3500 зарегистрированных пользователей, пережили запуск на ProductHunt, когда к нам зашло 10 000 человек за 36 часов, получили своих первых платных пользователей и обсуждаем получение финансирования от европейских (я живу в Италии) инвесторов. В этой статье я расскажу, как мы построили архитектуру сервиса и организовали процесс разработки.


Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры7.7K
Комментарии 18

Ещё раз про семь основных методологий разработки

EdisonРазработка веб-сайтовПрограммированиеРазработка мобильных приложений
Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.


Читать дальше →
Всего голосов 51: ↑38 и ↓13 +25
Просмотры553.3K
Комментарии 47

Балансировка 70 тысяч запросов в секунду на HighLoad++

Конференции Олега Бунина (Онтико)Высокая производительностьРазработка веб-сайтовАнализ и проектирование систем

Библиотека докладов


Это не просто статья — это целая библиотека докладов про внутреннее устройство тех или иных крупных и высоконагруженных проектов. Все эти доклады звучали на конференциях HighLoad++ и РИТ++ за последние несколько лет.


Читать дальше →
Всего голосов 43: ↑38 и ↓5 +33
Просмотры37K
Комментарии 11

Правильная миграция с MyISAM на InnoDB

MySQL
Давайте я отвлеку вас от котиков и расскажу, основываясь на своём опыте, какие подводные камни появляются при переходе с MyISAM на InnoDB, и как их избежать. Код приложения будет на PHP.

Этот пост я решил написать, прочитав огромное количество неправильных ответов на запрос из сабжа в интернете. По всему интернету разбросаны неграмотные или не полные ответы, в результате чего складывается впечатление о том, что смигрировать вашу базу данных на InnoDB — это очень просто. Нет, это не просто! Итак, начнем!

Зачем переходить на InnoDB


С этим вопросом, я думаю, всем всё ясно. Объяснять не буду — преимуществам InnoDB посвящены куча статей в интернете. Если ты читаешь эти строки, то значит ты осознанно пришел к этой мысли о переводе своего хозяйства на InnoDB, и ты, хабраюзер, гуглишь) Надеюсь, эта статья — то, что тебе надо.

Подготовительный этап

1. Из банального — это обеспечить необходимое количество свободного места на диске, где у нас развернута база. InnoDB занимает примерно в 1,5 раза больше места, чем MyISAM.

2. Очень важный момент — он вам пригодится в будущем при траблшутинге перформанс ишшусов в базе. Нужно прокомментировать каждый SQL запрос в вашем приложении с использованием уникального идентификатора, например, порядкового номера. Если у вас сотни или тысячи SQL запросов, то как вы жили до сих пор без этого?

SELECT /*017*/ client_id, money, lastname FROM clients WHERE money > 100;

Читать дальше →
Всего голосов 25: ↑16 и ↓9 +7
Просмотры26.3K
Комментарии 35

Redis и проблема больших данных

Retail RocketРазработка веб-сайтовMongoDBBig Data
in memory db

Привет, Хабр! Мы продолжаем делиться технологической кухней Retail Rocket. В сегодняшней статье мы разберем вопрос выбора БД для хранения больших и часто обновляемых данных.

На самом начальном этапе разработки платформы перед нами возникли следующие задачи:
  • Хранить у себя товарные базы магазинов (т.е. сведения о каждом товаре всех подключенных в нашу платформу магазинов с полным обновлением 25 млн. товарных позиций каждые 3 часа).
  • Хранить рекомендации для каждого товара (около 100 млн. товаров содержит от 20 и более рекомендуемых товаров для каждого ключа).
  • Обеспечение стабильно быстрой выдачи таких данных по запросу.

Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Просмотры30.1K
Комментарии 74

Алгоритмы: теория и практика. Методы

Образовательные проекты JetBrainsАлгоритмыМатематика
Tutorial
image

В ноябре мы запускаем онлайн-курс «Алгоритмы: теория и практика. Методы» от Computer Science центра. Курс бесплатный, приглашаются все желающие. В курсе будут подробно разобраны базовые алгоритмические методы: жадные алгоритмы, метод «разделяй и властвуй», динамическое программирование. Для всех алгоритмов будут математически строго доказаны корректность и оценки на время работы. Мы постарались изложить материал так, чтобы были понятны и сами алгоритмы, и то, как можно было бы догадаться до их основных идей. Помимо теоретических основ, будут рассказаны тонкости реализации алгоритмов на языках программирования C++, Java и Python. В частности, будет рассказано, какие есть общие практики написания кода, позволяющие минимизировать вероятность ошибки, как писать и тестировать код, где стоит использовать стандартные методы, а не изобретать колесо.

Мы тщательно подобрали задачи для закрепления материала. Большинство алгоритмов, которые вы узнаете, вам нужно будет запрограммировать. Это лучший способ убедиться, что вы разобрались во всех деталях. Решая такие задачи, вы получите ценный опыт написания и отладки эффективных и надёжных программ. Задачи на программирование помогут вам почувствовать разницу между плохим (медленным) и хорошим (быстрым) алгоритмом. Вас также ждут тесты (где нужно выбрать правильные ответы из предложенных) и теоретические задачи (в них нужно доказать математическое утверждение). Наконец, в курсе есть также задачи повышенной сложности — менее стандартные задачи, которые не являются обязательными для прохождения курса. Получить удовольствие от решения этих задач смогут и те, кто уже знаком с базовыми алгоритмами.
Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Просмотры32.6K
Комментарии 2

Книга «Java EE. Паттерны проектирования для профессионалов»

Издательский дом «Питер»JavaПрофессиональная литература
imageУ нас вышла книга Мурата Йенера и Алекса Фидома.

Книга «Java EE. Паттерны проектирования для профессионалов» — незаменимый ресурс для всех, кто желает более эффективно работать с Java EE, а также единственная книга, в которой рассмотрены как теория, так и практика использования паттернов проектирования на примерах реальных прикладных задач.

Авторы знакомят читателя и с фундаментальными, и с наиболее передовыми возможностями Java EE 7, досконально рассматривают каждый из паттернов и демонстрируют, как эти паттерны применяются при решении повседневных прикладных задач.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры27.5K
Комментарии 5

Аккордеон про архитектуру и локализацию

Разработка веб-сайтовJavaScript
Локализация на JavaScriptЗа последние полгода было много статей о том, как написать крутой фреймворк объемом ~100 строк. Подкатом история о том, как написать ~2000 строк и ни одного фреймворка.
Увлекательный мир баянов и велосипедов
Всего голосов 25: ↑22 и ↓3 +19
Просмотры18.1K
Комментарии 4

Как работает реляционная БД

Mail.ru GroupАлгоритмы
Перевод
Tutorial
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Читать дальше →
Всего голосов 232: ↑229 и ↓3 +226
Просмотры433.8K
Комментарии 134

Об одной задаче Data Science

MLClassПрограммированиеData MiningBig DataМатематика
Привет, хабр!



Как и обещал, продолжаю публикацию статей, в которой описываю свой опыт после прохождения обучения по Data Science от ребят из MLClass.ru (кстати, кто еще не успел — рекомендую зарегистрироваться). В этот раз мы на примере задачи Digit Recognizer изучим влияние размера обучающей выборки на качество алгоритма машинного обучения. Это один из самых первых и основных вопросов, которые возникают при построении предиктивной модели
Читать дальше →
Всего голосов 20: ↑17 и ↓3 +14
Просмотры21.7K
Комментарии 7

GitFlow и Semantic Versioning на каждый день

Разработка веб-сайтовПрограммирование.NETСистемы управления версиямиC#
Перевод
image

Cколько времени я использую GitFlow и Semantic Versioning, меня все не покидает чувство, что чего-то в них не хватает. Обе концепции хороши, но так как они предлагают решения для проблем из разных областей, их совместное использование выглядит сложнее, чем должно быть.

Возможно причина в том, что я выбрал не самый оптимальный путь, и это может стать хорошей темой для будущего поста. В этом же я хочу описать простой подход к управлению релизами приложений и библиотек.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры25.5K
Комментарии 3

Непересекающиеся множества и загадочная функция Аккермана

АлгоритмыМатематика
Tutorial
Речь пойдёт о простой структуре данных — системе непересекающихся множеств. Вкратце: даны непересекающиеся множества (например, компоненты связности графа) и по двум элементам x и y можно: 1) узнать, находятся ли x и y в одном множестве; 2) объединить множества, содержащие x и y. Сама структура очень проста в реализации и описывалась много раз в различных местах (например, есть хорошая статья на хабре и ещё кое-где). Но это один из тех удивительных алгоритмов, написать который ничего не стоит, а вот разобраться, почему он работает эффективно совсем нелегко. Я постараюсь изложить относительно простое доказательство точной оценки на время работы этой структуры данных, придуманное Зейделем и Шариром в 2005 (оно отличается от того ужаса, который многие могли видеть в других местах). Конечно, сама структура тоже будет описана, а попутно разберёмся причём здесь обратная функция Аккермана, о которой многие знают только, что она оооочень медленно растёт.
Читать дальше →
Всего голосов 39: ↑39 и ↓0 +39
Просмотры35.1K
Комментарии 4

Шпаргалка для кандидата: какие вопросы задать потенциальному работодателю на собеседовании

Управление персоналомКарьера в IT-индустрии
Из песочницы
У каждого кандидата в конце собеседованию рекрутер обычно спрашивает, есть ли вопросы. Часто люди теряются и не находят, что спросить. И лишь по прошествии некоторого времени (часто, когда человек уже работает в компании) сами собой всплывают вопросы, о которых нужно было поинтересоваться заранее, а не брать кота в мешке и удивляться «Как я сюда попал? Куда я смотрел? Почему я об этом не подумал?». Это так называемый «эффект лестницы». Я подготовил шпаргалку, что ты, %habrauser%, не растерялся.

Общее


1. Рабочий график и можно ли его двигать?
Я люблю поспать. Но на моей прошлой работе «рабочее утро» начиналось в 7:30. Мало того, что я довольно часто не мог прийти к этому времени, я еще пол дня занимался тем, что пытался привести себя в рабочую форму. Где то до 10:00. С 10:30 до 11:30 я усердно работал. Потом был обед. А потом мне хотелось спать, а не работать, т.к. я не высыпался еще с утра. Надо ли говорить, что вместо 8 часов, на которые меня нанял работодатель, я работал в «потоке» только часа 3-4. Так что для себя нужно решить вопрос – когда я наиболее трудоспособен? И обговорить рабочий график с руководством. И еще один нюанс. Попробуйте закрепить обговоренный график в трудовом договоре или контракте (далее ТД), если работодатель идет на персональный рабочий график для Вас. Никаких устных договоренностей. Иначе Вам начнут крутить руки уже в процессе работы (как это было со мной).
Читать дальше →
Всего голосов 29: ↑29 и ↓0 +29
Просмотры345.2K
Комментарии 30

Информация

В рейтинге
5,890-й
Откуда
Украина
Зарегистрирован
Активность