Пиратские истории


Kanal geosi va tili: ko‘rsatilmagan, ko‘rsatilmagan
Toifa: ko‘rsatilmagan


Истории из мира веб-технологий и жизни.

Связанные каналы

Kanal geosi va tili
ko‘rsatilmagan, ko‘rsatilmagan
Toifa
ko‘rsatilmagan
Statistika
Postlar filtri






Как добиться 100% безопасности программных продуктов

No Code

http://amp.gs/xCFN


Frontend WhiteList

Список полезных и интересных авторских статей, переводов, докладов и ресурсов на русском языке для разработчиков интерфейсов — https://github.com/melnik909/frontend-whitelist


Clean javascript code

Коллекция концепций из книги «Чистый код» c наглядными примерами их применения на JavaScript — http://amp.gs/1BoQ


Modern JS Cheatsheet

Шпаргалка Мануэля Бедру по современному JS: простыня 38 795 пикселей высотой, которую полезно иметь под рукой — mbeaudru.github.io/modern-js-cheatsheet

Перевод — https://github.com/mbeaudru/modern-js-cheatsheet/blob/master/translations/ru-RU.md


For Web — фронтенд, дизайн, программирование dan repost
Understanding the DOM, серия статей о работе с DOM средствами нативного JavaScript, от поиска элементов до внесения изменений — https://www.digitalocean.com/community/tutorial_series/understanding-the-dom-document-object-model








Рекурсия vs. какой-то процесс

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

Рекурсивный процесс постоянно говорит «я это запомню и потом посчитаю» на каждом шаге рекурсии. «Потом» наступает в самом конце.

Итеративный процесс постоянно говорит «я сейчас посчитаю все что можно и продолжу» на каждом шаге рекурсии. Ему не нужно ничего запоминать вне вызова, он всегда считает все в первый возможный момент, и каждый шаг рекурсии может существовать в изоляции от прошлых, потому что вся информация передается из шага в шаг.

https://ru.hexlet.io/courses/programming-basics/lessons/iterative_process/theory_unit

урок:
https://www.youtube.com/watch?v=0Yn_O-t94Ko


Матрица компетентности от hexlet

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

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

https://ru.hexlet.io/blog/posts/infographics-programmer-competency-matrix

Документ:
https://goo.gl/CS5Kd3




Design Patterns

Проект, собравший набор известных шаблонов проектирования (паттернов) и некоторые примеры их реализации в PHP. Каждый паттерн содержит небольшой перечень примеров (большинство из них для ZendFramework, Symfony или Doctrine).

Ссылка проекта
http://designpatternsphp.readthedocs.io/ru/latest/

И еще немного ссылок по паттернам:

Небольшая статья
http://devacademy.ru/posts/shablony-proiektirovaniia-v-php/

Курс на YouTube
https://www.youtube.com/playlist?list=PLmqFxxywkatTBkCujXqT7ZmYs96rOpsdl

Еще ресурс
https://refactoring.guru/ru/design-patterns/catalog

Вебинар от Хекслет: Что такое паттерны
https://www.youtube.com/watch?v=wX6BBaQZpzE

Design patterns implemented in Java
https://github.com/iluwatar/java-design-patterns

Книги
1. Банды Четырех «Паттерны проектирования»
2. Паттерны проектирования (Head First O'Reilly)


Функциональное программирование или ООП?

Часто встречаю статьи и доклады от функциональщиков, что функциональное программирование рулит, а объекты это треш. Не будем здесь говорить о процедурщиках, которые думают, что они функциональщики. Не будем их разочаровывать, что ни к кому из вышеперечисленных они порой не относятся (и по этой причине иногда идут лесом). Разберёмся, чем функциональное программирование отличается от других парадигм и для чего это всё вообще нужно.

http://www.elisdn.ru/blog/95/functional-vs-oop


Подробнее про PSR

Оригинал:
https://github.com/php-fig/fig-standards/tree/master/accepted

Перевод PSR 0-4:
https://github.com/getjump/fig-standards/tree/master/accepted

Статья "PSR-7 в примерах":
https://habrahabr.ru/post/250343/

Cтатья "Опыт внедрения PSR стандартов в одном легаси проекте" (PSR-7, PSR-11):
https://habrahabr.ru/post/337692/

*


Стандарты PSR

Поддержка PSR (PHP standart recommendation) стандартов позволяет обеспечивать совместимость, что облегчает и ускоряет разработку конечного продукта.

Всего на момент написания статьи существует 17 стандартов, причем 9 из них являются утвержденными, 8 находятся в стадии проекта, активно обсуждаются, 1 стандарт не рекомендован к использованию.

Стандарты PSR, которые официально приняты, т.е. находятся в статусе Accepted:

PSR-1. Основной стандарт кодирования

Он представляет собой наиболее общие правила, такие как, например, использование тегов PHP, кодировка файлов, разделения места объявления функции, класса и места их использования, именование классов, методов.

PSR-2. Руководство по стилю кода

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

PSR-3. Интерфейс протоколирования

Этот стандарт разработан для того, чтобы обеспечить (журналирование) логирование в приложениях, написанных на PHP.

PSR-4. Стандарт автозагрузки

Это, наверное, самый важный и нужный стандарт, которому будет посвящена отдельная, подробная статья. Классы, которые реализуют PSR-4, могут быть загружены единым автозагрузчиком, что позволяет частям и компонентам из одного фреймворка или библиотеки быть использованными в других проектах.

PSR-6. Интерфейс кеширования

Кэширование используется для повышения производительности системы. И PSR-6 позволяет стандартно сохранять и извлекать данные из кэша, используя унифицированный интерфейс.

PSR-7. Интерфейс HTTP-сообщений

При написании мало-мальски сложных сайтов на PHP, почти всегда приходиться работать с HTTP заголовками. Конечно, язык PHP предоставляет нам уже готовые возможности для работы с ними, такие как суперглобальный массив $_SERVER, функции header(), setcookie() и т.д., однако их ручной разбор чреват ошибками, да и не всегда можно учесть все нюансы работы с ними. И вот, чтобы облегчить работу разработчику, а также сделать единообразным интерфейс взаимодействия с HTTP протоколом был принят данный стандарт. Более подробно об этом стандарте я расскажу в одной из следующих статей.

PSR-11. Интерфейс контейнера

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

PSR-13. Гипермедиа ссылки

Данный интерфейс призван облегчить разработку и использование прикладных программных интерфейсов (API).

PSR-14. Интерфейс простого кэширования

Является продолжением и улучшением стандарта PSR-6

Источник: https://myrusakov.ru/php-psr-standards.html


Почему функция «возвращает» значение?

Изучающие программирование часто удивляются: почему функция «возвращает» результат? Почему именно такое странное слово — «возврат»? Как будто мы сначала даём ей результат, а потом она его возвращает обратно.

Понятно, что это не так. Мы даём функции аргументы (а иногда и вообще не даём ничего), а она даёт нам в ответ какую-то информацию… А иногда не даёт! Тогда мы говорим «они ничего не возвратила».

Странно!

Дело в том, что return означает не возврат информации, а возврат управления.

При вызове функции текущий код становится на паузу и передаёт управление в функцию. Функция делает свои дела и возвращает управление в то место, где происходил вызов. И заодно может отправить какую-то информацию туда.

Что за управление? Управление той штукой, которая исполняет код. Грубо говоря — управление компьютером. Код передаёт функции пульт управления компьютером, а функция потом возвращает его обратно.

const sum = (a, b) => {
const answer = a + b;
return answer;
}

Мы привыкли читать подобный код как «функция возвращает значение answer», но правильнее будет читать «функция возвращает управление в место вызова и отправляет туда значение answer».

Именно поэтому внутри функции возможен такой код:

...
return;
...

Здесь функция не «возвращает ничего», а «возвращает управление в место вызова и не отправляет туда никакую информацию».

Источник: https://ru.hexlet.io/blog/posts/why-return





20 ta oxirgi post ko‘rsatilgan.

18

obunachilar
Kanal statistikasi