Как стать автором
Обновить
85
1.1

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

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

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

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

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

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

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

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

Ну что, поехали...
Всего голосов 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.8K
После вводной статьи про 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.4K
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.3K
В моем предыдущем проекте перед нами встала задача провести обратное геокодирование для множества пар географических координат. Обратное геокодирование — это процедура, которая паре широта-долгота ставит в соответствие адрес или название объекта на карте, к которому принадлежит или близка заданная координатами точка. То есть, берем координаты, скажем такие: @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 239-й
Зарегистрирован
Активность