Pull to refresh
3
Karma
0
Rating
ничего не произойдет @Yahweh

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

  • Followers
  • Following
  • Posts
  • Comments

Реализация словаря в Python 2.7

Python *Algorithms *
Sandbox
В этой статье пойдёт речь о том, как реализован словарь в Python. Я постараюсь ответить на вопрос, почему элементы словаря не упорядочены, описать, каким образом словари хранят, добавляют и удаляют свои элементы. Надеюсь, что статья будет полезна не только людям, изучающим Python, но и всем, кто интересуется внутренним устройством и организацией структур данных.
Читать дальше →
Total votes 65: ↑64 and ↓1 +63
Views 103K
Comments 37

Текстовый редактор — это вам не высшая математика, тут думать надо

JUG Ru Group corporate blog Semantics *Typography *Java *Usability *
Современные текстовые редакторы умеют не только бибикать и не давать выйти из программы. Оказывается, внутри них кипит очень сложный метаболизм. Хотите узнать, какие ухищрения предпринимаются для быстрого пересчета координат, как к тексту приделываются стили, фолдинги и софтврапы и как это всё обновляется, при чем тут функциональные структуры данных и очереди с приоритетами, а также как обманывать пользователя — добро пожаловать под кат!



В основе статьи — доклад Алексея Кудрявцева с Joker 2017. Алексей уже лет 10 пишет Intellij IDEA в JetBrains. Под катом вы найдете видео и текстовую расшифровку доклада.
Читать дальше →
Total votes 208: ↑206 and ↓2 +204
Views 83K
Comments 189

Памятки по искусственному интеллекту, машинному обучению, глубокому обучению и большим данным

NIX corporate blog Big Data *Machine learning *Artificial Intelligence
Translation


В течение нескольких месяцев мы собирали памятки по искусственному интеллекту, которыми периодически делились с друзьями и коллегами. В последнее время сложилась целая коллекция, и мы добавили к памяткам описания и/или цитаты, чтобы было интереснее читать. А в конце вас ждёт подборка по сложности «О большое» (Big-O). Наслаждайтесь.

UPD. Многие картинки будут читабельнее, если открыть их в отдельных вкладках или сохранить на диск.
Читать дальше →
Total votes 51: ↑47 and ↓4 +43
Views 31K
Comments 9

Топ 8 лучших ресурсов для практики программирования в 2018

JavaScript *
Привет, Хабр! Представляю вашему вниманию перевод статьи Top Coding Challenge Websites of 2018 автора Trey Huffine.

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

На чем бы вы не кодили: Python, Ruby, JavaScript, Golang, TypeScript, или еще какой-то язык, вы найдете здесь ресурс под ваши потребности. Чтобы научиться программировать — нужно программировать.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views 145K
Comments 14

Шпаргалка для технического собеседования

Mail.ru Group corporate blog Programming *Personnel Management *IT career


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

Читать дальше →
Total votes 81: ↑68 and ↓13 +55
Views 142K
Comments 85

Удивительный Angular

JavaScript *Angular *TypeScript *

Awesome Angular



От переводчиков


Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы поговорим о новостях в мире Angular. Мы подготовили для вас наиболее интересные материалы и отобрали список вопросов, который вам должен понравиться. Отметим только, что если вы будете ждать от этой статьи ответа на вопрос "Чем Angular лучше других технологий?", то придется вас огорчить, у нас не будет ответа на него. Почему? Как правило, все мнения вида "Технология X лучше технологии Y" почти всегда не более, чем отражение точки зрения высказывающегося. Однако для тех, кто только начинает изучать этот фреймворк, мы постараемся объяснить, что дает вам эта технология и какую пользу она приносит. Также не проходите мимо и ответьте на опрос, самые популярные ответы будут отправлены Игорю Минару (ведущий разработчик команды Angular). Ну что же, приступим.

Читать дальше →
Total votes 47: ↑45 and ↓2 +43
Views 166K
Comments 59

Как правильно оформить Open Source проект

Open source *Git *IT Standards *GitHub IT career
Tutorial

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


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


Я провел небольшое исследование и обнаружил что большинство публикаций по этой теме на habrahabr освещают тему участия (contributing), либо просто мотивируют каким-нибудь образом примкнуть к Open Source, но не дают исчерпывающей инструкции как правильно оформить свой проект. В целом в рунете, если верить Яндекс, тема освещена со стороны мотивации, этикета контрибуции и основ пользования github. Но не с точки зрения конкретных шагов, которые следует предпринять.


Так что из себя представляет стильный, модный, молодёжный Open Source проект в 201* году?

Читать дальше →
Total votes 89: ↑84 and ↓5 +79
Views 43K
Comments 135

Первое знакомство с командой ss

RUVDS.com corporate blog Configuring Linux *System administration *
Translation
Tutorial
В Linux есть программы, которые пригодятся программистам, специалистам по информационной безопасности, администраторам… короче говоря, каждый найдёт здесь то, что ему нужно.

Инструмент командной строки netstat был одним из тех средств, которыми часто пользовались системные администраторы. Однако команда netstat была признана устаревшей и на смену ей пришла более быстрая и удобная в использовании команда ss.



Сегодня мы поговорим о том, как применять ss для того, чтобы узнавать о том, что происходит с сетью на компьютере, работающем под управлением Linux.
Читать дальше →
Total votes 49: ↑47 and ↓2 +45
Views 37K
Comments 13

Пошаговое руководство по написанию сервиса для Kubernetes

Go *
Translation
Tutorial

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


Если вы когда-либо пробовали Go, вы знаете, что писать сервисы на Go очень просто. Нам нужно буквально несколько строк кода для того, чтобы можно было запустить http-сервис. Но что нужно добавить, если мы хотим приготовить такое приложение в продакшн? Давайте рассмотрим это на примере сервиса, который готов к запуску в Kubernetes.


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

Читать дальше →
Total votes 26: ↑22 and ↓4 +18
Views 17K
Comments 6

Генерируем красивую Google-таблицу из своей программы (используя Google Sheets API v4)

Python *Programming *Google API *
Tutorial

Постановка задачи


Пусть нам нужно создать программой на языке Python вот такую таблицу:

image

Особенности этой таблицы:

  • задана ширина столбцов;
  • верхняя ячейка является объединением A1:E1;
  • в некоторых ячейках настроены: формат отображения, размер шрифта, жирность, выравнивание текста и цвет фона;
  • значения в последнем столбике вычислены формулой (например, в E4 написано =D4-C4);
  • нарисована граница под ячейками A3:E3;
  • присутствует Пикачу (но это останется как домашнее задание для энтузиастов).

Интересно? Тогда добро пожаловать под кат.
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Views 97K
Comments 19

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

Go *
Sandbox

Несколько недель назад кто-то создал топик на Reddit с просьбой:


Что бы Вы использовали в качестве лучшей практики Go для доступа к базе данных в (HTTP или других) обработчиках, в контексте веб-приложения?

Ответы, которые он получил, были разнообразными и интересными. Некоторые люди посоветовали использовать внедрение зависимостей, некоторые поддержали идею использования простых глобальных переменных, другие предложили поместить указатель пула соединений в x/net/context (c golang 1.7 используется пакет context).


Что касается меня? Думаю что правильный ответ зависит от проекта.


Какова общая структура и размер проекта? Какой подход используется вами для тестирования? Какое развитие проект получит в будущем? Все эти вещи и многое другое частично влияют на то, какой подход подойдет для вас.


В этом посте рассматрим четыре разных подхода к организации вашего кода и структурирование доступа к пулу соединений к базе данных.


Данный пост является вольным переводом оригинальной статьи. Автор статьи предлагает четыре подхода по организации доступа к БД в приложении написанном на golang

Читать дальше →
Total votes 31: ↑26 and ↓5 +21
Views 29K
Comments 16

ТОП-9 YouTube-каналов для изучения английского языка

EnglishDom corporate blog
Tutorial
Впереди пора отпусков и каникул, поэтому мы просто поделимся с вами полезными YouTube-каналами на случай, если у вас будет пара свободных минут и желание немного заняться английским.

// "Enjoy the Content" — from author with Love 
Читать дальше →
Total votes 49: ↑35 and ↓14 +21
Views 109K
Comments 14

Просмотр сериалов как способ изучения английского языка

Learning languages
image

Итак, дорогие читатели, после семи месяцев просмотра сериалов на английском, я решила, наконец, написать обзор о лучших, на мой взгляд, сериалах для изучения английского языка.
Читать дальше →
Total votes 31: ↑23 and ↓8 +15
Views 97K
Comments 85

Самые полезные приёмы работы в командной строке Linux

RUVDS.com corporate blog Configuring Linux *System administration *
Translation
Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.

Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.

image

Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
Читать дальше →
Total votes 146: ↑130 and ↓16 +114
Views 148K
Comments 149

С нуля до Upper Intermediate

Learning languages
image
В этом посте вы узнаете, как я сама, без репетиторов и курсов, не потратив ни копейки, выучила аглийский за год почти с полного 0 до Upper Intermediate.

Итак, все довольно просто: Мотивация! Именно она дала толчок к саморазвитию и жажде познания английских правил, слов и букв. Согласитесь, вас мало что остановит, если у вас есть мотивация…

У каждого мотивация может быть своя: у одних это уехать заграницу в поисках лучшей жизни/работы/учебы, у других смотреть фильмы в оригинале и получать удовольствие от голосов актеров, а не слушать наши крутые, ущербные переводы, у третьих, понимать англоязычные лекции, тем самым убивая двух зайцев: изучая английский, пополняя свой словарный запас, и, развиваясь в той области, которая вам интересна. (Чисто для справки, почти в каждой области, будь то анатомия, программирование, рисование или еще чего, полно разных курсов и материалов, и их еще больше на английском, они круче и качественнее. Т. е. у вас есть больше вариантов что посмотреть и почитать.
Читать дальше →
Total votes 58: ↑48 and ↓10 +38
Views 196K
Comments 100

Python: коллекции, часть 1/4: классификация, общие подходы и методы, конвертация

Python *Programming *
Sandbox
Tutorial
Часть 1 Часть 2 Часть 3 Часть 4
Коллекция в Python — программный объект (переменная-контейнер), хранящая набор значений одного или различных типов, позволяющий обращаться к этим значениям, а также применять специальные функции и методы, зависящие от типа коллекции.

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

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

Для кого: для изучающих Python и уже имеющих начальное представление о коллекциях и работе с ними, желающих систематизировать и углубить свои знания, сложить их в целостную картину.

Будем рассматривать стандартные встроенные коллекционные типы данных в Python: список (list), кортеж (tuple), строку (string), множества (set, frozenset), словарь (dict). Коллекции из модуля collections рассматриваться не будут, хотя многое из статьи должно быть применимым и при работе с ними.

ОГЛАВЛЕНИЕ:


  1. Классификация коллекций;
  2. Общие подходы к работе с коллекциями;
  3. Общие методы для части коллекций;
  4. Конвертирование коллекций.
Читать дальше →
Total votes 38: ↑38 and ↓0 +38
Views 117K
Comments 27

Google презентовала свободный шрифт Noto с поддержкой 800 языков и 110 тыс. символов

Typography *


Шестого октября компания Google презентовала расширенную версию своего свободного шрифта Noto (No more tofu). Название у шрифта говорящее. Tofu — всем известный пустой квадрат вместо символа в ситуациях, когда тот не поддерживается используемым шрифтом: ⯐.

Новый шрифт от Google поддерживает корректное отображение всех символов юникода, то есть более 800 языков и 110000 символов.
Читать дальше →
Total votes 51: ↑51 and ↓0 +51
Views 27K
Comments 51

Аутентификация и авторизация в микросервисных приложениях

DataArt corporate blog .NET *C# *
Tutorial

Автор: Вячеслав Михайлов, Solutions Architect

Это вводная часть материала, основанного на докладе, прочитанном мной прошлым летом. Печатный материал предполагает больше информации, т.к. в одном докладе обычно не получается рассказать обо всех деталях.

Мы разберемся с процессом аутентификации пользователя, работой технологии единого входа (Single sign-on/SSO), дадим общее представлении о технологии OAuth2 и принципах ее работы, не углубляясь в особенности конкретной технической реализации. В следующей статье в качестве примера удачной реализации мы рассмотрим библиотеку Thinktecture Identity Server v3, подробнее остановимся на ее функциональных возможностях, поговорим, как собрать минимальный набор компонент, необходимый для работы в микросервисной архитектуре и достойный использования в боевой системе. В третьей части мы покажем, как расширять эту библиотеку, подстраиваясь под нужды вашей системы, а завершит цикл статей разбор различных сценариев, встречавшихся в жизни многих разработчиков с рекомендациями для каждого случая.
Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Views 166K
Comments 15

Памятка пользователям ssh

Configuring Linux *System administration *Server Administration *
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8 +344
Views 1.2M
Comments 135

SaltStack: использование salt-ssh

System administration *IT Infrastructure *Server Administration *
Sandbox

salt-sshВ этом посте я хотел бы поделиться своим опытом использования системы управления конфигурациями SaltStack, и, в частности, её применением в Masterless режиме при помощи salt-ssh компонента.


По сути, salt-ssh является аналогом системы Ansible.


salt-ssh '*-ec2.mydomain.com' test.ping

Будут затронуты следующие темы:


  • Почему SaltStack, ключевые особенности
  • Базовые понятия SaltStack
  • Salt-ssh установка и использование
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views 19K
Comments 32
1

Information

Rating
Does not participate
Location
Рождественские о-ва
Registered
Activity