Pull to refresh
-6
0
К. Артем @tema_sun

User

Send message

Как я программирую на Python

Reading time1 min
Views40K
Часто с началом нового проекта программист не в состоянии увидеть полную картину — он не знает с чего начать, где получить информацию, сколько ее получить, при этом есть шанс засесть за документацией надолго пока не пропадет желание что-либо делать. Я относительно часто делаю проекты «для души» в ранее незнакомых областях, например, программировал микроконтроллеры, делал свой segway, проектировал на ПЛИС свой микропроцессор, делал плагины под Counter-Strike, софт к купюроприемникам и другие проекты, в которых на старте был абсолютным нулем.



А недавно...
Total votes 40: ↑34 and ↓6+28
Comments21

Async/Await в javascript. Взгляд со стороны

Reading time6 min
Views136K


В последнее время все больше моих друзей, коллег и людей из сообщества говорят про работу с асинхронными функциями и в частности про использование async/await на своих проектах. Я решил разобраться для себя, что это за зверь и стоит ли его использоваться при разработке боевых проектов.

Первое что хочется развеять, это распространенное заблуждение о том, что async/await — это фича ES7.

По моему мнению, использование терминов ES6 и ES7 само по себе не очень верное и может ввести разработчиков в заблуждение. После удачного релиза спецификации ES2015, называемой ES6, у многих людей сложилось ошибочное мнение, что все в нее не вошло и заполифилено через babel — это фичи ES7. Это не так. Вот список того что появится с релизом спецификации ES2016. Как видите он не такой большой и async/await в нем никак не значится.

Я хочу, чтобы мы говорили правильно. И говоря о той, или иной фиче, ссылались на конкретную спецификацию в рамках которой она описана и реализована, а не мифические ES6, ES7 … ESN.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments53

Осторожно — Бульдозер (сборка apk пакетов в Kivy)

Reading time8 min
Views66K

Фух! Только что выбрался из под траков этого чудовища. А кое-кому повезло меньше. Как и было обещано в предыдущей статье, сегодня мы расскажем, как собираются apk пакеты для программ, написанных с использованием фреймворка Kivy при помощи утилиты Buildozer.


Что для этого понадобится? Помимо уже известных инструментов — кофе-сигареты, полкило нервов — нам потребуются ключи от новенького Бульдозера, который стоит в ангаре на github и сопутствующие зависимости, без которых он, к сожалению, не заведется, а если заведется, то никого задавить не удастся и apk пакет для Android не собрать.


Кстати, пользователи Microsoft, на своих Windows машинах за Бульдозером с нами не едут, потому что для сборки apk пакета требуется Linux система, либо ее образ на виртуалке. Ну, что ж. А мы отправляемся на github, отбуксируем Бульдозер и распакуем архив в какую-нибудь директорию. Блин. Да это просто монстр!

Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments15

5 ошибок, которых следует избегать при создании микровзаимодействий

Reading time5 min
Views14K
Микровзаимодействия — один из ключевых моментов UI/UX-дизайна. Они содержат детали, части продукта, которые выполняют одну конкретную задачу. Каждый раз когда мы меняем настройки, синхронизируем данные и устройства, устанавливаем будильник, вводим логин и пароль или выбираем определенную функцию — мы сталкиваемся с микровзаимодействиями. Они сопровождают нас повсюду: в различных устройствах и приложениях наших телефонов, компьютеров, в офисной и бытовой технике, в транспорте и дома. И если микровзаимодействия сделаны правильно, они делают нашу жизнь комфортнее, интереснее и проще.

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



Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments21

Змеиный фрукт или фруктовый Питон?

Reading time23 min
Views33K

Не библейская история



  1. И сотворил Google Android. Поселил его в саду мобильных платформ, дав ему жену — Java.
  2. И повелел Google Javе: создавай программы Androidу, красивые и быстрые, и Androidу сказал: не следует тебе брать других жен, кроме Javы. И запретил им вкушать плодов от древа познания фреймворков и языков программирования, дабы не сделались их программы медленными и неугодными пользователю.
  3. Хитрейшим же на том древе был древний змий — динамический Python. Долгое время наблюдал он за Androidом и, наконец, подстерег его прогуливающимся в тени деревьев. Тогда спросил хитрый Python Androidа: правду ли сказал тебе Google, не вкушать плодов от древа познания фреймворков и языков программирования, дабы не сделались твои программы медленными и неугодными пользователю?
  4. Точно так заповедовал мне всемогущий Google, ответил Android и прогаммы создает мне жена моя — Java.
  5. Обманул тебя Google, прошипел хитрый Python, ибо знает он, что в тот день, когда ты вкусишь плодов от древа познания фреймворков и языков программирования, прозреешь ты и потянутся к тебе другие разработчики и станут создавать программы, и появятся у тебя приложения такие же красивые и быстрые, как от жены твоей Java, и будут они кроссплатформенны!
  6. И сорвал Python плод от древа познания фреймворков и языков программирования и протянул Android`у, и тот ел.
  7. Имя того плода — Kivy.

Книга фреймворка Kivy (Глава 2, стих 1-7)

Читать дальше →
Total votes 36: ↑27 and ↓9+18
Comments20

Пятничный геймдев: хорошие видео о том, как делать игры

Reading time2 min
Views28K


Привет, Хабр!

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

И начнем мы сегодня с ролика о том, как создать играбельного 2D-персонажа в Unity 5 — если вы еще не попытались этого сделать, то сейчас самое время. Важные моменты о физике, коллайдерах, спрайтах и перемещении персонажа по сцене.



Рекомендуем, кстати, посмотреть этот курс целиком вот здесь.

Смотреть дальше
Total votes 25: ↑19 and ↓6+13
Comments2

Favicons, Touch Icons, Tile Icons и т. д. Что выбрать?

Reading time6 min
Views153K
От переводчика.
Это перевод статьи Филипа Бернарда с сайта css-tricks.com. Часть статьи, содержащую описание работы с созданным им сервисом, я позволил себе опустить. Если вы найдете ошибки, просьба сообщить о них в личном сообщении.

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


Фавикон был представлен в 1999 году, в Internet Explorer 5 (источник) и стандартизирован W3C несколько месяцев спустя. Это была маленькая иконка, представляющая сайт.



С тех пор большинство настольных браузеров следуют тенденции и используют фавикон тем или иным способом. Это очень просто, не так ли? Создать маленькую картинку и добавить в любой интернет-проект, чтобы сделать его «завершённым». Ничего сложного.
Или нет?
Total votes 73: ↑71 and ↓2+69
Comments44

Видео. Пишем полноценное клиент-сервер приложение под Android

Reading time2 min
Views75K
Приветствую вас, уважаемый Developer!

Хочу поделиться с вами серией уроков, которые мы пишем на нашем канале. Цель данных уроков поделится своими знаниями в сфере Java/Android Development-а, показать как мы строим процесс разработки, и в итоге написать готовое приложение, которое будет общаться с сервером.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments8

SonarQube. Проверяем код на качество

Reading time2 min
Views92K


SonarQube — платформа для проверки кода на качество по правилам, основанным на соглашениях и стандартах. Поддерживает более 20 различных языков программирования.

Вот здесь можно посмотреть все эти правила.

Хочу поделиться небольшим руководством, как подружить sonarQube, PhpStorm и ваш проект. Все действия описаны для Windows, но все так же настраивается и под другую ОС.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments6

Поиск работы для программиста в Лондоне

Reading time11 min
Views53K

Дисклеймер


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

Мы переехали в Лондон (Великобритания) из Хабаровска (Россия) в конце 2014. Мой муж senior php developer, с серьезным опытом работы c linux и вообще большой умница. Мой профессиональный багаж включает всякую ерунду типа FoxPro, но на последнем месте работы я занималась разработкой под интеграционную шину и JavaEE.

Шаг 1. Виза


Очевидно, чтобы приехать в Великобританию требуется виза, в контексте работы, пожалуй, наиболее реальный вариант Tier2 General.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments44

Быстрое кроссплатформенное HTML5 приложение на Framework7

Reading time10 min
Views79K
Задумываясь о разработке html5 приложения, многим сразу на ум приходит jQuery, или точнее jQueryMobile. И попробовав написать даже самое простенькое приложение используя jQueryMobile, очень легко разочароваться, так как производительность и отзывчивость получившегося html5 приложения куда ниже ожидаемого, и уж совсем его не сравнить с нативными приложениями.


Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments20

Введение в функциональное программирование на Python

Reading time10 min
Views152K
Рассуждая о функциональном программировании, люди часто начинают выдавать кучу «функциональных» характеристик. Неизменяемые данные, функции первого класса и оптимизация хвостовой рекурсии. Это свойства языка, помогающие писать функциональные программы. Они упоминают мапирование, каррирование и использование функций высшего порядка. Это приёмы программирования, использующиеся для написания функционального кода. Они упоминают распараллеливание, ленивые вычисления и детерменизм. Это преимущества функциональных программ.

Забейте. Функциональный код отличается одним свойством: отсутствием побочных эффектов. Он не полагается на данные вне текущей функции, и не меняет данные, находящиеся вне функции. Все остальные «свойства» можно вывести из этого.

Нефункциональная функция:

a = 0
def increment1():
    global a
    a += 1


Функциональная функция:

def increment2(a):
    return a + 1


Вместо проходов по списку используйте map и reduce
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments51

99 ресурсов для продвижения стартапов

Reading time3 min
Views49K


В адаптированной нами подборке вы сможете найти множество полезных источников по ряду маркетинговых задач, которые приходится решать всем бизнесам без исключения. Уверены, что каждый сможет найти что-то подходящее для своих проектов.
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments1

300 потрясающих бесплатных сервисов

Reading time11 min
Views1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Total votes 341: ↑325 and ↓16+309
Comments107

Оптимизируем производительность веб-страницы: CSS

Reading time5 min
Views51K
В наше время скорость интернета довольно высока. Казалось бы, можно забыть о тех временах, когда нам приходилось ждать по 20-30 (а то и больше) секунд, чтобы веб-страница загрузилась и отобразилась на экране — теперь мы ждём отрисовки страницы в среднем около одной-двух секунд. Однако не стоит забывать, что значительная часть юзеров заходит на ваш сайт с мобильных устройств, на которых связь не всегда стабильна. В связи с этим будет совсем не лишним уделить немного внимания оптимизации вашего кода.

В этой статье речь пойдёт о различных методах оптимизации таблиц стилей. Я расскажу о том, что влияет на скорость отрисовки страницы, как заставить браузер отрисовывать страницу быстрее и какие инструменты использовать для оптимизации.
Читать дальше →
Total votes 42: ↑32 and ↓10+22
Comments22

Канада запускает программу Startup Visa для иностранных интернет-предпринимателей

Reading time1 min
Views77K


Канадская служба миграции и гражданства опубликовала окончательный список требований к кандидатам и начала приём документов от интернет-предпринимателей по новой иммиграционной программе Startup Visa. Участник этой программы получает статус и карточку постоянного жителя Канады (Permanent Residency).

Требования для получения Startup Visa:
  1. Сдать тест на знание английского или французского языка Benchmark 5.
  2. Высшее или незаконченное высшее образование (one year of post-secondary education).
  3. Договориться с одним из венчурных фондов на финансирование своего стартапа в размере от 200 тыс. канадских долларов или с одним из частных инвесторов (ангелов) на финансирование от 75 тыс. CDN. Список фондов и инвесторов см. здесь.
Читать дальше →
Total votes 79: ↑75 and ↓4+71
Comments36

Layout страницы за 5 секунд

Reading time1 min
Views1.7K
www.layzilla.com

Проект родился просто из личных нужд. Если это удобно нам, надеюсь будет полезно кому-то еще. Все просто и без наворотов. Но не смотря на это, следуем стандартам и качеству кода.

Можно создавать основу страницы проекта любой сложности.

В будущем сделаем поддержку HTML5.

Мануал для любителей почитать.
Total votes 105: ↑98 and ↓7+91
Comments40

Несколько терминальных подключений WindowsXP

Reading time5 min
Views5.1K
image
Поскольку часто приходится подключаться к удаленным машинам, и нужно, чтобы пользователи продолжали дальше работать на своих компьютерах, стало необходимо сделать так, чтобы одновременные терминальные сессии были возможны для Винды.

Началось, как всегда с гугления, но результаты давали или ЕХЕшник с трояном, или какой-то мудренный способ.
Верю, что где-то в просторах Сети есть таки нужное решение, но почему бы самому не создать велосипед программу, которая активирует сабжевые возможности Винды, из которой была беспощадно убрана поддержка этой замечательной фичи?
Читать дальше →
Total votes 33: ↑24 and ↓9+15
Comments44

Как качать с торрентов, иметь хороший рейтинг и при этом сохранять анонимность

Reading time3 min
Views3K
Статья основана на моем личном опыте. Для успешного повторения необходим PayPal, на отправку доступен из России и Украины.

Задолго до печальных событий с torrents.ru, я решил обеспечить свою анонимность и заодно воспользоваться трекером Demonoid. Так как я из Украины, то доступ для меня там был закрыт.

Тогда я решил тратить небольшую сумму (до 50$) и взять сервер в аренду, с которого можно было качать торренты, серфить с серверного IP (прощай проблема Demonoid), и спокойно выкачивать нужные мне файлы сохраняя анонимность.
Читать дальше →
Total votes 59: ↑30 and ↓29+1
Comments43

Великолепная подборка инди-игр*. Часть третья

Reading time6 min
Views5.9K
*или чем занять все выходные на полгода вперёд.

Продолжаю баловать читателей Хабрахабра инди-играми в вечер пятницы. Части первая и вторая подборки для тех, кто пропустил по невнимательности :)

Chalk

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

Бесплатная.
Windows.


Clean Asia

Clean AsiaДругой инновационный шутер, Clean Asia позволяет вам контролировать либо Майкла Р. Дола на корабле-привлекателе, либо Мики И. Дола на корабле-отражателе. Ваша цель? Уничтожение злобных глазных яблок, которые одурманили людей Азии(отсюда название). Но на самом деле, этот странный сюжет придуман лишь для обёртки находчивой игровой механики, которая заставляет вас разбивать на куски врагов, а затем использовать эти куски в роли пуль.

Бесплатная.
Windows.

Читать дальше →
Total votes 93: ↑57 and ↓36+21
Comments14

Information

Rating
Does not participate
Date of birth
Registered
Activity