Статья от Joel Spolsky про то, почему ни в коем случае не стоит на большом и старом проекте выкидывать всю кодобазу и начинать все сначала. Основной посыл автора: старый код протестирован, он усыпан самыми разными фиксами, которые закрывают разнообразные дырки. Начав писать код с нуля, мы потеряем все эти фиксы и, что не менее важно, потратим несколько месяцев на написание нового кода, уступив тем самым конкурентам. Если ситуация совсем плачевная, автор советует рефакторить. Долго и аккуратно рефакторить.
#refactoring
https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
#refactoring
https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
Joel on Software
Things You Should Never Do, Part I
Netscape 6.0 is finally going into its first public beta. There never was a version 5.0. The last major release, version 4.0, was released almost three years ago. Three years is an awfully long tim…
Если ты любишь консольный Git также, как люблю его я, то тебя наверняка заинтересуют несколько пунктов из этой статьи. Автор рассказывает про не очень известные, но порой очень полезные фишки. Эти однострочники можно спрятать под alias и безмятежно радоваться жизни.
#git
https://csswizardry.com/2017/05/little-things-i-like-to-do-with-git/
#git
https://csswizardry.com/2017/05/little-things-i-like-to-do-with-git/
Csswizardry
Little Things I Like to Do with Git – CSS Wizardry
Handy Git tricks and aliases: leaderboards, praise, word-diff, branch history, daily recaps, changelog generation, and more in one quick guide.
Несмотря на то, что наша сфера деятельности слабо связана с Python, я очень люблю на нем писать. После Java это как небольшой отдых. Сам язык-то предельно удобен для написания разных тулов, парсеров, краулеров и прочего. Так вот, в этой статье чувак расписал все нюансы по использованию underscore (символ _) в именах переменных и методов. Оно все конечно есть в документации, но иметь под рукой такую вот шпаргалку всегда приятно.
#python
https://dbader.org/blog/meaning-of-underscores-in-python
#python
https://dbader.org/blog/meaning-of-underscores-in-python
dbader.org
The Meaning of Underscores in Python – dbader.org
The various meanings and naming conventions around single and double underscores (“dunder”) in Python, how name mangling works and how it affects your own Python classes.
Помнишь, я как-то рассказывал про субботний митапчик в Москве - PeerLab? Так вот, ребята теперь решили поддержать и Android-разработчиков, так что 7 июня всем добро пожаловать в московский офис Avito на PeerLab по Android. Ссылка на форму с регистрацией ниже. Ну и ссылки на сайты/чатики там же.
#peerlab #meetup
Основной сайт: http://peerlab.community/find/
Peer Lab МСК геоточка: https://goo.gl/maps/mQwk7ckcokS2
Peer Lab МСК: https://news.1rj.ru/str/peerlabmoscow
Peer Lab СПБ: https://news.1rj.ru/str/spbpeerlab
https://docs.google.com/forms/d/e/1FAIpQLScLQs-nvPyNbuzgT8Z1Z0BcOn-SkYYB7U0cGqCgyO6Pad9SOg/viewform?usp=sf_link
#peerlab #meetup
Основной сайт: http://peerlab.community/find/
Peer Lab МСК геоточка: https://goo.gl/maps/mQwk7ckcokS2
Peer Lab МСК: https://news.1rj.ru/str/peerlabmoscow
Peer Lab СПБ: https://news.1rj.ru/str/spbpeerlab
https://docs.google.com/forms/d/e/1FAIpQLScLQs-nvPyNbuzgT8Z1Z0BcOn-SkYYB7U0cGqCgyO6Pad9SOg/viewform?usp=sf_link
Peer Lab: Developers Helping Developers
Find a Peer Lab
Here's the idea: come join other developers for a peer-based collaborative learning lab. You've got a question? Maybe someone can provide you with some insight. Maybe you can help someone else with their questions. Bring a laptop and some code to work on.
Статья с 10-ю правилами, которых придерживаются в NASA для написания C-кода, от которого зависят жизни людей. Довольно интересные правила, должен сказать.
#c #nasa #principle
http://www.rankred.com/nasa-coding-rules/
#c #nasa #principle
http://www.rankred.com/nasa-coding-rules/
RankRed
NASA's 10 Coding Rules for Writing Safety Critical Program - RankRed
Introducing NASA's 10 coding rules that focus on security parameters. The guidelines could be applied to other programming languages as well.
Статья-шпаргалка по возможностям strings.xml. Я уверен, что большая часть разработчиков все это знает, но хочется, чтобы эта ссылочка была где-нибудь под рукой. Рано или поздно какая-нибудь деталь да забудется. Будет, где подсмотреть.
#resources #localization
https://medium.com/google-developer-experts/android-strings-xml-things-to-remember-c155025bb8bb
#resources #localization
https://medium.com/google-developer-experts/android-strings-xml-things-to-remember-c155025bb8bb
Medium
Android strings.xml — things to remember
This article is about such trivial android thing as — strings.xml
Братцы, тут товарищи попросили поделиться вакансией. В компанию Ultimate Guitar нужен Android-разработчик для развития текущих приложений. Специфика проекта в том, что он связан с музыкой (с игрой на гитаре), так что неплохо, чтобы было увлечение рок-музыкой. Крупный проект, многомиллионная армия лояльных пользователей. Работать придется в рок-н-ролльной атмосфере. Музыка, алкоголь, вечеринки, все такое. Тяжелые условия, в общем. Поделитесь с приятелями. Если откликнитесь на вакансию - упомяните старую добрую Дичь. Буду благодарен. Если интересно - писать @tarasov
#job
#job
Читатель @ozodrukh прислал статейку об анимации передвижения по кривой для Android 3.0+. Может быть пригодится. И кстати, начиная с API 21, нам дали класс ArcMotion для тех же нужд.
#animation
https://developer.android.com/reference/android/transition/ArcMotion.html
http://graphics-geek.blogspot.ru/2012/01/curved-motion-in-android.html
#animation
https://developer.android.com/reference/android/transition/ArcMotion.html
http://graphics-geek.blogspot.ru/2012/01/curved-motion-in-android.html
Blogspot
Curved Motion in Android
The animation support added in Android 3.0 and enhanced since then is useful, allowing a flexible system of property animation to animate ...
Немного об устройстве Binder в Android и о том, откуда он вообще такой появился.
#binder
https://anatomyofandroid.com/2013/10/02/the-binder-i/
#binder
https://anatomyofandroid.com/2013/10/02/the-binder-i/
Братцы, тут человек попросил опрос опубликовать. Welcome.
Мы, группа студентов факультета социологии СПбГУ, проводим большое исследование рейтинга IT работодателей Санкт-Петербурга и Москвы.
Пожалуйста, поддержите нас, пройдя опрос по ссылке http://sgiz.mobi/s3/63243b734400
Опрос состоит только из закрытых вопросов и займет 5 минут.
Результаты опроса планируется опубликовать на habrahabr.ru в блоге “Моего круга” и в группе https://vk.com/jugru
#survey
Мы, группа студентов факультета социологии СПбГУ, проводим большое исследование рейтинга IT работодателей Санкт-Петербурга и Москвы.
Пожалуйста, поддержите нас, пройдя опрос по ссылке http://sgiz.mobi/s3/63243b734400
Опрос состоит только из закрытых вопросов и займет 5 минут.
Результаты опроса планируется опубликовать на habrahabr.ru в блоге “Моего круга” и в группе https://vk.com/jugru
#survey
Эту статью я советую тебе просмотреть только для того, чтобы ты сам никогда такого не написал. Ну серьезно, это же какой-то позор. Каждый из пунктов статьи очевиден, если ты пишешь на Kotlin. Ты автоматом начинаешь их использовать просто потому, что так лучше читается и короче пишется. Не пиши такого дерьма. Пожалуйста.
#kotlin #bullshit
https://blog.philipphauer.de/idiomatic-kotlin-best-practices/
#kotlin #bullshit
https://blog.philipphauer.de/idiomatic-kotlin-best-practices/
Philipp Hauer's Blog
Idiomatic Kotlin. Best Practices.
This post shows how we can replace Java's best practices with idiomatic Kotlin code.
Прекрасный лонгрид на тему того, почему появился и как развивался стандарт UUID. Я думаю, каждый так или иначе с этими идентификаторами сталкивался, теперь вот есть шанс познакомиться с ними поближе. Статья действительно интересная. Очень советую прочитать целиком.
#uuid #history
https://segment.com/blog/a-brief-history-of-the-uuid/
#uuid #history
https://segment.com/blog/a-brief-history-of-the-uuid/
Segment
Twilio Segment Blog
Universally Unique Identifiers (UUIDs) have evolved from solving database management challenges to becoming a foundational element of modern data systems. This blog explores the history, structure, and practical applications of UUIDs, highlighting their role…
Не знаю как ты, а я вот периодически забываю, что делают некоторые ScaleType у ImageView. По ссылке - симпатичная шпаргалка по теме.
#imageview #cheatsheet
https://robots.thoughtbot.com/android-imageview-scaletype-a-visual-guide
#imageview #cheatsheet
https://robots.thoughtbot.com/android-imageview-scaletype-a-visual-guide
thoughtbot
Android ImageView ScaleType: A Visual Guide
A visual aid for all the options for scaling the bounds of an image to the bounds of an <code>ImageView</code>.
Подробная статья, в которой автор на чистой Java реализует Functor, Optional, Monad и показывает ещё несколько интересных штук. Рекомендую.
#fp #java #functor #monad #optional
http://www.nurkiewicz.com/2016/06/functor-and-monad-examples-in-plain-java.html
#fp #java #functor #monad #optional
http://www.nurkiewicz.com/2016/06/functor-and-monad-examples-in-plain-java.html
Around IT In 256 Seconds By Tomasz Nurkiewicz
Functor and monad examples in plain Java
Podcast for developers, testers, SREs… and their managers. I explain complex and convoluted technologies in a clear way, avoiding buzzwords and hype. Never longer than 4 minutes and 16 seconds.
Помнишь, у romannurik была тулза, которая иконочки друг в друга анимировать умела? Так вот, теперь есть новая тулза. Жить стало лучше, жить стало веселей.
#material #animation
https://shapeshifter.design/
#material #animation
https://shapeshifter.design/
Shape Shifter
Shape Shifter simplifies the process of creating SVG-based icon animations.
Тут наверное нужно что-то сказать про розовые очки, но мне ничего не приходит на ум. Поэтому просто держи три статьи про, скажем так, неявные эффекты при использовании Kotlin. Там все в основном про количество методов, дополнительные вызовы, приведение типов и аллокации. Однако, есть всё-таки несколько интересных моментов по делегатам в третьей части.
#kotlin #performance
https://medium.com/@BladeCoder/exploring-kotlins-hidden-costs-part-1-fbb9935d9b62
https://medium.com/@BladeCoder/exploring-kotlins-hidden-costs-part-2-324a4a50b70
https://medium.com/@BladeCoder/exploring-kotlins-hidden-costs-part-3-3bf6e0dbf0a4
#kotlin #performance
https://medium.com/@BladeCoder/exploring-kotlins-hidden-costs-part-1-fbb9935d9b62
https://medium.com/@BladeCoder/exploring-kotlins-hidden-costs-part-2-324a4a50b70
https://medium.com/@BladeCoder/exploring-kotlins-hidden-costs-part-3-3bf6e0dbf0a4
Medium
Exploring Kotlin’s hidden costs — Part 1
Lambda expressions and companion objects
А я напоминаю, что уже завтра пройдет очередной Peer Lab - наидушевнейший митапчик для любых разработчиков. Каждого призываю заставить себя проснуться и приехать.
Время: каждую субботу в 11:00.
Место: Starbucks на м. Кузнецкий мост.
Подробности по ссылкам.
#peerlab #meetup
Основной сайт: http://peerlab.community/find/
Peer Lab МСК геоточка: https://goo.gl/maps/mQwk7ckcokS2
Peer Lab МСК: https://news.1rj.ru/str/peerlabmoscow
Peer Lab СПБ: https://news.1rj.ru/str/spbpeerlab
Время: каждую субботу в 11:00.
Место: Starbucks на м. Кузнецкий мост.
Подробности по ссылкам.
#peerlab #meetup
Основной сайт: http://peerlab.community/find/
Peer Lab МСК геоточка: https://goo.gl/maps/mQwk7ckcokS2
Peer Lab МСК: https://news.1rj.ru/str/peerlabmoscow
Peer Lab СПБ: https://news.1rj.ru/str/spbpeerlab
Peer Lab: Developers Helping Developers
Find a Peer Lab
Here's the idea: come join other developers for a peer-based collaborative learning lab. You've got a question? Maybe someone can provide you with some insight. Maybe you can help someone else with their questions. Bring a laptop and some code to work on.
Лови две взаимосвязанных статьи, проливающих немного света на внутренности Android, а точнее - на Zygote и Activity Manager. Я не берусь утверждать, что они очень подробные и тебе все сразу станет понятно, но некоторые подробности в них все же есть и в общих чертах понять, как твои приложения запускаются, они помогут.
#zygote #activitymanager
https://anatomyofandroid.com/2013/10/15/zygote/
https://anatomyofandroid.com/2013/10/16/activity-manager/
#zygote #activitymanager
https://anatomyofandroid.com/2013/10/15/zygote/
https://anatomyofandroid.com/2013/10/16/activity-manager/
Хочу поделиться одной ссылкой, на которую случайно наткнулся. Это визуализация Rx. Конкретнее - RxJS. Идея простая - пишешь некоторый код, получаешь анимацию выполнения своего Observable. Писать можно только на JS, но это по большому счету не проблема. Ещё один недостаток, который я заметил, если использовать разные Scheduler, то картинка рисуется всё равно только для основного. Но можно пожить и без этого.
#rx #sandbox
https://rxviz.com/
#rx #sandbox
https://rxviz.com/
Коротенькая статейка про новые директивы (слово-то какое, но лучше я не придумал) в Gradle plugin 4.0-milestone-1 (если я верно вкурил версию). Наиболее интересные - api и implementation, пришедшие на смену compile. Грубо говоря, api - это как compile, только другая. implementation же означает, что модуль вытарчивает наружу только интерфейсом, что позволяет (по заверениям команды) существенно сократить время сборки.
#gradle
https://jeroenmols.com/blog/2017/06/14/androidstudio3/
#gradle
https://jeroenmols.com/blog/2017/06/14/androidstudio3/
Jeroen Mols
Implementation vs API dependency
Upgrading to Android studio 3.0 territory will make building multi-module projects a lot faster, but it also means a breaking Gradle plugin API change unfortunately.