Pull to refresh
6
0
Павел @Nelex

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

Send message

Воспитание Obsidian — вашего персонального информационного менеджера

Reading time5 min
Views117K


Методик повышения личной эффективности хоть пруд пруди. Как по мне, основная проблема с ними в том, что нужно работать самому. Совершенно нормальное стремление — избежать приложения усилий. Пускай хорошая методика и есть тот рычаг, коим обещают сдвинуть Землю, но физика знает, что всю-всю работу делать всё равно нам самим. Основной вопрос, терзавший меня в вопросе выбора персонального информационного менеджера заключался в том, что он будет делать вместо меня. Задача была не самая лёгкая. За короткий срок разобраться в новой области — организовать конспекты, классифицировать справочники и литературу по теме. Море открытых вкладок браузера (всё очень нужное, оно не должно скрыться из глаз), pdf-файлы, заботливо присланные новыми коллегами… С этим всем в голове я познакомился с программой Obsidian, которая пообещала стать A second brain, for you, forever.

Читать дальше →
Total votes 49: ↑45 and ↓4+41
Comments18

40 лучших инструментов и ресурсов Laravel

Reading time16 min
Views29K
image
Привет, Хабр! Представляю вашему вниманию подборку, которая является переводом моей оригинальной статьи.

Если есть идеи что добавить в подборку — буду рад пообщаться в комментах. Наслаждайтесь!
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments24

Настройка PhpStorm для вёрстки на ОС Windows

Reading time16 min
Views180K

Добрый день


Так сложилось, что возникла необходимость подготовить единую рабочую среду (workflow) для всех верстальщиков в группе на ОС Windows. Основная цель — это в минимальные сроки передать минимум необходимых знаний всем участникам группы. Основная проблема была в том, что многие не знакомы с unix-системами и понятия не имеют, как завести тот же SASS на ОС Windows. Поэтому было принято решение составить ознакомительную статью (пошаговую инструкцию) по настройке рабочей среды.

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

Сразу оговорюсь, что выбор инструментов — дело сугубо личное, и все, что ниже описано ниже, делалось осознанно для определенной группы. Использовать данную инструкцию или нет — решать только вам.

Итак начнём!
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments35

10 особенностей Webpack

Reading time8 min
Views78K
Webpack считается лучшим инструментом для сборки приложений на React и Redux. Полагаю, многие из тех, кто сегодня использует Angular 2 и другие фреймворки, не обходят вниманием и Webpack. И поскольку начинать работу с данным инструментом всегда непросто, я решил посвятить этой теме несколько публикаций в надежде облегчить старт другим разработчикам и заодно продемонстрировать некоторые особенности Webpack.

Читать дальше →
Total votes 51: ↑48 and ↓3+45
Comments52

Пособие по webpack

Reading time8 min
Views347K


Давайте сначала разберемся, зачем нужен вебпак (webpack), и какие проблемы он пытается решить, а потом научимся работать с ним. Webpack позволяет избавиться от bower и gulp/grunt в приложении, и заменить их одним инструментом. Вместо bower'а для установки и управления клиентскими зависимостями, можно использовать стандартный Node Package Manager (npm) для установки и управления всеми фронтэнд-зависимостями. Вебпак также может выполнять большинство задач grunt/gulp'а.


Bower это пакетный менеджер для клиентской части. Его можно использовать для поиска, установки, удаления компонентов на JavaScript, HTML и CSS. GruntJS это JavaScript-утилита командной строки, помогающая разработчикам автоматизировать повторяющиеся задачи. Можно считать его JavaScript-альтернативой Make или Ant. Он занимается задачами вроде минификации, компиляции, юнит-тестирования, линтинга и пр.

Допустим, мы пишем простую страницу профиля пользователя в веб-приложении. Там используется jQuery и библиотеки underscore. Один из способов — включить оба файла в HTML:

Читать дальше →
Total votes 42: ↑41 and ↓1+40
Comments13

Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP

Reading time4 min
Views46K
Скорее всего какие-то части этой статьи уже знакомы многим хаброжителям, но в связи с покупкой нового рабочего ноутбука я решил собрать все крупинки воедино и организовать удобное средство для разработки. Мне часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows то использовал OpenServer. Но с переходом на Linux мне нехватало той простоты создания хостов и переключений версий которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)

