Как стать автором
Обновить
0
0
Андрей @WildFrag

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

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

OpenID Connect: авторизация внутренних приложений от самописных к стандарту

Время на прочтение7 мин
Количество просмотров13K
Несколько месяцев назад я занимался реализацией OpenID Connect сервера для управления доступом сотен наших внутренних приложений. От собственных наработок, удобных на меньших масштабах, мы перешли к общепринятому стандарту. Доступ через центральный сервис значительно упрощает монотонные операции, сокращает затраты на реализацию авторизаций, позволяет находить много готовых решений и не ломать голову при разработке новых. В этой статье я расскажу об этом переходе и о шишках, которые мы успели набить.

intro
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии3

MVC-подход к разработке пользовательских интерфейсов в Delphi. Часть 1. Галочка

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

Не буду писать красивых предисловий, потому что статья не развлекательная, а скорее техническая. В ней я хочу обратиться к приемам программирования пользовательского интерфейса классических desktop-приложений Delphi в MVC-стиле. Это вводная статья из последующей серии.
Тех немногих, кто еще пользуется этой средой разработки, прошу под кат.
Читать дальше →
Всего голосов 70: ↑45 и ↓25+20
Комментарии117

ServerLess PHP

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

Накануне запуска курса «Backend-разработчик на PHP» мы провели традиционный открытый урок. В этот раз познакомились с концепцией Serverless, поговорили о её реализации в AWS, разобрали принципы работы, сборки и запуска, а также построили простой TG-бот на PHP на базе AWS Lambda.


Преподаватель — Александр Пряхин, технический директор компании Westwing Russia.




Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии8

Выборочный обход блокировок на маршрутизаторах с прошивкой Padavan и Keenetic OS

Время на прочтение23 мин
Количество просмотров344K
Инструкций с разными вариантами обхода блокировок Интернет-ресурсов опубликовано огромное количество. Но тема не теряет актуальности. Даже всё чаще звучат инициативы на законодательном уровне заблокировать статьи о методах обхода блокировок. И появились слухи, что Роскомнадзор получит ещё одну пачку денег налогоплательщиков на «более лучшие» блокировки. Опытные пользователи ничего нового и полезного из статьи не узнают. А вот другие получат готовые пошаговые инструкции для простого и эффективного выборочного обхода блокировок на популярных маршрутизаторах с прошивкой Padavan и Keenetic.


Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии0

Каково оно учить JavaScript в 2016

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


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

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

— Круто. Мне нужно создать страницу, которая отображает последние действия со стороны пользователей, так что мне просто нужно получить данные от REST и отобразить их в какой-то фильтруемой таблице, ну и обновлять её, если что-то изменится на сервере. Я думал, может быть, использовать JQuery для извлечения и отображения данных?

— О, Мой Бог! Нет! Никто больше не использует JQuery. Ты должен попробовать React: это — 2016!
Читать дальше →
Всего голосов 260: ↑238 и ↓22+216
Комментарии298

Принципы построения REST JSON API

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

Эта памятка писалась для внутренних нужд (открыть глаза менее опытным в вебе коллегам). Но, т.к. я насмотрелся велосипедов от довольно уважаемых, казалось бы, контор, — выкладываю на хабр. Мне кажется, многим будет полезно.


Зачем


Надеюсь, читающий уже понимает, зачем ему вообще нужен именно REST api, а не какой-нибудь монстр типа SOAP. Вопрос в том, зачем соблюдать какие-то стандарты и практики, если браузеры вроде бы позволяют делать что хочешь.


  • Стандарт HTTP это стандарт. Его несоблюдение вредно для кармы и ведёт к постоянным проблемам с безопасностью, кэшированием и прочими "закидонами" браузеров, которые совсем не закидоны, а просто следование стандарту.
  • Велосипеды со всякими {error: "message","result":...} невозможно нормально тестировать и отлаживать
  • Поддержка большим количеством готовых клиентских библиотек на все случаи жизни. Те, кто будет вашим api пользоваться, скажут большое человеческое спасибо.
  • Поддержка автоматизированного интеграционного тестирования. Когда сервер на любые запросы отдаёт 200 ОК — ну, это такое себе развлечение.
