Как стать автором
Обновить
4.3
Карма
0
Рейтинг
Ильясов Станислав @Silentium

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

  • Подписчики 7
  • Подписки 7
  • Публикации
  • Комментарии

Python изнутри. Введение

Блог компании Буруки Python *Программирование *
Перевод
Tutorial
Boa constrictor1. Введение
2. Объекты. Голова
3. Объекты. Хвост
4. Структуры процесса

Помимо изучения стандартной библиотеки, всегда интересно, а иногда и полезно, знать, как язык устроен изнутри. Андрей Светлов (svetlov), один из разработчиков Python, советует всем интересующимся серию статей об устройстве CPython. Представляю вам перевод первого эпизода.

Мой друг однажды сказал мне: «Знаешь, для некоторых людей язык C — это просто набор макросов, который разворачивается в ассемблерные инструкции». Это было давно (для всезнаек: да, ещё до появления LLVM), но эти слова хорошо мне запомнились. Может быть, когда Керниган и Ритчи смотрят на C-программу, они на самом деле видят ассемблерный код? А Тим Бёрнерс-Ли? Может он сёрфит интернет по-другому, не так, как мы? И что, в конце концов, Киану Ривз видел в том жутком зелёном месиве? Нет, правда, что, чёрт побери, он там видел?! Эм… вернёмся к программам. Что видит Гвидо ван Россум, когда читает программы на Python?
Узнать ответ
Всего голосов 98: ↑93 и ↓5 +88
Просмотры 92K
Комментарии 60

Питерцы чемпионы мира! Не хоккеем, так программированием

Блог компании Edison Спортивное программирование *Программирование *Алгоритмы *
image
В состав команды СПбГУ вошли Игорь Пышкин, Станислав Ершов, Алексей Гордеев и тренер Андрей Лопатин.

Первое место — СПбГУ.
Второе место — Шанхайский университет транспорта.
Третье место — Гарвардский университет.

Четвертое место — МФТИ.
Седьмое место — ИТМО.

Восьмое место — УрФУ.
Десятое место — ННГУ.

Мы наблюдаем за этой олимпиадой с 2003 года. Русскоговорящие программисты обычно забирают ~50% из первых 10 мест и часто побеждают всех (см. факт с кубком). EDISON поздравляет соотечественников с победой!
Читать дальше →
Всего голосов 69: ↑62 и ↓7 +55
Просмотры 42K
Комментарии 130

Обстоятельно о подсчёте единичных битов

Спортивное программирование *Программирование *Алгоритмы *
Tutorial
Я хотел бы подарить сообществу Хабра статью, в которой стараюсь дать достаточно полное описание подходов к алгоритмам подсчёта единичных битов в переменных размером от 8 до 64 битов. Эти алгоритмы относятся к разделу так называемой «битовой магии» или «битовой алхимии», которая завораживает своей красотой и неочевидностью многих программистов. Я хочу показать, что в основах этой алхимии нет ничего сложного, и вы даже сможете разработать собственные методы подсчёта единичных битов, познакомившись с фундаментальными приёмами, составляющими подобные алгоритмы.

Читать дальше →
Всего голосов 82: ↑82 и ↓0 +82
Просмотры 78K
Комментарии 92

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Блог компании Wunder Fund Программирование *Алгоритмы *Разработка под Linux *
Перевод
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →
Всего голосов 158: ↑149 и ↓9 +140
Просмотры 82K
Комментарии 15

Как писать главную сайта (и чего там не должно быть)

Блог компании Бюро копирайтинга Textbroker.ru Интернет-маркетинг Контент-маркетинг


Привет! Я продолжаю про буквы для блога Текстброкера — моих хороших друзей.

Начнём с того, что сегодня, пожалуй, уже не осталось сайтов, где главная страница — единая точка входа. Это во времена Арпанета был список нод с адресами, по которым надо было ходить. Это у BBS были меню и текст на входе. Сейчас люди заходят на ваш сайт со всех сторон. Поэтому каждая значимая страница – главная. То есть к странице любого товара на сайте интернет-магазина надо относиться как к главной. И к странице услуги. И к любой другой.

На главную люди часто попадают либо через поиск, набирая название вашей компании, либо через бумагу или ещё каким-то «социальным» образом, например, когда с ними делятся ссылкой.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 23K
Комментарии 8