Цели


  1. Использовать текущий на момент написания статьи софт
  2. Чтоб разграничить локальные домены, будем использовать специальный домен .loc
  3. Переключения версий PHP реализуем через поддомен c помощью fast-cgi
  4. Автоматическое создание хоста с помощью vhost_alias и dnsmasq

Что имеем в итоге. При переходе на
56.test.loc
Apache запустит c версией PHP 5.6.36
/var/www/test.loc/public_html/index.php
Поменяв поддомен на
72.test.loc
будет запущен тот же файл но уже с версией PHP 7.2.7

Другие версии доставляются аналогичным описанным ниже способом.

Для создания еще одного сайта просто создаем в /var/www/ папку имеющую окончание .loc, внутри которой должна быть папка public_html являющаяся корнем сайта

Вот собственно и все. Как без дополнительных мучений, перезапусков, и редактирований конфигов имеем автоматическую систему для работы с сайтами.
Читать дальше →
Total votes 13: ↑8 and ↓5+3
Comments14

pdoTools — набор быстрых сниппетов и библиотека

Reading time6 min
Views22K

Хочу представить вашему вниманию свою разработку по быстрому выводу контента на сайтах MODX Revolution.

Как известно, эта система целиком построена на собственной ORM под названием xPDO. Она очень упрощает работу, позволяет писать один универсальный код для разных БД, и еще много чего.

К сожалению, она не может похвастаться скоростью вывода (как, наверное, вообще любая ORM), поэтому я попробовал совместить её плюсы с обычным PDO, добавить лучшую работу с чанками и сделать удобную библиотеку для MODX.

Основные особенности:
  • Быстрая работа с БД. Все запросы составляются на xPDO, а выбираются без объектов — на PDO.
  • Предварительная обработка простых плейсхолдеров в чанках. Парсер MODX разбирается только со сложными вызовами.
  • Код чанков можно указывать прямо при вызове сниппета, загружать обычным образом или из статичных файлов.
  • Правильная сортировка, подготовка, обработка и вывод ТВ параметров.
  • Ведение подробного журнала работы сниппета с отметками времени, для отладки.
  • Удобная загрузка классов и множество функций, которые можно применять в своих разработках.
  • В комплекте 8 универсальных сниппетов, которые дают хороший базис разработчику.

Начну с последнего пункта.
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments12

MODx Revo workflow. Организация рабочего процесса, контроль версий и деплой

Reading time10 min
Views9.9K
Все основные элементы системы MODX, такие как чанки, шаблоны, сниппеты и т.д, хранятся в БД, из этого появляется проблема осуществления контроля версий за этими элементами, а также сложности с разделением на development и production версии сайта.

Приведу основные требования, чего я хочу от своего рабочего процесса на MODX Revo:
  • контроль версий везде, где пишу какой-либо код (html, css, js, php),
  • иметь отдельную dev-версию сайта, на которой ведётся текущая разработка, а после — деплоить все изменения в продакшн, причём, желательно, автоматизировать этот процесс,
  • минимум копипаста при разработке и деплое.

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments10

Исследования показывают: люди, у которых «чересчур много интересов» имеют больше шансов на успех

Reading time13 min
Views28K


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

«Мастер на все руки, а толком ничего не умеет».

Предостережение против универсализма сохранилось в многовековой истории десятков языков. «У него каких только ножей нет — и ни одного острого», — предупреждают китайцы. А в Эстонии есть поговорка «девять ремесел, и голод — десятое».

Однако, многие из наиболее неординарных личностей — как живших в прошлом, так и наших современников — были универсалами: таковы Илон Маск, Стив Джобс, Ричард Фейнман, Бенджамин Франклин, Томас Эдисон, Леонардо да Винчи и Мария Кюри — список далеко не полон.

В чем же здесь дело?

Если попытка универсализма — путь к посредственности, то почему наиболее исчерпывающее исследование о самых видных ученых в истории показало, что 15 из 20 были энциклопедистами? Ньютон. Галилей. Аристотель. Кеплер. Декарт. Гюйгенс. Лаплас. Фарадей. Пастер. Птолемей. Гук. Лейбниц. Эйлер. Дарвин. Максвелл — все энциклопедисты.

Если пытаться делать все сразу так неэффективно, то почему основатели пяти крупнейших компаний в мире – Билл Гейтс, Стив Джобс, Уоррен Баффетт, Ларри Пейдж и Джефф Безос – все энциклопедисты (а также придерживаются «правила пяти часов»)? Эти легендарные люди – просто гениальные исключения? Либо это люди, которым мы могли бы (и должны) подражать, чтобы достичь успеха в современной «экономике знаний»?

Если стремление к универсализму – неэффективная карьерная стратегия, то почему более 10 академических исследований выявили корреляцию между количеством интересов/компетенций, которые удалось развить человеку, и его творческим потенциалом?

Переведено в Alconost
Читать дальше →
Total votes 26: ↑19 and ↓7+12
Comments25

Управление очередями в Laravel

Reading time4 min
Views18K
image

В моем текущем проекте много задач, которые выполняются в фоне. Из внешнего сервиса прилетают данные и проходят несколько стадий обработки. Обработка реализована через механизм очередей. Это удобно, можно варьировать количество воркеров на каждый тип процессов. Да и в случае, если что-то упадет, очередь будет копиться, и данные не потеряются — обработаются, как только проблема будет устранена.

Чтобы из одного процесса создать задачу для следующей стадии обработки, мы просто вызывали в конце обработки dispatch(), примерно так:
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments14

SSL. Безопасность передачи данных

Reading time2 min
Views20K
Как давно вы проверяли надежность своего SSL? Мало просто купить SSL сертификат и его установить, нужно его и настроить.

Почему это важно. Внешний анализ безопасности (ручной или автоматический) обычно начинается с проверки SSL-конфигурации. SSL конфигурация обычно показывает общий уровень защищенности всей системы защиты данных. Поэтому продвинутые пользователи начинают слать запросы типа “как вы можете защитить мои персональные данные, если у вас ещё SSL v3 включён”. В рамках GDPR надежная настройка SSL относится к техническим мерам по защите персональных данных.

Тестирование конфигурации SSL

Проблемы связанные с версиями SSL протоколов:

  • SSL v2 небезопасен, устарел и не рекомендуется для использования. См. атаку DROWN по этому протоколу.
  • SSL v3 небезопасен и устаревший инструмент. См. атаку POODLE.
  • TLS v1.0 также является устаревшим протоколом, но на практике он все же оказывается необходим. Его основная слабость (BEAST) была смягчена в современных браузерах.
  • TLS v1.1 и TLS v1.2 оба не имеют известных проблем с безопасностью, но только v1.2 предоставляет современные криптографические алгоритмы.


SSL 2.0, SSL 3.0 и TLS 1.0 настоятельно рекомендуется отключить, так как большинство стандартов безопасности их уже давно не поддерживают (например, PCI DSS 3.1).

Рекомендуемые протоколы TLS v1.1 и TLS v1.2 с актуальными алгоритмами шифрование и снятия хэшей.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments2

Утонуть или выплыть. Как при помощи бутстраппинга прокачаться в классного предпринимателя

Reading time7 min
Views8K


Когда-то, в 2005 году, жизнь моя текла однообразно.

Вставал рано утром, выходил из квартиры на Бруклин-Хайтс, тащился с ноутбуком в ближайший Старбакс.

Поработав там несколько часов, пересекал Бруклинский мост, отправлялся в Уэст-Виллидж и приземлялся там в другой кофейне.

Часам к трем дня я настолько укофеинивался, что едва мог набирать на клавиатуре. В качестве детокса я шел вечером на лекцию в Нью-Йоркский университет, где проходил курс по маркетингу.

Именно тогда я только приступал к созданию моей компании JotForm. Меня чрезвычайно занимала посетившая меня идея – создавать перетаскиваемые веб-формы. Однако, эта идея была настоящим вызовом – временами казалась вообще неподъемной.

Переведено в Alconost
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments4

Безопасный SOCKS5 прокси для Telegram за 1 Евро и 10 минут

Reading time3 min
Views133K
Не все прокси одинаково полезны. На волне новостей о блокировке мессенджера Телеграмм стало актуально поднимать свой SOCKS5 прокси, так как чужой использовать не безопасно — неизвестно, кому принадлежат серверы, какое ПО на них используется, и какие в нем присутствуют уязвимости. Кроме того, публичные прокси часто очень медленные, поскольку большое число клиентов одновременно «пытаются» его использовать, перегружая ресурсы сервера. Под катом инструкция по быстрой настройке приватного SOCKS5 прокси с аутентификацией за 1 евро и 10 минут времени и возможностью в дальнейшем расширить защиту сервера при помощи усиленной аутентификации.
Читать дальше →
Total votes 71: ↑45 and ↓26+19
Comments142

Поднимаем SOCKS прокси для Telegram

Reading time3 min
Views32K
Поднять свой socks прокси очень просто — справится даже далекий от Linux и серверного администрирования человек. Достаточно иметь VDS/выделенный сервер за границей.


Пошаговая инструкция для запуска своего sockd прокси на Centos7
Читать дальше →
Total votes 18: ↑11 and ↓7+4
Comments39

Vue.js для сомневающихся. Все, что нужно знать

Reading time8 min
Views349K


В данной статье речь пойдет о замечательном фронтенд фреймворке Vue.js. Как вы видите, статья называется «Vue.js для сомневающихся», и, если вы до сих пор не могли решиться попробовать Vue.js на практике, то надеюсь, что после прочтения вы все-таки на это решитесь.
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments46

ReactJS для глупых людей

Reading time5 min
Views484K
Пытаясь разобраться с библиотекой от Facebook ReactJS и продвигаемой той же компанией архитектурой «Flux», наткнулся на просторах интернета на две занимательные статьи: «ReactJS For Stupid People» и «Flux For Stupid People». Решил поделиться с хабравчанами переводом первой (а чуть позже и второй) статьи. Итак, поехали.

ReactJS для глупых людей


TL;DR В течении долгого времени я пытался понять, что такое React и как он вписывается в структуру приложения. Это статья, которой мне в свое время не хватало.

Что такое React?


Чем отличается React от Angular, Ember, Backbone и других? Как управлять данными? Как взаимодействовать с сервером? Что, черт возьми, такое JSX? Что такое «component»?

СТОП.

Остановитесь прямо сейчас.

React — это ТОЛЬКО УРОВЕНЬ ПРЕДСТАВЛЕНИЯ.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments17

Как создать стартап-империю, не продав при этом своей свободы

Reading time7 min
Views13K


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

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

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

Мы встретились, чтобы обсудить плохие новости.

Его только что выгнали из стартапа, который он сам же и основал два года назад.

Он и не подозревал, что у него за спиной инвесторы и сооснователи вынашивают чудовищный план.

«Я больше не хочу работать с вами», — сказал ему один из инвесторов, а двое сооснователей сидели по другую сторону стола и в молчании наблюдали за всем этим.

Ему пришлось не только сложить с себя полномочия CEO: его также вынудили расстаться с теми немногими акциями, которые он себе оставил в собственноручно созданном стартапе.

За несколько последних месяцев его мечта — делать продукт, который нравится клиентам — постепенно превратилась в работу над продуктом, который хотят инвесторы.

И эти же инвесторы захотели его выгнать.

Переведено в Alconost
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments6

Не защищайте сайт от скрапинга: сопротивление бесполезно

Reading time9 min
Views36K
За последнее десятилетие я реализовал много проектов, связанных с агрегацией и анализом контента. Часто агрегация включает в себя снятие данных со сторонних сайтов, то есть скрапинг. Хотя я стараюсь избегать этого термина. Он превратился в некий ярлык, с которым связано много заблуждений. Основное заблуждение в том, что веб-скрапинг можно заблокировать с помощью X, Y, Z.

tl; dr; Нельзя.

С точки зрения бизнеса


На прошлой неделе я встретился с высокопоставленным руководителем из отрасли, в которой развиваю свой бизнес GO2CINEMA. Без сомнения, это один из самых умных и знающих людей в киноиндустрии.

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

Я посоветовался с этим человеком насчёт поиска инвестиций. Он предложил свою помощь и попросил подготовить анализ всех способов блокировки моего текущего бизнеса, включая скрапинг контента (с технической и юридической точек зрения). Я подготовил необходимые документы и поделился с ним перед нашей встречей. Его реакция была примерно такой:

Да, тщательное исследование. Но всё-таки есть способы, чтобы тебя заблокировать. *ухмыляется*

Нет, парень, нет таких способов.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments206
1
23 ...

Information

Rating
Does not participate
Location
Новая Каховка, Херсонская обл., Украина
Date of birth
Registered
Activity