background preloader

Develop

Facebook Twitter

Crypto

SQL. Neural networks. Шаблоны проектирования с человеческим лицом / Блог компании Mail.Ru Group. Шаблоны проектирования — это способ решения периодически возникающих проблем.

Шаблоны проектирования с человеческим лицом / Блог компании Mail.Ru Group

Точнее, это руководства по решению конкретных проблем. Это не классы, пакеты или библиотеки, которые вы можете вставить в своё приложение и ожидать волшебства. Как сказано в Википедии: В программной инженерии шаблон проектирования приложений — это многократно применяемое решение регулярно возникающей проблемы в рамках определённого контекста архитектуры приложения. Шаблон — это не законченное архитектурное решение, которое можно напрямую преобразовать в исходный или машинный код. Будьте осторожны Шаблоны проектирования — не «серебряная пуля».Не пытайтесь внедрять их принудительно, последствия могут быть негативными. В статье приведены примеры на PHP 7, но пусть вас это не смущает, ведь заложенные в шаблонах принципы неизменны. Виды шаблонов проектирования Порождающие шаблоны проектирования Вкратце Порождающие шаблоны описывают создание (instantiate) объекта или группы связанных объектов. Википедия Простая фабрика Мост. Алгоритм Дейкстры. Поиск оптимальных маршрутов на графе.

Из многих алгоритмов поиска кратчайших маршрутов на графе, на Хабре я нашел только описание алгоритма Флойда-Уоршалла.

Алгоритм Дейкстры. Поиск оптимальных маршрутов на графе

Этот алгоритм находит кратчайшие пути между всеми вершинами графа и их длину. В этой статье я опишу принцип работы алгоритма Дейкстры, который находит оптимальные маршруты и их длину между одной конкретной вершиной (источником) и всеми остальными вершинами графа. Недостаток данного алгоритма в том, что он будет некорректно работать если граф имеет дуги отрицательного веса. Для примера возьмем такой ориентированный граф G: Этот граф мы можем представить в виде матрицы С: Возьмем в качестве источника вершину 1. Присвоим 1-й вершине метку равную 0, потому как эта вершина — источник. Далее выберем такую вершину W, которая имеет минимальную метку (сейчас это вершина 1) и рассмотрим все вершины в которые из вершины W есть путь, не содержащий вершин посредников.

Мы выберем вершину 2. Выполнив все действия получим такой результат: ASP.NET Core: ваше первое приложение на Linux c использованием Visual Studio Code. Решил недавно написать небольшое ASP.Net MVC приложение после многолетнего перерыва и знающие люди на Хабре подсказали попробовать новый ASP.Net Core, тем более, что он работает в Линуксе из коробки без необходимости задействовать mono, и, судя по последним тестам, даже показывает неплохую производительность.

ASP.NET Core: ваше первое приложение на Linux c использованием Visual Studio Code

За основу взял аналогичную статью для Mac, однако здесь в отличии от вдохновившей меня статьи хочу описать процесс пошагово в одном месте, для того, чтобы не пришлось лазить по перекрёстным ссылкам, пытаясь разобраться как установить непонятно для чего предназначенные приложения и пакеты. Такое подробное описание процесса возможно поможет многим избежать граблей, с которыми пришлось столкнуться мне. Несколько фраз и рисунков, в части одинаковой для любой платформы, с правками и корректировками взяты из статьи для Mac. Установка .Net Core и Visual Studio Code Приводимые здесь команды установки подходят для дистрибутивов Ubuntu 16.04/Mint 18.x, для остальных можно найти здесь. Алгоритмы и структуры данных — Типичный программист. Хитрости с битовыми операциями / Типичный программист.

Нашли и оформили подборку различных хитрых приёмов с битовыми операциями.

Хитрости с битовыми операциями / Типичный программист

С основами битовых операций также можно ознакомиться в нашей статье. Если вы знаете какие-то трюки, которые не вошли в этот список, делитесь ими в комментариях! Целые числа Установка n-ого бита Обнуление n-ого бита Переключение n-ого бита Округление до следующей степени двойки Получение максимального целого Получение минимального целого Получение макисмального long Умножение на 2 Деление на 2 Умножение на m-тую степень 2 Деление на m-тую степень 2 Проверка на равенство На 35% быстрее, чем JS 🙂 Проверка на чётность Обмен значениями Модуль Максимум двух чисел Минимум двух чисел. An A-Z Index of the Bash command line for Linux. Commands marked • are bash built-ins Many commands particularly the Core Utils are also available under alternate shells (C shell, Korn shell etc).

An A-Z Index of the Bash command line for Linux

More bash commands: Linux Command Directory from O'Reilly, GNU CoreUtils.SS64 bash discussion forumLinks to other Sites, books etc.

C++

  Google Developers. Welcome to Google's Python Class -- this is a free class for people with a little bit of programming experience who want to learn Python.

  Google Developers

The class includes written materials, lecture videos, and lots of code exercises to practice Python coding. These materials are used within Google to introduce Python to people who have just a little programming experience. The first exercises work on basic Python concepts like strings and lists, building up to the later exercises which are full programs dealing with text files, processes, and http connections. The class is geared for people who have a little bit of programming experience in some language, enough to know what a "variable" or "if statement" is. Beyond that, you do not need to be an expert programmer to use this material. This material was created by Nick Parlante working in the engEDU group at Google. Tip: Check out the Python Google Code University Forum to ask and answer questions.

GameDev

C# Java.