МТС: яйцом к клиенту, или как бороться с заменой sim

Законодательство в IT
На хабра-сайтах не раз (см. тут и здесь) выходили статьи о том, как защитить себя от замены sim-карты. Но, не смотря на то, что все эти советы — дельные, в них есть одно слабое и при этом — очень значимое место, которое с юридической точки зрения называется добросовестность одной из сторон, т.е. провайдера.

мтс коротко Опишу на своём реальном опыте, так как практика — лучшее подтверждение теории, со ссылкой на действующие нормативно-правовые акты, а также ряд прецедентов, которые были сформированы за последние годы.

Цель статьи простая — дать людям, не имеющим специальных юридических знаний, краткий список норм, спасающих от произвола операторов сотовой связи, в частности, МТС, потому как заменить sim могут не только без вашего ведома, но даже без поддельного паспорта и просто — по сговору с сотрудником, т.е. технически тут помочь нечем.

При подготовке искового изучил несколько десятков форумов, на которых повторялись типовые вопросы по нормативной базе. Попробовал изложить их в систематизированном виде.
Читать дальше →
Всего голосов 40: ↑39 и ↓1 +38
Просмотры 57K
Комментарии 134

Если уж вы решили поиграть в тендер

Блог компании ФрешДок Фриланс Управление продажами *Бизнес-модели


В продолжении здоровенной работы, некоторые итоги которой можно подробно изучить по ссылкам здесь.
Сидели давеча, вспоминали какие еще моменты стоит учитывать с точки зрения потенциальных судов по деятельности дизайн-студий или агентств, я стал рассказывать более чем типичную историю.
Читать дальше →
Всего голосов 20: ↑19 и ↓1 +18
Просмотры 13K
Комментарии 6

Оптимизация работы с MySQL

MySQL *
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
  • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
  • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
  • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
  • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
  1. Неиспользование или неправильное использование индексов.
  2. Неправильная структура БД.
  3. Неправильные \ неоптимальные SQL запросы.

Остановимся на каждой из этих групп подробнее.
Читать дальше →
Всего голосов 54: ↑52 и ↓2 +50
Просмотры 70K
Комментарии 107

Дистанционная работа: Более 130 полезных источников

Блог компании Фонд развития интернет-инициатив Управление проектами *GTD *Управление персоналом *Карьера в IT-индустрии
Перевод


Данная подборка позволит вам разобраться с плюсами и минусами дистанционной работы, оценить затраты и возможную экономию, познакомиться с опытом коллег и взглянуть на целый спектр компаний, команды которых работают дистанционно.
Читать дальше →
Всего голосов 34: ↑33 и ↓1 +32
Просмотры 56K
Комментарии 9

Оттачиваем мастерство работы в консоли

Системное администрирование **nix *
Перевод
Tutorial
После того, как у меня появился новый монитор на рабочем месте, я начал новую итерацию улучшения своего «безмышечного» (mouse-less, прим. пер.) опыта. Вы же знаете, что это значит, не так ли? Это значит, что каждый раз, когда вы беретесь за мышку, убирая руку с клавиатуры, вы тратите немного времени и энергии. Если вам нужно набирать много текста (а я много пишу кода), это становится существенным.

Так же существует следующий уровень «безмышечного» опыта, когда вы стараетесь избежать труднодоступных клавиш, например Delete, Backspace, Escape или даже Enter.

Если вы держите руки в стандартной позиции для 10-пальцевой слепой печати, более удобно нажать Ctrl-m вместо того, чтобы тянуться мизинцем к энтеру.

image
Читать дальше →
Всего голосов 68: ↑65 и ↓3 +62
Просмотры 63K
Комментарии 116

Что такое красивый код, и как его писать?

Программирование *Совершенный код *
Из песочницы

1. Вступление


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

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

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

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

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

Да, все это необходимо знать. Но при этом, понимание того, как должен выглядеть достойный код, обычно появляется уже при наличии практического (чаще в той или иной степени негативного) опыта за плечами. И при условии, что жизнь “потыкала” тебя не только в сочные образцы плохого кода, но и в примеры всерьез достойные подражания.

В этом-то и заключается вся сложность: твое представление о “достойном” и “красивом” коде полностью основано на личном многолетнем опыте. Попробуй теперь передать это представление в сжатые сроки человеку с совсем другим опытом или даже вовсе без него.

Но если для нас действительно важно качество кода, который пишут люди, работающие вместе с нами, то попробовать все же стоит!
Читать дальше →
Всего голосов 97: ↑79 и ↓18 +61
Просмотры 182K
Комментарии 145

Учёные нашли лекарства, замедляющие старение

Научно-популярное Здоровье
image

Американские учёные и исследователи (Исследовательский институт Скриппс, частная клиника Майо и др.) обнаружили новый класс лекарств, которые сильно замедляют процесс старения, уменьшают эффекты связанных с этим заболеваний, улучшают сердечно-сосудистую систему и продляют жизнь. Работа была опубликована в журнале Aging Cell.

Учёные проверяли на животных два лекарственных препарата. Один из них — противоопухолевое средство направленного действия дазатиниб (торговая марка Спрайсел). Второй – кверцетин, вещество, помогающее от отёков, спазмов, воспалений, и содержащееся во многих фруктах, овощах, листьях и крупах. В результате экспериментов оказалось, что эти препараты убивают стареющие клетки – такие клетки организма, которые прекратили делиться и только накапливаются с возрастом, способствуя старению организма. Учёные назвали новый класс лекарств "сенолитики".
Читать дальше →
Всего голосов 51: ↑48 и ↓3 +45
Просмотры 45K
Комментарии 91

Material Design: на Луну и обратно

Блог компании red_mad_robot Разработка мобильных приложений *Разработка под Android *
Tutorial
“Это унылое диалоговое окно действительно нужно?”



В этой статье я изложил главные принципы Material Design и дал советы по их воплощению. Текст написан по следам мастер-класса для разработчиков, который мы, Роботы, устраивали совместно с российским офисом Google (Think Mobile).


Когда-то все продукты Google выглядели по-разному плохо. Даже один продукт на разных платформах выглядел неконсистентно.

Все стало меняться в 2011 году, когда в Google начали усиленно работать над унификацией визуальной части экосистемы своих продуктов и назвали все это Project Kennedy.

При чем тут Кеннеди?
Легенда такова: президент Кеннеди инициировал программу полёта человека на Луну (если верить, что этот полёт когда-либо был). А большой начальник в Google Ларри Пейдж исповедует принцип, что продукты нет смысла улучшать на 10% — они должны быть в 10 раз лучше, чем у конкурентов. Если уж запускать продукт, то сразу на Луну. Вот и здесь было решено круто всё переделать.

Читать дальше →
Всего голосов 146: ↑135 и ↓11 +124
Просмотры 367K
Комментарии 121

15 тривиальных фактов о правильной работе с протоколом HTTP

Блог компании Яндекс Разработка веб-сайтов *API *Разработка систем связи *
Внимание! Реклама! Пост оплачен Капитаном Очевидность!

Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.



Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.

Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
Читать дальше →
Всего голосов 191: ↑186 и ↓5 +181
Просмотры 205K
Комментарии 120

Верстка email рассылок от А до Я для чайников

Разработка веб-сайтов *HTML *Верстка писем *
Из песочницы
Уже 3 с лишним года занимаюсь дизайном и версткой почтовых рассылок, которые ориентированы на англоязычных пользователей. За время работы перелопатили огромную кучу информации, перепробовали много вариантов верстки, набили достаточное количество шишек. Были найдены и исправлены типичные баги, которые в той или иной мере повторялись во всех почтовых клиентах. Также нашлись проблемы с некоторыми CSS свойствами — различные почтовые клиенты интерпретировали их по разному. Каждое письмо тестировалось на самых популярных почтовых клиентах: Gmail, Outlook, Yahoo, Android, iOS, MozillaThunderbird, Microsoft Outlook, The Bat. Рассылки ходят на сотни миллионов пользователей и приносят очень хорошие результаты. Итак, приступим к изучению.
Читать дальше →
Всего голосов 66: ↑62 и ↓4 +58
Просмотры 342K
Комментарии 35

Не Таиландом единым или Как фрилансеру за три часа поменять место обитания без проблем с визами

Блог компании Airbnb Офисы IT-компаний Лайфхаки для гиков
С падением курса рубля жизнь фрилансера-путешественника сильно осложнилась. Однако если все же заработок позволяет, а европейского гостеприимства, как и солнца, ох как не хватает в России – добро пожаловать в восемь стран, где фрилансер найдет покой и красивую картинку позади монитора без проблем и волнений с оформлением виз.


Маршруты кочевников за полторы тысячи лет не поменялись. Но нравы стали помягче
Читать дальше →
Всего голосов 69: ↑64 и ↓5 +59
Просмотры 50K
Комментарии 126

Как программисты ищут квартиры

Ненормальное программирование *Open source *Python *
image

На самом деле все происходит не так...

Один мой знакомый попросил меня написать эту статью. В статье пойдет рассказ о его похождениях, которые могут (могли) быть неправильно восприняты администрацией определенных интернет-ресурсов. И те, в свою очередь, могут (могли) пожаловаться на моего знакомого куда следует. Поэтому пишу статью с его слов я. А он уехал. В Гондурас. Насовсем.

Проблема


Пару лет назад (наконец-то!) наступил в моей жизни момент, когда мне нужно можно было купить квартиру. Оставалось ее найти. Дело осложнялось тем, что были у меня свои взгляды на то, какой должна быть моя идеальная квартира. А именно — она должна была быть НА последнем этаже. Ну чтобы никто по мозгу не ходил. Ну и плевать на всех удобнее.
Читать дальше →
Всего голосов 125: ↑99 и ↓26 +73
Просмотры 103K
Комментарии 96

Автоматизированное тестирование — это просто! Как я тестировал Печкина

Тестирование IT-систем *
Из песочницы
Не так давно стал посматривать в сторону Selenium WebDriver, который в связке с PageObject становится прекрасным инструментом для автоматизированного тестирования. Те, кто не знаком с Selenuim, могут ознакомиться в этой статье, а здесь можно прочесть конкретно про Selenium WebDriver.

При написании этой статьи были использованы:
  1. Maven
  2. TestNG
  3. Selenium WebDriver
  4. PageObject
  5. Подопытный кролик: pechkin-mail.ru

Подробнее
Всего голосов 16: ↑13 и ↓3 +10
Просмотры 94K
Комментарии 19

Анонимизация всего траффика через VPN + TOR/I2P. Собираем миддлбокс с нуля

Информационная безопасность *
В этой статье будет рассказано, как пробросить весь трафик операционной системы через TOR так, чтобы о наличии TOR-а операционная система даже не подозревала.



Это поможет не думать о бесконечных настройках прокси и onion, перестать бояться на тему «а не сливает ли торрент клиент мой реальный IP адрес, так как не полностью поддерживает прокси?» и, наконец, быть застрахованным от законодательного запрета TOR-а в России.

Когда я говорю «TOR», я подразумеваю «TOR и I2P». По схожей методике сюда можно подключить любой даркнет.

Статья — «чисто конкретная». Теория уже неплохо изложена в статье Pandoshabrahabr.ru/post/204266. В данном тексте будет дана детальная инструкция «как сделать, чтобы работало».

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


1. Мой компьютер должен по нажатию одной кнопки переходить в режим «весь трафик — не русский».

2. По нажатию второй кнопки он должен переходить в режим «весь траффик идет через TOR»

3. Третья кнопка — для I2P.

4. Входная TOR-нода должна находиться за рубежом.

5. Все это должно работать под linux, windows, android. Заранее: с OS X и iPhone тоже все в порядке, просто у меня их нету, так что протестить не смогу.
Далее
Всего голосов 81: ↑73 и ↓8 +65
Просмотры 240K
Комментарии 46

Помогаем пользователю подтвердить Email

Интерфейсы *Usability *
Если у вас есть сайт или приложение, которые при регистрации нового пользователя просят подтвердить адрес электронной почты, у меня для вас есть совет и небольшая таблица с данными, которые помогут сделать процесс регистрации проще и удобнее для пользователя, а также позволят немного поднять процент конверсии посетителей в пользователи.

Что происходит после того, как пользователь указывает свой email в форме регистрации и отправляет форму на сервер?
Читать дальше →
Всего голосов 71: ↑56 и ↓15 +41
Просмотры 70K
Комментарии 81

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность