Пользователь
Возможности PostgreSQL, которых нет в MySQL, и наоборот

Многие боятся переходить с «мускуля» на «посгрес» из-за того, что лишь смутно понимают, что это даст. Некоторых останавливает мысль, что наверно Postgres — это слишком сложная база и требует обучения. А также, что возможно чего-то придется лишиться в связи с переходом. Попробую немного прояснить ситуацию.
Где живут ваши объявления?

Мы открываем техно-блог компании Avito. Многие знают бренд, но не так много тех, кто знает, как сервис устроен с технической стороны. В своём блоге мы приоткроем завесу неизвестного и расскажем о технической кухне сервиса.
Начнем с небольшой истории о том, что проект представляет из себя сегодня, чем занимается команда инженеров, и что мы планируем делать в ближайшем будущем. Еще мы собрали в этом посте множество ссылок на уже опубликованные материалы, доклады и презентации нашей команды, которыми давно хотели поделиться. Хотите знать, где живут ваши объявления? Добро пожаловать под кат!
Yboard — Движок доски объявлений на Yii

Из бесплатных как оказалось их не так уж и много, самым известным является наверное OsClass. Другое дело когда говорим о платных аналогах, тут большое разнообразие движков, функционалов и цен за них.
Краткая шпаргалка по tmux (менеджеру терминалов)
tmux
— это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen
, только лучше (в первую очередь потому, что использует модель клиент—сервер).
Вашему вниманию предлагается минималистическая шпаргалка, позволяющая быстро начать использовать
tmux
, а уж тонкую настройку, продвинутые команды и бесконечные хот-кеи желающие найдут, набрав man tmux
.Шпаргалка по работе с Tmux (терминальный мультиплексор)

На Хабрахабре Tmux (ти-макс) упоминался неоднократно, тем не менее, решил написать еще одну шпаргалку, т.к. в других некоторые важные моменты не показаны.
Tmux (терминальный мультиплексор) позволяет работать с несколькими сессиями в 1 окне. Вместо нескольких окон терминала к серверу — вы можете использовать одно. Позволяет подключаться/отключаться к текущему состоянию сессии. Запущенные программы и процессы продолжают работать. (Можно использовать вместо nohup, dtach).
Например, на работе правим файлы в Vim. Окно терминала с открытыми файлами, процессами. Отключаемся от сессии. Далее подключаемся к этой сессии из дома и получаем те же окна с открытыми файлами в Vim, процессами и т.д. Можно продолжить работу с того же момента, на котором остановились. Также удобно при разрыве связи. Дополнительно можно работать совместно с другими в терминале, если подключены к одной сессии. Каждый видит, что делает другой.
Как я пишу код
Моя любимая особенность хорошего кода — это его скука. Предсказуемые выражения, одно за другим. Никаких сюрпризов, никаких трюков, никаких уникальных случаев. Никакого мета-программирования, конечно! Скучный код очень легко отлаживать, читать, объяснять.
Скучный код не использует глобальных состояний, не порождает побочных эффектов и старается уменьшить свою связанность с проектом, в котором он живёт. Скучнейшим образом происходят присвоения значений, которые для каждой переменной случаются лишь раз и избавляют нас от возможности увлекательного расследования кто же и когда изменил вот это состояние. Скучный код делает лишь то, что должен и не полагается на какие-то неявно высказанные предположения.
Код, использующий неявное поведение, может быть основан на каком-нибудь недокументированном, но уже реализованном функционале. Например, в мире написана целая куча НЕВЕРНОГО кода, который полагается на то, что функция файловой системы, возвращающая список директорий, вернёт их в отсортированном по алфавиту порядке. Это и вправду часто работает именно так, но ровно до того момента, пока не ломается по «непонятным» причинам. А на самом деле просто никто никогда этой сортировки не гарантировал.
Мотивация сотрудников: правила офисной дипломатии
Та же история происходит в сфере мотивации в офисной жизни: нам навязали какие-то шаблоны и правила, которым должны соответствовать компания и сам работник. Мотивация теряет свои очертания и уходит в крайности: например, на собеседовании могут рассказывать не про проект, а про роскошный офис и возможность поспать в рабочее время. Попробуем трезво оценить каждый элемент мотивации и разобраться, как стимулировать сотрудника работать честно и продуктивно.

Не то что бы мы так работали… Но уж больно хороша мотивация!
Анализ публикаций на Хабрахабре за последние полгода. Статистика, полезные находки и рейтинги
- В какой день недели и время суток лучше всего публиковаться?
- Есть ли зависимость между числом подписчиков и популярностью постов?
- Каких постов больше: обучающих материалов, переводов или прочих?
И многое другое…

Что мы сделали?
24 апреля 2017 года была собрана статистика по всем последним публикациям на Хабрахабре. Оказалось, что в период с 20 сентября 2016 года по 22 апреля 2017 года:
PHP: фрактал плохого дизайна
Предисловие
Я капризный. Я жалуюсь о многих вещах. Многое в мире технологий мне не нравится и это предсказуемо: программирование — шумная молодая дисциплина, и никто из нас не имеет ни малейшего представления, что он делает. Учитывая закон Старджона, у нас достаточно вещей для постижения на всю жизнь.
Тут другое дело. PHP не просто неудобен в использовании, плохо мне подходит, субоптимален или не соответствует моим религиозным убеждениям. Я могу рассказать вам много хороших вещей о языках, которых я стараюсь избегать, и много плохих вещей о языках, которые мне нравятся. Вперёд, спрашивайте! Получаются интересные обсуждения.
PHP — единственное исключение. Фактически каждая деталь PHP в какой-то мере поломана. Язык, структура, экосистема: всё плохо. И даже нельзя указать на одну убийственную вещь, настолько дефект систематичный. Каждый раз, когда я пытаюсь систематизировать недостатки PHP, я теряюсь в поиске в глубину обнаруживая всё больше и больше ужасных мелочей(отсюда фрактал).
PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
Всё плохо
Что ж, всё плохо. Немного забавно так говорить: на конференции (Web à Québec) было много разговоров об удивительном будущем и вещах, возможных благодаря новым технологиям. О новых средствах и устройствах, которые должны сделать нашу жизнь проще. Мои знакомые знают, что у меня обычно очень циничный взгляд на технологии; лично я боюсь всех этих умных устройств, которые реагируют на мои слова, чем восхищались другие спикеры.
В основном потому, что чем больше времени я трачу на программирование и провожу в этой отрасли, тем больше узнаю, как всё работает изнутри, и тем меньше доверия всё это мне внушает. Я подобрал изображение для слайда. Это картина «Триумф смерти» Питера Брейгеля. В некоторой степени она раскрывает моё отношение к «умному дому».
Руководство по работе с Redux

В этом руководстве мы рассмотрим создание с нуля full-stack приложения с использованием Redux и Immutable-js. Применив подход TDD, пройдём все этапы конструирования Node+Redux бэкенда и React+Redux фронтенда приложения. Помимо этого мы будем использовать такие инструменты, как ES6, Babel, Socket.io, Webpack и Mocha. Набор весьма любопытный, и вы мигом его освоите!
Дайджест свежих материалов из мира фронтенда за последнюю неделю №259 (17 — 24 апреля 2017)
Введение в криптографию и шифрование, часть первая. Лекция в Яндексе
Мы впервые публикуем эту лекцию вместе с расшифровкой. Начнём с первой части. Под катом вы найдёте текст и часть слайдов.
Трудные уроки: пять лет с Node.js
Базовые концепции
В каждой новой платформе есть свои хитрости, но в данный момент эти концепции для меня вторичны. Разобраться в своём баге — хороший способ гарантированного обучения. Даже если это немного болезненно!
Классы
Когда я только начал работать с Node.js, то написал скрапер. Очень быстро я понял, что если ничего не предпринять, то он будет осуществлять много запросов параллельно. Одно это стало важным открытием. Но поскольку я ещё не полностью усвоил мощь экосистемы, то сел и написал собственный ограничитель параллелизма. Он работал и проверял, что в каждый момент времени активны не более N запросов одновременно.
Типографика: процесс выбора шрифта

Типографика — вещь сложная и красивая. Некоторые посвящают работе с ней всю свою карьеру. К счастью для нас, они подробно описывают свой опыт, поэтому к нашим услугам имеется целая куча онлайн-ресурсов на тему типографики.
Эта статья замышлялась как небольшое введение для тех, кто хочет научиться правильно подбирать шрифты для дизайна. Она подтолкнёт вас к тому, чтобы расширять набор шрифтов и их сочетаний, которые вы используете в макетах, не ограничиваясь хорошо знакомыми вариантами.
Легальный вывод средств с Upwork в РФ
- 2 статьи о работе с Upwork (в прошлом известном как oDesk)
- Легальный вывод денег из oDesk в РФ от 11 января 2013
- Легальный вывод денег с oDesk на р/c ИП от 4 сентября 2012
- 4 статьи о работе с иностранными заказчиками
- Практика работы «в белую» с иностранными заказчиками от 14 ноября 2011
- Тонкости при работе с иностранным заказчиком от 10 ноября 2011
- Почему ИТшнику стоит стать ИПшником и почему не стоит регистрировать ООО от 9 ноября 2011
- ООО и ведение валютных операций от 18 февраля 2011
- 3 статьи о неочевидных налогах
- НДС и фрилансеры, работающие с Upwork от 8 апреля 2017
- Налоговый cуслик — 2. «Налог на Google» и агентский НДС от 15 января 2017
- Налоговый суслик. Особенности УСН при работе по договорам с Apple, Google и другими от 16 июля 2015
В ответ на повторяющиеся просьбы написать статью, в которой:
- разбросанные по разным статьям крупицы будут собранны в единое целое
- всевозможные противоречия будут устранены
- все сведения будут иметь актуальный характер
- будут учтены пожелания такие как «а можно с картинками? :)»
родилось следующее руководство.
Расширения Firefox для веб-разработки на все случаи жизни
Безусловно в этом списке вы обязательно найдёте уже знакомые расширения, однако огромный пласт полезных расширений всегда остаётся в стороне. Так что приготовьтесь установить ещё парочку расширений! :)
Встроенные инструменты разработки в Firefox
Перед началом списка было бы неправильно не упомянуть об инструментах, уже встроенных в Firefox. Здесь речь идёт о тех самых инструментах разработки в Firefox Aurora 10 и том функционале, который сегодня можно найти в любом современном браузере.
При разработке интерфейса этих инструментов было перепробовано множество подходов и решений. В результате получился довольно приятный интерфейс, который любой желающий может испробовать, установив Firefox Aurora (хм, вы ещё его не поставили?)

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

В работе с любым инструментом важно легко находить то, что нужно. В DataGrip ищут:
— Объекты базы данных: таблицы, представления, функции, колонки и т. д.
— Сами данные.
— Код, например кусок кода в скрипте или исходнике объекта.
— Другое: настройки, действия, файлы.
Разберемся, как не потеряться в IDE и своих базах данных.
Экстремальная миграция на PostgreSQL: без остановки, потерь и тестирования
Буквально месяц назад в Яндекс.Деньгах завершился переезд сервиса профилей пользователей с Oracle на PostgreSQL. Так что теперь у нас есть опробованное решение по миграции больших объемов данных без потерь и остановки использующего их сервиса.
Под катом я расскажу подробнее о том, как все происходило, зачем мы выбрали для миграции SymmetricDS и почему без «ручных» усилий все равно не обошлось. Поделюсь также некоторыми наработками по вспомогательному коду для миграции.
Information
- Rating
- Does not participate
- Registered
- Activity