Pull to refresh
1
0
Send message

Сколько места в куче занимают 100 миллионов строк в Java?

Reading time4 min
Views28K
При работе с естественным языком и лингвистическом анализе текстов нам часто приходится оперировать огромным количеством уникальных коротких строк. Счёт идёт на десятки и сотни миллионов — именно столько в языке существует, к примеру, осмысленных сочетаний из двух слов. Основной платформой для нас является Java и мы не понаслышке знаем о её прожорливости при работе с таким большим количеством мелких объектов.

Чтобы оценить масштаб бедствия, мы решили провести простой эксперимент — создать 100 миллионов пустых строк в Яве и посмотреть, сколько придётся заплатить за них оперативной памяти.
Читать дальше →
Total votes 28: ↑21 and ↓7+14
Comments85

Как я стала дизайнером за шесть месяцев

Reading time4 min
Views306K
Я не заканчивала дизайнерских курсов и не училась дизайну в институте, но мне удалось пройти свой собственный курс обучения за 6 месяцев, замечу, что в процессе обучения я параллельно занималась полный день своей основной работой. Хотя я не думала, что уже готова устраиваться на новую работу дизайнером, все же мне сильно повезло и удалось найти неплохое место.
Читать дальше →
Total votes 90: ↑76 and ↓14+62
Comments50

Маленькая архитектура

Reading time6 min
Views23K


Я хочу стать архитектором ПО:


Это хорошая цель для разработчика


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


Хм. Ну, тогда ты вовсе не хочешь стать архитектором ПО.


Конечно хочу! Я хочу быть тем человеком, который принимает все важные решения.


Это хорошо, но ты не перечислил важных решений. Ты перечислил решения, не играющие особой роли.


В смысле? База данных – это не важное решение? Знаешь, сколько мы денег тратим на них?


Скорее всего слишком много. И нет, база данных – это не одно из самых важных решений.


Как можно такое говорить? База данных находится в самом центре системы! Там собраны все данные, они сортируются, индексируются и к ним осуществляется доступ. Без нее не будет системы!


База данных это просто устройство ввода-вывода. Так получилось, что она предоставляет некоторые полезные инструменты для сортировки, запросов и отчетов, но все это – вспомогательные аспекты в рамках системной архитектуры.

Читать дальше →
Total votes 73: ↑64 and ↓9+55
Comments45

Дональд Кнут: «Мой совет молодым» (93/97) и «Ощущая потребность самоутвердиться» (9/97)

Reading time7 min
Views27K
image


Мой совет молодым


Меня спрашивают: «Какой совет я мог бы дать молодым людям?»
Забавный вопрос. Тут главная мысль в том, что не нужно слепо верить во что-то, только потому, что это популярно сейчас.

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

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

Следовать своей интуиции лучше, чем следовать за стадом.
Total votes 31: ↑30 and ↓1+29
Comments8

Питер Тиль: Из шести сооснователей PayPal, четверо собирали бомбы, будучи школьниками

Reading time8 min
Views26K
«Ваш мозг — это ПО. Программируйте его. ваше тело — это оболочка. Меняйте его. Смерть — это болезнь. Исцелитесь. Вымирание приближается. Боритесь с ним.»



Сегодня день рождения Питера Тиля, дона PayPal мафии. Ему стукнуло 49 лет.

Его ачивки:

  • Основал PayPal в 1998 с Максом Левчиным
  • Первый внешний инвестор Facebook ($500 тыс.)
  • В 2003 году основал компанию Palantir
  • Управляющий партнер в Founders Fund
  • Сооснователь и председатель инвестиционного комитета Mithril Capital Management (фонд для инвестиций на поздней стадии)
  • С 2010 года 30 студентам предоставляет по $100 000, чтобы они бросили универ и занимались своим проектом (в 2014 году инвестировал в Ethereum)
  • В 2015 стал партнером стартап-инкубатора Y Combinator

Журналист: — В «Википедии» говорится, что вы входите в управляющий комитет Бильдербергского клуба. Правда ли это, и если да, чем вы там занимаетесь? Организуете тайное мировое господство?

Питер Тиль: — Это правда, хотя все не до такой степени тайно или секретно, чтобы я не мог вам рассказать. Суть в том, что ведется хороший диалог между разными политическими, финансовыми, медиа- и бизнес-лидерами Америки и Западной Европы. Никакого заговора нет. И это проблема нашего общества. Нет секретного плана. У наших лидеров нет секретного плана, как решить все наши проблемы. Возможно, секретные планы – это и плохо, но гораздо возмутительнее, по-моему, отсутствие плана в принципе.

Под катом — несколько цитат по ключевым направлениям деятельности Тиля. Попробуем отследить ход мыслей великого ИТ-стратега.
Total votes 20: ↑20 and ↓0+20
Comments22

Как выбрать In-memory NoSQL базу данных с умом. Тестируем производительность

Reading time15 min
Views34K
image

Дмитрий Калугин-Балашов (Mail.RU)


Доклад у меня по базам данных In-Memory NoSQL. Кто знает, что такое In-Memory NoSQL база данных? Поднимите руки, пожалуйста… Как вам не стыдно? Зал по базам данных, и только половина знает, что это такое.

Если вы выбираете базу данных, ориентируясь на ее популярность, то так делать не надо. Как, вообще, выбираем базы данных?


Читать дальше →
Total votes 50: ↑44 and ↓6+38
Comments27

Почему вам не следует использовать финализаторы

Reading time5 min
Views18K
Не так давно мы работали над диагностикой, связанной с проверкой финализатора, и у нас с коллегой возник спор по поводу деталей работы сборщика мусора и финализации объектов. И хотя я и он занимаемся разработкой на C# более 5 лет, к общему мнению мы не пришли, и я решил изучить этот вопрос подробнее.


Читать дальше →
Total votes 43: ↑34 and ↓9+25
Comments56

Почему нельзя использовать компьютерный ИБП для питания газового котла?

Reading time9 min
Views189K
Год назад я попытался понять, почему обычные автомобильные аккумуляторы нельзя использовать вместо специализированных в источниках бесперебойного питания. В той статье были рассмотрены несколько страшилок от продавцов специализированных аккумуляторный батарей, а так же произведены замеры ёмкости двух батарей, каждая из которых состоит из четырёх автомобильных аккумуляторов, проработавших в ИБП год. К сожалению, я не догадался сделать подобный замер сразу же после установки свежих батарей, но пообещал спустя год повторить замер, чтобы можно было понять, насколько за год уменьшилась ёмкость батарей. Планировал я это сделать в форме комментария с обновлёнными данными, но в процессе замера заметил, что пока ИБП работает от батарей — котёл подключенный к нему — не работает.

Вот это поворот!

Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments84

MapReduce из подручных материалов. Часть II – базовые интерфейсы реализации

Reading time9 min
Views5.4K

Take it like a man by Joan PollakВ предыдущей части серии мы (в 100500й раз) попытались рассказать про основные приемы и стадии подхода Google MapReduce, должен признаться, что первая часть была намерено "капитанской", чтобы дать знать о MapReduce целевой аудитории последующих статей. Мы не успели показать ни строчки того, как всё это мы собираемся реализовывать в Caché ObjectScript. И про это наша рассказ сегодня (и в последующие дни).


Напомним первоначальный посыл нашего мини-проекта: вы всё еще планируем реализовать MapReduce алгоритм используя те подручные средства, что есть в Caché ObjectScript. При создании интерфейсов, мы попытаемся придерживаться того API, что мы описали в предыдущей статье про оригинальную реализацию Google MapReduce, любые девиации будут озвучены соответствующе.


Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments11

300 потрясающих бесплатных сервисов

Reading time11 min
Views1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Total votes 341: ↑325 and ↓16+309
Comments107

Почему иногда «падает» сеть мобильных операторов?

Reading time4 min
Views21K
Доброго времени суток всем любителям телекома. Мы продолжаем рассказывать вам про самые интересные моменты работы сети МТС вместе с директором Департамента эксплуатации конвергентных сетей и сервисов МТС Андреем Серегиным.

Напомним, что в нашем первом посте Андрей Вячеславович рассказал, как работает наш Центр оперативного управления мобильной сетью в Краснодаре. Во втором посте – ответил на ваши вопросы по работе центра. Сегодня Андрей Вячеславович ответит на волнующий всех вопрос, почему иногда «падает» сеть мобильных операторов.

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

На языке технических специалистов такая ситуация называется «локальные перегрузки». В нашей жизни мы тоже часто сталкиваемся с «локальными перегрузками» — будь то на дороге в пятничной пробке на выезде из города или даже в торговом центре в очереди за новым iPhone в ночь старта продаж. На сети тоже могут возникать «узкие места» в какое-то время или в каком-нибудь месте.

image
Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments11

Пол Грэм: Что надо делать в вузе, чтобы стать хорошим хакером

Reading time12 min
Views29K


Пол Грэм, Undergraduation, март 2005
(Разделы этого эссе начали свою жизнь как ответы студентам, писавшим мне с вопросами.)

В последнее время до меня по e-mail внезапно начали домогаться младшекурсники: немного отступила, видимо, эйфория от поступления и вдруг появился вопрос: а что тут делать-то? Я, возможно, не лучший источник советов по поводу формального IT-образования, учитывая, что основным моим направлением была философия; впрочем, я посещал так много занятий по Computer Science, что тамошний народ считал меня своим. Уж хакером-то я точно был.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments9

Хакатон как источник улучшения жизни в компании

Reading time2 min
Views6.6K
Ни для кого не секрет, что хакатоны в крупных IT-компаниях устраивают с целью привлечь и нанять новых людей со стороны. Но мы решили сделать эксперимент и провели хакатон “для своих”, посвященный улучшению жизни в офисе.

Идея была прозрачна и понятна всем: необходимо было реализовать проект, который бы сделал удобнее и лучше и так неплохую жизнь среднестатистического сотрудника Rambler&Co. Главным условием участия было использование внутренних сервисов компании, коих в крупном медиахолдинге подобралось великое множество. Также в качестве жюри были выбраны уважаемые люди из топ-менеджмента компании, чтобы показать значимость данного мероприятия в том числе для бизнеса.

image
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments11

Полное практическое руководство по Docker: с нуля до кластера на AWS

Reading time39 min
Views1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


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



Ого! Как много информации.

Читать дальше →
Total votes 125: ↑124 and ↓1+123
Comments44

Что особенного в СУБД для данных в оперативной памяти

Reading time31 min
Views32K

Константин Осипов (kostja )


Константин Осипов

Как родилась идея доклада? Я не очень люблю выступать и рассказывать про фичи, особенно про будущие фичи. Выясняется, что и люди не особо любят это слушать. Они любят слушать про то, как все устроено. Это доклад о том, как все устроено или должно быть, с моей точки зрения, устроено в современной СУБД.

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



На макроуровне – это то, как должна быть устроена современная СУБД. Почему у нас сегодня есть возможность создавать новые базы данных, почему нельзя взять текущую и удовлетвориться ее производительностью, подтюнить или написать для нее патч? Просто взять и написать патч, который бы ее ускорил, если она медленная? Из какого пространства решений мы выбираем?
Total votes 67: ↑63 and ↓4+59
Comments22

Как думать на SQL?

Reading time8 min
Views607K
Надо “SELECT * WHERE a=b FROM c” или “SELECT WHERE a=b FROM c ON *” ?

Если вы похожи на меня, то согласитесь: SQL — это одна из тех штук, которые на первый взгляд кажутся легкими (читается как будто по-английски!), но почему-то приходится гуглить каждый простой запрос, чтобы найти правильный синтаксис.


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


SELECT members.firstname || ' ' || members.lastname
AS "Full Name"
FROM borrowings
INNER JOIN members
ON members.memberid=borrowings.memberid
INNER JOIN books
ON books.bookid=borrowings.bookid
WHERE borrowings.bookid IN (SELECT bookid
  FROM books
  WHERE stock>(SELECT avg(stock)
    FROM books))
GROUP BY members.firstname, members.lastname;

Буэ! Такое спугнет любого новичка, или даже разработчика среднего уровня, если он видит SQL впервые. Но не все так плохо.


Легко запомнить то, что интуитивно понятно, и с помощью этого руководства я надеюсь снизить порог входа в SQL для новичков, а уже опытным предложить по-новому взглянуть на SQL.

Читать дальше →
Total votes 54: ↑48 and ↓6+42
Comments166

«Сверкающие кинжалы» или как мы арабский проект делали

Reading time6 min
Views93K
**внимание, эта статья обрывается так же внезапно, как и проект в ней описываемый**

Начало


Начиналось всё более чем оптимистично: заказчики из ОАЭ (новый для нас рынок), презентабельный внешний вид представителей, обещания других контрактов, «деньги не проблема». Всё это в сумме сыграло с нами злую шутку и, на свою беду, мы подписались на эту разработку. Хотелось попробовать. В итоге это обернулось расторжением контракта в одностороннем порядке, но не со стороны клиента, а нами — компанией-аутсорсером.
Читать дальше →
Total votes 153: ↑150 and ↓3+147
Comments127

Лучшие IT-курсы западных вузов по версии хабрасообщества 2016 года

Reading time4 min
Views46K
image

Данный пост-опрос − попытка определить лучшие ИТ-курсы западных вузов, которые находятся в открытом доступе. Конечно, по версии нашего хабрасообщества. Ну и, разумеется, с годами предпочтения меняются, поэтому версия 2016 года.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments15

PDF с точки зрения программиста

Reading time8 min
Views76K
Я имею дело с PDF не только как пользователь, а, прежде всего, как разработчик софта, умеющего его читать и писать (возможно, вы сталкивались с продуктами компании ABBYY, работающими с PDF – ABBYY FineReader, ABBYY PDF Transformer). Я предполагаю, что вы прочитали статью habrahabr.ru/company/abbyy/blog/105006 и далее пишу только про некоторые особенности и ограничения PDF, которые больше интересны продвинутым пользователям. Никаких сложных технических деталей при этом не буду касаться, так что программистам, желающим научиться читать или писать PDF, лучше сразу перейти к чтению спецификацию версии 1.7 со страницы www.adobe.com/devnet/pdf/pdf_reference_archive.html :)
Читать дальше →
Total votes 78: ↑72 and ↓6+66
Comments58

Information

Rating
Does not participate
Registered
Activity