Pull to refresh
4
0
krugvs @krugvs

User

Send message

Программирование на Python — курс для желающих узнать о нём больше или изучить ещё один язык программирования

Reading time 3 min
Views 125K
"The joy of coding Python should be in seeing short, concise, readable classes that express a lot of action in a small amount of clear code — not in reams of trivial code that bores the reader to death."
Guido van Rossum

Python — язык программирования, на котором приятно писать и который приятно читать. Мы предлагаем тринадцать лекций осеннего курса CS центра, чтобы посмотреть вглубь языка и попробовать понять, как пользоваться всеми его возможностями. Лекции читает Сергей Лебедев, разработчик в компании JetBrains и преподаватель в Computer Science Center.

Мало освоить синтаксис, чтобы узнать язык программирования: нужно осознать идиомы языка и научиться их применять. В течение курса Сергей знакомит слушателей с идиомами и возможностями языка Python.

Фотография сделана осенью 2014 года в Страсбурге, за две недели до начала первого прочтения этого курса.
Открыть лекции курса
Total votes 45: ↑42 and ↓3 +39
Comments 32

Часть 2. Сколько мегабит/с можно пропустить через зрительный нерв и какое разрешение у сетчатки? Немного теории

Reading time 13 min
Views 394K


Другие публикации из этой серии


Часть 1. Unboxing VisuMax — фемто-лазера для коррекции зрения
Часть 3. Знакомьтесь — лазер по имени Amaris. Переезды и первое пробуждение VisuMax
Часть 4.1 Возвращаем зрение. От очков до эксимерного лазера
Часть 4.2 Возвращаем зрение. От очков до эксимерного лазера

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

Я постараюсь рассмотреть человеческое зрение через призму IT. Если кому-то не слишком интересно читать часть, посвященную биологическим аспектам зрения — ничего страшного. Просто пропустите разделы, начиная с оптической системы глаза, и сразу переходите к традиционному конкурсу от наших девушек. Однако, я все же рекомендовал бы ознакомиться с этим материалом, чтобы лучше понять следующую статью, в которой мы будем рассматривать LASIK, Femto-LASIK, ReLEx SMILE и другие методы лазерной офтальмохирургии.

Есть настроение разобраться, что именно говорят эти непонятные люди в белых халатах, задумчиво глядя на результаты вашего обследования? Вы хотите узнать немного нового об уникальном природном даре — зрении? Тогда добро пожаловать под habracut. Как обычно — много иллюстраций и трафика (≈5 MB).
Читать дальше →
Total votes 267: ↑260 and ↓7 +253
Comments 426

Обзор сервисов отсылки мобильных push-уведомлений

Reading time 4 min
Views 45K
Недавно заметил за собой, что получать уведомления из разных программ на email для меня стало неудобным. Уже давно устоялся термин “email overload” и компании вроде Google с этим стараются работать (вводят папки, фильтры, а теперь и вкладки в Gmail).

Мне понравилась концепция центра уведомлений, которая успешно показала себя на ОС Android, появилась в iOS6 и запланирована к выпуску в Windows Phone. Это одна лента уведомлений для всех сервисов, удобный просмотр, работа с уведомлениями, простая очистка списка. На своем опыте убедился, что это в разы удобнее, чем привычные email уведомления, которые превращают inbox в кашу.

Поскольку наша команда работает одновременно над несколькими проектами (где-то летят “билды”, где-то пушатся изменения и так далее), мне показалась интересной идея подключить свои проекты к такому варианту уведомлений о событиях, происходящих в системе. В идеале я хотел иметь возможность рассылать уведомления разным членам команды, а при необходимости и на всю команду целиком. Только мне хотелось получать их именно от ПО, с которым я работаю — начиная от инструментов Continuous Integration и автоматического тестирования, и заканчивая непосредственно логами ошибок, статистикой и критикалами из проектов.
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 7

Краткая история освоения космоса

Reading time 25 min
Views 256K


За последние пол года на хабре появилось заметное количесво первоклассных постов о космосе, начал пожалуй Zelenyikot нашедший на марсе станцию Марс-3, продолжили Kamalesh, jeston, Sulentium и @DaryaZ. Некоторый итог подвелlozga, но мне кажется все эти посты несколько поверхностны и не отражают того уровня, который достигла наша космонавтика. По этому я собрался духом и написал очень длинный пост о подлинной истории освоения космоса — думаю приведенные мной факты позволят многим по-новому взглянуть на саму тему космоса. Писал сжато, по этому за пояснениями прошу в каменты.

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

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

Но внутри этой волны, на борту «прогресса» всегда будет казаться будто мы ползем как черепахи. Положа руку на сердце – кто из нас считает СССР лучшим в мире государством всю свою историю делавшим невозможное?

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



Читать дальше →
Total votes 432: ↑262 and ↓170 +92
Comments 371

Кикстартер: за и против

Reading time 8 min
Views 60K
Сегодня мы поделимся советами по созданию проекта на краудфандинг площадке и опишем процесс на примере кикстартера, так как, к сожалению, он самый популярный и предъявляет наиболее жесткие требования — с остальными площадками проблем при публикации проекта у вас не возникнет.
Читать дальше →
Total votes 17: ↑13 and ↓4 +9
Comments 8

12 сентября. Сан-Франциско. Центр искусств Йерба Буэна. Live-трансляции — чего изволите?

Reading time 1 min
Views 77K


Хабрачитатель! Это случится сегодня. В День Программиста.
12 сентября 2012 года. В 21:00 по Москве. В 20:00 по Киеву.

Продолжая эстафету анонсов live-трансляций — коротко и без хабраката — встречайте:

Русскоязычные трансляции:





Англоязычные трансляции:





Читать дальше →
Total votes 70: ↑54 and ↓16 +38
Comments 72

Менталитет достаточности: в мире всего хватит на всех

Reading time 4 min
Views 6.8K
Приходилось ли вам когда-нибудь радоваться поражениям других людей?

Не берусь говорить за всех, но уверен, что многие сталкивались с этим чувством, особенно в молодом возрасте. Думаю, многие согласятся с тем, что у них в голове хоть раз возникала мысль «Так ему и надо» в отношении другого человека, потерпевшего провал. Не так важно, кто это: конкурент или просто герой очередной публикации на страницах новостного портала. Факт в том, что мысль «Так ему и надо», которая на самом деле интерпретируется как «Я рад, что он потерпел неудачу», знакома многим людям, особенно в развивающихся странах.
Читать дальше →
Total votes 52: ↑43 and ↓9 +34
Comments 46

Как написать отличную статью и завоевать умы

Reading time 12 min
Views 17K

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

В данной статье мне хотелось бы предложить несколько вариантов того, как стоит создавать статьи, как их подавать и как поддерживать жизнь своей статьи.
Читать дальше →
Total votes 131: ↑96 and ↓35 +61
Comments 77

Django на production. uWSGI + nginx. Подробное руководство

Reading time 7 min
Views 218K
Перед вами руководство по настройке production окружения для Django. Здесь будут описаны необходимые шаги по настройке Django, uWSGI и nginx. Руководство охватывает все три компонента — полный стек серверного ПО для веб-приложений.

Подразумевается, что вы используете Unix-подобную операционную систему и менеджер пакетов, эквивалентный aptitude. Найти эквивалент aptitude почти для любой операционной системы, в том числе и для Mac OS X, для вас не составит никакого труда.

Руководство написно для версий Django 1.4 или выше. Если вы используете более раннюю версию, то вам придется самостоятельно найти wsgi модуль для нее. Также вы заметите, что файловая структура проекта будет немного отличаться от представленной здесь.

Общая идея


Веб-сервер может по запросу отдавать пользователям файлы из своей файловой системы, однако он не может напрямую работать с Djangо приложениями. Веб-серверу нужен интерфейс, который будет запускать Django приложение, передавать ему запрос от пользователя и возвращать ответ.

Для выполнения этих задач был разработан Web Server Gateway Interface — WSGI — стандарт взаимодействия Python программ и веб-сервра.

uWSGI — одна из реализаций WSGI. В этом руководстве мы установим и настроим uWSGI для создания Unix сокета и взаимодействия с веб-сервером по протоколу WSGI.
Читать дальше →
Total votes 46: ↑37 and ↓9 +28
Comments 54

PrettyTasks Widget под Android с поддержкой оффлайн работы

Reading time 2 min
Views 3.3K
Вышел Android виджет с поддержкой оффлайн работы для сервиса PrettyTasks.
Основной функционал виджета включает наиболее важные функции работы с задачами на текущий день.



Узнать как повысить свою продуктивность
Total votes 9: ↑3 and ↓6 -3
Comments 10

Продажа приложений в Google Play из Украины

Reading time 1 min
Views 44K
Пока программисты (и не только) постсоветсткого пространства празднуют майские праздники Google без особой шумихи подключили возможность продавать приложения в Google Play в следующих странах: Греция, Люксембург, Румыния, Саудовская Аравия, Словакия, Турция, Украина, Вьетнам. Ура, товарищи!


Читать дальше →
Total votes 97: ↑85 and ↓12 +73
Comments 71

Триггеры в MySQL

Reading time 2 min
Views 293K
Триггер — это хранимая процедура, которая не вызывается непосредственно, а исполняется при наступлении определенного события ( вставка, удаление, обновление строки ).
Поддержка триггеров в MySQL началась с версии 5.0.2
Читать дальше →
Total votes 55: ↑50.5 and ↓4.5 +46
Comments 49

Горизонтальное масштабирование PHP приложений. Часть 1

Reading time 5 min
Views 32K

Итак вы сделали сайт. Всегда интересно и волнительно наблюдать как счетчик посещений медленно, но верно ползет вверх, с каждым днем показывая все лучшие результаты. Но однажды, когда вы этого не ждете, кто-то запостит ссылку на ваш ресурс на каком-нибудь Reddit или Hacker News (или на Хабре — прим. пер.), и ваш сервер ляжет.

Вместо того, что бы получить новых постоянных пользователей, вы останетесь с пустой страницей. В этот момент, ничего не поможет вам восстановить работоспособность сервера, и трафик будет утерян навсегда. Как же избежать таких проблем? В этой статье мы поговорим об оптимизации и масштабировании.
Читать дальше →
Total votes 53: ↑31 and ↓22 +9
Comments 57

Легализация дохода фрилансера в Украине. Часть 1: государственная регистрация бизнеса

Reading time 9 min
Views 101K
Рано или поздно любой фрилансер задумывается о том, чтобы перестать прятать свои доходы от государства. Преимущества очевидны: идет официальный стаж работы, в банке охотнее выдают кредиты, для получения туристической визы заграницу не нужно искать обходные пути, спишь, в конце концов, спокойнее. Самый простой способ выйти из тени в Украине — стать предпринимателем или, как это официально называется, физическим лицом — предпринимателем.

Я работаю предпринимателем — фрилансером с 2007 года и успел накопить значительный опыт получения денег из-за рубежа как через онлайн-биржи вроде oDesk и Elance, так и работая с заказчиками напрямую. В свое время я был инициатором некоторых изменений на oDesk, помогающих упростить легальное получение денег на свой предпринимательский счет. Сегодня я руковожу разработкой в нашем украинском стартапе Taxer.ua, от чего опыта во взаимодействии с государством накопилось еще больше.

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

  1. Государственная регистрация предпринимателя: выбор системы налогообложения, подача заявления.
  2. Составление ВЭД договора, получение денег от клиентов: биржи oDesk, Elance и напрямую.
  3. Ведение ВЭД бухгалтерии: акты, счета, книга доходов и курсовая разница.
  4. Уплата налогов и отправка отчетности в контролирующие органы: сдавать ли валютную декларацию.

Читать дальше →
Total votes 91: ↑81 and ↓10 +71
Comments 74

Повышаем безопасность стека web-приложений (виртуализация LAMP, шаг 6/6)

Reading time 10 min
Views 22K

Настройка и использование nginx

Мы завершаем перевод цикла статей сайта cyberciti.biz, посвященного виртуализации LAMP-стэка. Речь в заключительном материале пойдет об установке и настройке реверс-прокси nginx.

nginx — open-source продукт, использующийся не только в качестве веб-сервера или реверс-прокси сервер. За его легковесность и бережное отношение к ресурсам его используют и в качестве балансировщика нагрузки (от тупого round-ribbon, до более осмысленного, но тут все туманно прим.пер.) и/или в качестве прокси-решения для организации доступа к службам виртуальной сети, установленной в предыдущих статьях цикла, через один внешний хост-адреса, например через IP 202.54.1.1 (как это было рассмотренное в примерах прежде).
Читать дальше →
Total votes 24: ↑16 and ↓8 +8
Comments 5

Миссия невыполнима. Мертворожденные проекты

Reading time 4 min
Views 112K
«Когда человек не знает, к какой пристани он держит путь, для него ни один ветер не будет попутным». (С) Сенека, Луций Анней



Предисловие

Как-то один из топов уважаемой компании, которая занимается продуктовой разработкой ПО, пригласил меня, как эксперта, чтобы я оценил качество нового продукта. Я внимательно просмотрел и прослушал презентацию. Видно было, что коллеги очень старались и работали по 10-12 часов, чтобы продукт выглядел на высшем уровне. После чего меня спросили: «хороший получился продукт или нет?» Я поблагодарил за представленную презентацию, но попросил ответить на свой последний вопрос: «А какие процессы, и с какой целью вы собираетесь автоматизировать с помощью этого инструмента?» Вопрос почему-то вызвал замешательство у докладчиков. После небольшой паузы, топ, который, видимо, был идеологом нового продукта, ответил: «Был бы инструмент хороший, а какие процессы с его помощь автоматизировать мы найдем!» Мне пришлось сказать, что оценить продукт я не смогу. Не зная бизнес-целей, невозможно понять степень их достижения.

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

Для иллюстрации используем проект «Экспедиция за сокровищами Флинта»
Девять пунктов концепции проекта
Total votes 101: ↑96 and ↓5 +91
Comments 51

Изменение коммитов в Git

Reading time 2 min
Views 284K
Это пост для тех, кто начинает работу с Git. Все, что здесь написано по частям можно найти в многочисленных простынях о Git на Хабре. Но я подумал, что неплохо было бы иметь отдельный предельно понятный топик, который бы гуглился по запросу «git изменение коммитов».
Читать дальше →
Total votes 94: ↑80 and ↓14 +66
Comments 21

PhpMyAdmin исполнилось 15 лет

Reading time 1 min
Views 12K
Проект phpMyAdmin появился на свет 9 сентября 1998 года, когда Тобиас Ратшиллер (Ratschiller) выпустил версию 0.9.0. За прошедшие полтора десятилетия phpMyAdmin превратился в один из основных инструментов для администрирования MySQL и других MySQL-подобных баз данных, с гордостью пишут разработчики.

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

К созданию phpMyAdmin причастны 669 разработчиков, а основная группа разработчиков выросла с 1 до 9 человек.
Читать дальше →
Total votes 54: ↑48 and ↓6 +42
Comments 25

Хранение деревьев в базе данных. Часть первая, теоретическая

Reading time 4 min
Views 129K
Полгода назад написал бандл ClosureTable для фреймворка Laravel 3. Поводом для написания стала вот эта замечательная презентация Билла Карвина о способах хранения и обработки иерархических данных в MySQL с использованием PHP.

Итак. Существует несколько шаблонов проектирования баз данных для хранения и обработки иерархических структур:
  • Adjacency List («список смежности»)
  • Materialized Path («материализованный путь»)
  • Nested Sets («вложенные множества»)
  • Closure Table («таблица связей»)

Читать дальше →
Total votes 47: ↑41 and ↓6 +35
Comments 66

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity