Pull to refresh
  • by relevance
  • by date
  • by rating

Всё, что Вы хотели знать о слайсах

Python *
Маленькое вступление. Уверен, что каждый, кто использовал питон некоторое время, полюбил выражения в прямоугольных скобочках. В этой статье я хочу от «а» до «я» рассказать о срезах. Для начала немного о терминологии: в английском языке их называют «slice». Я буду называть их то «слайсами», то «срезами», как в моем понимании этого слова. Будем все учиться на примерах. Для меня, такой метод был бы самым удобным, быстрым и простым.
Разве есть, что-то, чего я не знаю про эти скобочки?
Total votes 93: ↑85 and ↓8 +77
Views 72K
Comments 34

Slice, или очень полезные ломтики в Perl

Lumber room
Решая задачи реального мира нам постоянно приходится работать со списками данных. И самые счастливые в этой деятельности — Perl-программисты :)

Это все потому, что для работы с частью массива или хеша у нас есть удобный slice. Slice — это не оператор, это принцип обработки данных, когда от большого объекта отрезается кусочек.
Проще показать:
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 479
Comments 8

FreeBSD versus GRUB

*nix *
Добрый день. Эта заметка посвящена моей частной борьбе против GRUB'a, ну или за него, это как посмотреть.
Понадобилось поставить grub-загрузчик на freebsd, конечно многие знают про chainloader+1, но этот способ не годился для меня.
Читать дальше →
Total votes 68: ↑63 and ↓5 +58
Views 4.4K
Comments 8

Считываем hash: пуленепробиваемый способ

Website development *
Translation
Tutorial
Это, вероятно, одна из тех задач, о которой все думают, что знают решение, но многие решают её в итоге некорректно. Наткнувшись на ещё один сверхслабый кусок кода, написанный для этой цели, я задумала разъясняющую блогозапись.

Суть проблемы


Вы хотите убрать символ решётки (#) из значения location.hash. Например, когда hash равен "#foo", Вы хотите получить строку, содержащую "foo". Это же просто, правда?

Сложные случаи


Вот что большинство разработчиков, кажется, упускает из виду: в современных, мощно наджаваскриптованных, приложениях переменная hash может содержать любые юникодовые символы. Она не обязательно должна соответствовать значению реального атрибута id с той же страницы. А когда она и соответствует, атрибуты id теперь могут содержать почти любые юникодовые символы. Да ещё часто забывают, что на странице может и не быть никакого хэша. Даже если URL оканчивается символом «#», строка location.hash равняется на самом деле "" (пустой строке), а не "#".

Наивные подходы


Вот наиболее недавний — я нашла его в книге, на которую составляла техническую рецензию:

var hash = location.hash.match(/#(\w+)/)[1];

У него сразу несколько проблем:

Читать дальше →
Total votes 74: ↑43 and ↓31 +12
Views 25K
Comments 26

Ускорьте Ваше приложение. PERFMATTERS!.

Development of mobile applications *
Translation

Мои правила


Каждый раз, когда у меня возникает проблема в производительности, я следую этим правилам:
  • Всегда измеряйте — оптимизация с помощью глаз плохая идея. Когда вы просмотрели ту же анимацию несколько раз, вам кажется, что она выполняется быстрее. Цифры не врут. Используйте инструменты, о которых я расскажу, и измеряйте поведение вашего приложения несколько раз до и после того как делаете изменения.
  • Используйте медленные устройства — Если вы хотите найти все слабые места, вам больше помогут медленные устройства. Новые и производительные устройства не будут показывать ваши возможные проблемы производительности и не у всех ваших пользователей есть топ устройства.
  • Компромиссы — Оптимизация производительности всецело состоит из компромиссов. Вы оптимизируете одно в обмен на другое. Во многих случаях этот другой компромисс может быть потраченным временем на нахождение и исправление производительности, также он может быть качеством ваших растровых изображений или количеством данных которые вы должны хранить в определенной структуре данных. Приготовьтесь жертвовать чем-либо.

Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Views 18K
Comments 0

Кастование произвольного слайса, к слайсу интерфейсов

Abnormal programming *Go *

Всем привет. У каждого, кто знаком с Go был вопрос, а какого лешего я не могу сделать вот так вот:


var  a = []int{1,2,3}
b = []interface(a)

Почему приходится писать вот так:


b := make([]interface{}, len(a))
for i:=0; i<len(a); i++ {
   b[i] = a[i]
}

Но, можно и по другому....

Читать дальше →
Total votes 23: ↑10 and ↓13 -3
Views 2.4K
Comments 5

Обзор ПО для 3D-печати Simplify3D

Top 3D Shop corporate blog Working with 3D-graphics *3D printers


Всем привет! С вами Top 3D Shop и сегодня мы расскажем о Simplify3D, уникальном программном обеспечении для FDM-принтеров.

Смотрите наш видеообзор и читайте текстовую версию далее.
Total votes 9: ↑8 and ↓1 +7
Views 9.7K
Comments 7

Array.splice и Array.slice в JavaScript

JavaScript *
Sandbox
Привет, Хабр! Представляю вашему вниманию перевод статьи “Array.splice and Array.slice in JavaScript” автора Kunal Tandon.

Вы просто обязаны использовать вышеупомянутые функции, доступные в прототипе JavaScript Array. Но они выглядят так похоже, что иногда можно запутаться между ними.
Читать дальше →
Total votes 25: ↑9 and ↓16 -7
Views 23K
Comments 9