Как стать автором
Обновить
84
1

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

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

Сравнительно недорого строим себе верстак

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

Если вы любите что-то делать руками, то скорее всего вам нужен верстак, или рабочий стол. Какой?

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

Кроме выбора между деревом и металлом важно еще кое-что: есть ли у вас мастерская, либо вы работаете дома, и вам нужен верстак разбирающийся и/или портативный. Ну и еще один, но далеко не последний фактор - каким инструментом вы предпочтительно пользуетесь, ручным, или же электрическим.

Мы поговорим о верстаке для работ по дереву, и начнем мы с того, какие вообще бывают верстаки для столярки (скажу сразу, список типов далеко не полный).

Ну что, поехали...
Всего голосов 43: ↑37 и ↓6 +31
Комментарии 86

Можно ли улучшить поиск сложных товаров в интернет-магазинах (или Яндекс Маркете)?

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

Возможно, те кто постарше, еще помнят price.ru. Вот и я еще помню те времена, когда Яндекс Маркета не было вообще. И даже был период, когда я пытался делать аналог price.ru для американского заказчика, и при этом amazon.com был у нас всего-лишь одним из многих сайтов - источников сведений о товарах (книгах, CD-ROM и т.п.), при том не самым крупным, и еще был живой yahoo... В общем, с тех пор многое изменилось.

Читать далее
Всего голосов 33: ↑31 и ↓2 +29
Комментарии 124

Практические методы оптимизации запросов в Apache Spark

Время на прочтение 13 мин
Количество просмотров 8.7K
После вводной статьи про Spark Shell мне хотелось бы рассмотреть некоторые приемы оптимизации запросов в Spark и Hive, и сравнить их с теми, что обычно применяются в классических СУБД типа Oracle или MS SQL.

Базовая модель данных


Рассмотрим разные техники на базе известной всем модели библиотеки. И так, у нас есть книги, они разложены по полкам в шкафах. Шкафы пронумерованы, если библиотека большая — то к шкафу еще прилагается и номер комнаты. Книги разложены в определенном порядке, это «физический» порядок, его можно поменять — но это сложно и долго. Даже если у нас «всего лишь» такая библиотека, как у российских императоров:


А тем более если такая, как в Тринити колледже в Дублине:


Кроме этого, у нас есть каталожные шкафы, где размещены карточки книг. Карточки разложены в логическом порядке, и этих порядков может быть больше одного. Например, алфавитный порядок по названию книги, алфавитный порядок по фамилии автора (авторов и названий бывает несколько, например русское и английское названия), возможно еще какой-то тематический порядок (в жизни бывает редко, так как в оффлайн библиотеке поддерживать даже два порядка уже сложно).
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 7

Еще немного истории — на этот раз копаемся в OS/360

Время на прочтение 7 мин
Количество просмотров 5.2K
В продолжение поста о том, как работали программисты в 80-х, вспомнил и решил описать предысторию, идею и реализацию моего первого успешного проекта.

Итак, дело было году этак в… давно тому назад. Я был студентом 3 курса, и начал работать старшим лаборантом своей кафедры.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 37

Как выглядела разработка… ну скажем, в 80-х годах прошлого века

Время на прочтение 14 мин
Количество просмотров 14K
Уже много раз в исторических постах на Хабре я видел вопросы такого плана: «А как вообще выглядела разработка тогда, когда машины были большими»? Как был построен процесс, как устроена сборка, существовал ли отладчик (заменить на любой другой инструмент), как происходило взаимодействие в команде, и т.п.

Попробую рассказать об этом на своем примере.

Итак, 80-е годы прошлого века.


Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Комментарии 44

Leatherman для разработчика в Big Data

Время на прочтение 11 мин
Количество просмотров 3K
Экосистема Big Data, а для определенности — Hadoop, достаточно большая, и включает в себя множество продуктов. Какие-то применяются чаще, какие-то реже. Но один из них в нашей команде мы выбрали для себя в качестве универсального инструмента «на все случаи жизни» — на нем пишутся как одноразовые скрипты, так и постоянно работающие приложения (в первую очередь — отчеты).

Этот инструмент — Spark Shell. Обычно такую штуку называют швейцарский нож, но лично я предпочитаю мультитулы Leatherman.
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 0

Язык REXX, к 40 летию появления

Время на прочтение 8 мин
Количество просмотров 7.3K
REXX — довольно древний, передовой для своего времени язык. Он появился, согласно википедии, в 1979 году, то есть ему недавно исполнилось 40 лет. Не самый конечно старинный язык, но возраст достойный.

Rexx это аббревиатура, означает она Restructured Extended Executor, что вероятно отсылает нас к его предкам EXEC/EXEC2. Я с ним познакомился в операционной системе VM/SP 3, где он пришел на замену именно этим скриптовым языкам. Потом он был популярен в OS/2, использовался во многих других ОС, было создано множество реализаций и производных диалектов.

image

Ему не слишком много внимания уделялось на Хабре, постараюсь восполнить пробелы в этой статье.
Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 32

Внедряем OSGI на платформе Karaf

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

OSGI это не сложно


Я много раз встречал мнение, что OSGI это сложно. И более того, у самого когда-то такое мнение было. Году в 2009, если быть точным. На тот момент мы собирали проекты при помощи Maven Tycho, и деплоили их в Equinox. И это действительно было сложнее, чем разрабатывать и собирать проекты под JavaEE (в тот момент как раз появилась версия EJB 3, на которую мы и переходили). Equinox был намного менее удобен по сравнению с Weblogic, например, а преимущества OSGI тогда мне были не очевидны.

Зато потом, через много лет, мне пришлось на новой работе взяться за проект, который был задуман на основе Apache Camel и Apache Karaf. Это была не моя идея, я давно знал к тому моменту про Camel, и решил почитать про Karaf, даже еще не имея оффера. Почитал один вечер, и понял — вот же оно, простое и готовое, практически то же самое решение некоторых проблем типового JavaEE, аналогичное которому я когда-то делал на коленке при помощи Weblogic WLST, Jython, и Maven Aether.

Итак, допустим вы решили попробовать OSGI на платформе Karaf. С чего начнем?
Читать дальше →
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 51

Как загрузить OpenStreetMap в Hive?

Время на прочтение 9 мин
Количество просмотров 3.6K
В прошлой статье я рассмотрел обратное геокодирование средствами Spark. Теперь представим, что перед нами встала задача прямого геокодирования почтовых адресов. То есть, получения для записанного текстом адреса неких географических координат.

Адреса для определенности российские, и главное — зачастую написаны криво, то есть с ошибками, неоднозначностями и прочими прелестями. И находятся эти адреса в базе данных Hive, на кластере Hadoop.


Ну казалось бы — берем Google Maps Geocoding API (или, если вы сторонник импортозамещения, то Yandex Maps API), и работаем. Но тут нас, как впрочем и c обратным геокодированием, ждет небольшая засада.
Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Комментарии 18

Как геокодировать миллион точек на Spark по-быстрому?

Время на прочтение 9 мин
Количество просмотров 5.2K
В моем предыдущем проекте перед нами встала задача провести обратное геокодирование для множества пар географических координат. Обратное геокодирование — это процедура, которая паре широта-долгота ставит в соответствие адрес или название объекта на карте, к которому принадлежит или близка заданная координатами точка. То есть, берем координаты, скажем такие: @55.7602485,37.6170409, и получаем результат либо «Россия, Центральный федеральный округ, Москва, Театральная площадь, дом такой-то», либо например «Большой театр».

Если на входе адрес или название, а на выходе координаты, то эта операция — прямое геокодирование, об этом мы, надеюсь, поговорим позже.

В качестве исходных данных у нас на входе было примерно 100 или 200 тысяч точек, которые лежали в кластере Hadoop в виде таблицы Hive. Это чтобы был понятен масштаб задачи.

В качестве инструмента обработки в конце концов был выбран Spark, хотя в процессе мы попробовали как MapReduce, так и Apache Crunch. Но это отдельная история, возможно заслуживающая своего поста.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 23

Моя подборка с Youtube на тему DIY

Время на прочтение 7 мин
Количество просмотров 38K
На идею сделать такую подборку меня косвенно подтолкнул недавний пост о создании стола, а точнее обсуждения к нему. Думая над каким-то ответом на вопрос, я порылся в своих подписках, и понял, что только деревообработке уже посвящены несколько десятков из них. И некоторыми хочется непременно поделиться.

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

Список ни в малейшей степени не претендует на полноту. В частности, я опустил многие каналы условно «строительного» профиля, которые содержат ролики по столярному делу, но при этом остальные ролики там например о штукатурке, укладке плитки или работе с гипсокартоном.

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


Читать дальше →
Всего голосов 38: ↑32 и ↓6 +26
Комментарии 113

Apache Spark — достоинства, недостатки, пожелания

Время на прочтение 13 мин
Количество просмотров 18K
Мне давно хотелось изложить свои впечатления об Apache Spark, и тут как раз попалась на глаза вот эта статья от сотрудника Pivotal Robert Bennett, опубликованная совсем недавно, 26 июня 2018.

Это не будет перевод, а скорее все-таки мои впечатления и комментарии на тему.
Читать дальше →
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 2

Может ли компьютерная книга оставаться актуальной через 30 лет после написания?

Время на прочтение 4 мин
Количество просмотров 14K
Недавний очередной пост на тему «Как прочитать 100 книг за год, и достичь успеха в жизни» заставил меня вспомнить, какие же книги на самом деле изменили мой взгляд на жизнь. Ну ладно, пусть не на жизнь, а хотя бы на программирование, для начала.

И припомнилась мне при этом старая-престарая по меркам программирования книга под завлекающим названием «Что мама никогда не рассказывала вам о сопровождении VM». В оригинале она называется «What Mother Never Told You about VM Service», автор Melinda W. Varian.

Итак, на минутку, это 1983 год. Только что появилась первая версия MS DOS. Появления CVS еще ждать примерно 8 лет. Unix уже существует, но пока не получил распространения (у нас в Москве он появится в виде Демос примерно в 1986 на машинах СМ-4). Большинство компьютерных книг того времени сегодня безнадежно устарели.
Читать дальше →
Всего голосов 25: ↑23 и ↓2 +21
Комментарии 11

Все что вы хотели узнать о BPM, но боялись спросить

Время на прочтение 8 мин
Количество просмотров 30K
В сети имеется множество публикаций о том, ради чего стоит внедрить BPM (Business Process Management) в вашей компании. Как обычно формулируются преимущества, которые дает бизнесу внедрение BPM:

  1. Визуальное моделирование и выполнение бизнес-процессов.
  2. Набор готовых компонент для построения гибких бизнес-процессов.
  3. Взаимодействие с пользователем для выполнения ручных действий.
  4. Гибкость конфигурирования бизнес-процессов.
  5. Поддержка версионности бизнес-процессов.

Это не все, что можно упомянуть, но достаточно типичный набор преимуществ платформы.

На самом ли деле все так безоблачно? Не пора ли всем выбросить старые инструменты, и полностью перейти на новую платформу?
Читать дальше →
Всего голосов 33: ↑25 и ↓8 +17
Комментарии 47

Maven vs Gradle? Это неправильная постановка вопроса

Время на прочтение 3 мин
Количество просмотров 57K
Написать, наконец, этот пост меня заставила уже давняя дискуссия вот к этому посту на тему, которая время от времени всплывает то там, то тут.

Я много раз имел возможность убедиться, что далеко не все одинаково понимают, в чем же состоит декларативность vs процедурность той или иной системы сборки. Основным достоинством инструмента сборки зачастую считается возможность писать алгоритмы сборки на удобном языке. Нужен DSL, никуда без него.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 7

Информация

В рейтинге
1 340-й
Зарегистрирован
Активность