Читать дальше →
Всего голосов 71: ↑55 и ↓16+39
Комментарии207

Как научить людей использовать Git

Время на прочтение3 мин
Количество просмотров139K
По работе приходится участвовать в разных проектах, поэтому я хорошо знаю, как работают все мои коллеги. Помню, что компания начала использовать Git буквально за пару недель до моего прихода. На мониторах разработчиков кругом висели наклейки с напоминанием: сначала add, потом коммит, затем пуш.


Они не знали, зачем. Программистам просто сказали строго следовать инструкции, иначе беда. Но проблемы возникали так часто, что я решила провести семинар по Git.
Читать дальше →
Всего голосов 77: ↑69 и ↓8+61
Комментарии384

Как стать React разработчиком в 2018 году

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


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

Адам Голаб, эксперт по React и JS, составил пошаговый учебный план, который поможет вам стать разработчиком с нуля либо укажет направление для дальнейшего повышения навыков в профессии.

План Адама представляет собой список основных пунктов, которые вам нужно изучить самостоятельно. Мы добавили описание, а в некоторых сложных моментах указали ссылки на дополнительные справочные материалы, с помощью которых вы получите ответ на вопрос: «Что я должен узнать как React-разработчик?».
Читать дальше →
Всего голосов 67: ↑62 и ↓5+57
Комментарии121

Что намазать на зубы, чтобы они не выпали

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


Хорошо зафиксированный пациент в анестезии не нуждается

По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:


  • Как правильно мазать зубы пальцем?
  • Хорошо ли растворяются пломбы в кислоте?
  • Почему больно, когда сверлят зубы дрелью без анестезии?
  • Зачем мазать зубы зеленкой?
  • Лечение кариеса на дому
  • Глубокое микрофторирование эмали

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

Читать дальше →
Всего голосов 209: ↑206 и ↓3+203
Комментарии693

Переход с jQuery на Vue.js

Время на прочтение10 мин
Количество просмотров40K
Автор статьи, перевод которой мы публикуем сегодня, полагает, что в мире существует ещё много программистов, которые, когда им нужно разработать простое веб-приложение, обращаются к jQuery. Обычно это случается тогда, когда некую страницу нужно оснастить простыми интерактивными возможностями, но использование для этого какого-нибудь JavaScript-фреймворка кажется явным перебором. Ведь это — килобайты ненужного кода, шаблоны, инструменты для сборки проектов, средства для упаковки модулей… При этом подключить к странице jQuery, воспользовавшись CDN-ресурсом, проще простого.



В этом материале речь пойдёт о том, как перевести проект, созданный с использованием jQuery, на Vue.js. Этот проект будет создан на jQuery, а потом переработан с применением Vue. Автор материала хочет продемонстрировать всем желающим то, что использование Vue, даже в сравнительно небольших проектах, не обязательно означает чрезмерное увеличение размера кода таких проектов и большую дополнительную нагрузку на программиста. Это, наоборот, при практически тех же размерах вспомогательного кода, что и при использовании jQuery, позволяет повысить производительность труда и улучшить качество приложений.
Читать дальше →
Всего голосов 50: ↑48 и ↓2+46
Комментарии43

Книга «Программирование для детей. Учимся создавать игры на Scratch»

Время на прочтение1 мин
Количество просмотров6.6K
image Эта книга — для всех, кто хочет создать свою собственную компьютерную игру. Она рассказывает о том, что такое среда программирования, как собрать игру, научить героев двигаться. При помощи книги и сайта с ресурсами для сборки игр ребенок сможет самостоятельно сделать четыре игры в среде программирования Scratch. В каждой игре есть герои, которые преодолевают препятствия, ищут сокровища или по-другому взаимодействуют между собой или с предметами. От начала к концу книги сложность игр возрастает, но собирать их можно в любой последовательности.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии6

[Перевод] Обработка ошибок и транзакций в SQL Server. Часть 1. Обработка ошибок – быстрый старт

Время на прочтение16 мин
Количество просмотров46K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Error and Transaction Handling in SQL Server. Part One – Jumpstart Error Handling» автора Erland Sommarskog.

1. Введение


Эта статья – первая в серии из трёх статей, посвященных обработке ошибок и транзакций в SQL Server. Её цель – дать вам быстрый старт в теме обработки ошибок, показав базовый пример, который подходит для большей части вашего кода. Эта часть написана в расчете на неопытного читателя, и по этой причине я намеренно умалчиваю о многих деталях. В данный момент задача состоит в том, чтобы рассказать как без упора на почему. Если вы принимаете мои слова на веру, вы можете прочесть только эту часть и отложить остальные две для дальнейших этапов в вашей карьере.

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

Все статьи описывают обработку ошибок и транзакций в SQL Server для версии 2005 и более поздних версий.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии5

Создание сайта на Delphi, или Как использовать uniGUI по-минимуму

Время на прочтение7 мин
Количество просмотров42K
uniGUI – это библиотека, позволяющая создавать веб-приложения в классической Delphi-манере, посредством визуальных компонентов, причём, что является немаловажным, в большинстве случаев она полностью скрывает от разработчика всю клиентскую (браузерную) «кухню»: не требуется знать ни HTML, ни CSS, ни JavaScript, а вся разработка ведётся лишь на одном языке – Delphi.

Если смотреть на картину издалека, то вырисовываются 3 сценария использования библиотеки:

  1. Наиболее благоприятный, для которого она в целом и создавалась, когда описанная сильная, радужная сторона uniGUI проявляет себя в полной мере – перенос (полный или частичный – неважно) настольных приложений в веб, что возможно проделать быстро, привычным способом и с высоким качеством только в случаях, когда поставляемые с библиотекой компоненты сразу обеспечивают требуемый функционал – к примеру, фильтрацию и сортировку по столбцам таблицы.
  2. Очень похож на первый и в какой-то мере вытекает из него, с тем лишь отличием, что штатный набор компонентов не покрывает все необходимые по ТЗ возможности; если снова взять для примера таблицу, то таким требованием может стать многоуровневая группировка строк по произвольным столбцам. Если удастся найти сторонние решения с нужными возможностями, то сценарий сводится к первому, а если нет, то потребуется самостоятельная доработка, что уже весьма нетривиально, т. к. здесь не обойтись не просто без знаний JavaScript, а ещё и глубокого владения фреймворком Ext JS, на основе которого работает браузерная сторона uniGUI.
  3. Последний сценарий может показаться странным и даже чужеродным для тех, кто применял на практике в основном первый, – речь об отказе от всей богатой палитры визуальных компонентов и разработке клиентской части веб-приложения исключительно с использованием родной для неё триады – HTML, CSS и JavaScript. Данная статья покажет, в каких случаях подобное допустимо, а также продемонстрирует способ реализовать задуманное.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии210

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

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

REST API Best Practices

Время на прочтение7 мин
Количество просмотров424K
Привет, Хабр! Представляю вашему вниманию перевод статьи "REST API Best Practices" автора Krishna Srinivasan.

REST становится общим подходом для представления сервисов окружающему миру. Причина его популярности заключается в его простоте, легкости использования, доступе через HTTP и другие. Существует неправильное представление о том, что все данные, доступные через сеть, считаются REST, но это не так. В этой статье я собираюсь объяснить вам некоторые best practices, которые вы должны всегда помнить при реализации собственного REST приложения. Я бы хотел услышать ваш опыт в REST приложениях, поэтому если вы знаете best practies, которые не упомянуты в этой статье, пожалуйста, поделитесь с нами в комментариях.

Disclamer: все best practies основаны на моем личном опыте. Если вы имеете другое мнение, не стесняйтесь отправлять его мне на email, и мы обсудим его.

Здесь представлен список best practices, которые будут обсуждаться в этой статье:

1. Конечные точки в URL – имя существительное, не глагол
2. Множественное число
3. Документация
4. Версия вашего приложения
5. Пагинация
6. Использование SSL
7. HTTP методы
8. Эффективное использование кодов ответов HTTP
Читать далее
Всего голосов 55: ↑48 и ↓7+41
Комментарии195

0 dB Бесшумный компьютер. Версия 1.0

Время на прочтение27 мин
Количество просмотров331K
Не кажется странным, что навязчивое гудение компьютера всеми воспринимается «как норма»? Можно вообразить весь ужас происшествия, если внезапно эти же звуки начнёт издавать любимый телевизор. Расценивать такое событие можно будет только как серьёзную поломку. Так почему компьютер не сделать, подобно телевизору, таким же уютно тихим?!

Итак, настала пора отступить от стереотипов и поменять хорошее на лучшее!

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

Цель статьи — поделиться исследовательским и практическим опытом в компоновке компьютера, который при работе не издавал бы ни единого звука.
Читать дальше →
Всего голосов 170: ↑149 и ↓21+128
Комментарии269

Обзор безвентиляторного HTPC на базе корпуса HD-Plex

Время на прочтение7 мин
Количество просмотров108K
Здравствуйте. В этом посте я хочу рассказать о своем опыте сборки безвентиляторного HTPC (по сути, компьютера-медиаплеера; при отсутствии HDD абсолютно бесшумного) на базе корпуса HD-Plex: о выборе, доставке, сборке и результатах. Надеюсь, кому-то мой опус будет полезен и, возможно, сподвигнет на сборку аналогичного устройства.

Под катом много фото.


Читать дальше →
Всего голосов 48: ↑42 и ↓6+36
Комментарии119

Публикация приложения в Windows Store

Время на прочтение9 мин
Количество просмотров70K
Привет.

Я студент-партнер Microsoft, и в этой статье я хотел бы поделиться с вами своим опытом публикации приложения в Windows Store и рассказать о некоторых особенностях сертификации и публикации.
Читать дальше →
Всего голосов 86: ↑70 и ↓16+54
Комментарии24

Корпус для домашнего сервера/NAS

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


Многие используют дома NAS. Делают ему jailbreak или устанавливают модифицированную прошивку. Но наступает момент, когда возможностей стандартных NAS начинает не хватать. В этот момент хочется собрать свой NAS, чтобы в нем было установлено производительное железо, экономичное по питанию и все это не шумело. Хочется чтобы это был уже не просто NAS, а полноценный сервер, на который можно возложить дополнительные задачи. Так однажды и я озадачился этой проблемой. Как оказалось, существует не так много вариантов серверных корпусов формата Mini-ITX с возможностью установки четырех hot-swap SATA-дисков. Обзор одного из таких корпусов предлагаю вашему вниманию.

Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии48

Wi-Fi microSD Adapter: добавляем Wi-Fi модуль к фотокамере

Время на прочтение1 мин
Количество просмотров43K
monoprice-wifi-microsd-adapter-product-photos09.jpg

Ну, или любому другому девайсу, где есть слот для карт памяти формата SD. Дело в том, что на днях компания Monoprice анонсировала Wi-Fi microSD Adapter. Это — адаптер для microSD с модулем Wi-Fi.

Сейчас есть уже фотокамеры с Wi-Fi модулем, но большинство моделей все же не оснащено таким модулем. Есть еще вариант типа Eyefi, но цена такого решения может быть достаточно высока. А девайс от Monoprice стоит меньше 35 долларов США.

Адаптер поддерживает работу с microSD картами с емкостью вплоть до 32 ГБ. Если недостаточно — можно просто заменить карту. А в случае с тем же Eyefi пользователь ограничен размером такой карты, без вариантов.

Читать дальше →
Всего голосов 50: ↑46 и ↓4+42
Комментарии28

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность