Skip to main content

Solidity and smart contracts

Solidity Documentation (solidity.readthedocs.io)

Solidity Cheat Sheet And Best Practices (https://github.com/manojpramesh/solidity-cheatsheet)

Building a production-ready Ethereum DApp from idea to final product – Part 1 (https://blog.amr-gawish.com/building-a-production-ready-ethereum-dapp-from-idea-to-final-product-first-section-the-3b9975a226c)

CryptoZombies (interactive. +++++) (cryptozombies.io)

EthereumDev (https://ethereumdev.io/)

EthList: The Crowdsourced Ethereum Reading List (https://github.com/Scanate/EthList)

Coursetro (beginner) (https://coursetro.com/courses/20/Developing-Ethereum-Smart-Contracts-for-Beginners)

CRUD Part 1 (+++++) (https://medium.com/@robhitchens/solidity-crud-part-1-824ffa69509a)

CRUD Part 2 (+++++) (https://medium.com/@robhitchens/solidity-crud-part-2-ed8d8b4f74ec)

Learning Solidity (beginner → advanced. +++++) (https://www.youtube.com/channel/UCaWes1eWQ9TbzA695gl_PtA/videos)

One-To-Many CRUD (+++++) (https://medium.com/@robhitchens/enforcing-referential-integrity-in-ethereum-smart-contracts-a9ab1427ff42)

The Patient Smart Contract – Part 1 (beginner) (https://medium.com/@tejnikumbh/solidity-tutorial-1-the-skeleton-c311f1ea96b7)

Untitled

Вопросы для архитектурных решений:
– В чем суть принятого решения?
– Почему мы приняли такое решение?
– Какие альтернативные решения рассматривались и почему они были отвергнуты?

Audit Quiz

Can you provide examples of experiments carried out in respect of each of your registered core activities? You will need to include the hypothesis the experiment was employed to test, the results and the conclusions reached.
Yes/No

Do you have documents to demonstrate this systematic progression from hypothesis to experiment, observation and analysis, leading to conclusions for each registered core activity.
Yes/No

In order to establish that your experiments for the registered core activity employed the scientific method, please answer the following questions:
Which of the following scientific principles was your project based on (please tick all that apply):
– Scientific Principles
– Engineering Principles
– ‘Know How’

Can you explain how you established that the outcome of each experiment could not be determined in advance? (you will need to comment on the knowledge gap that existed when the registered core activity was undertaken.)
Yes/No

Do you have documents to demonstrate that a knowledge gap existed at the commencement of the project?
Yes/No

Can you explain how the new knowledge is more than a simple progression from what is already known or how it is more than applying existing knowledge in a different context or location?
Yes/No

If software development was claimed as a core activity, can you describe the hypothesis, experimentation, observation, evaluation and conclusions?
Yes/No

Can you provide documentation which support your core and supporting activities? For example, if this involved the development of unique algorithms, the records should show how the company researched and established that no existing algorithms offered a suitable solution and the reasons why.
Yes/No

Agility

Agility – What to do
– find out where you are
– take a small step towards your goal
– adjust your understanding based on what you learned
– repeat

Agility – How to do it
– when faced with two or more alternatives that delivery roughly the same value, take the path that makes future change easier

Untitled

Как бы не набило всем оскомину, специалисту нужен Интересный Проект и Атмосфера. Хотя на самом деле ему нужны Пиздюли, но об этом позже. Интересный Проект и Атмосфера в любом случае нужны. Можно обеспечить их разными способами, главное помнить два армейских принципа: «Чем бы солдат не занимался, лишь бы заебался» и «Куда солдата не целуй, у него везде жопа».

Untitled

С некоторых пор мне стало важно понимать, на что трачу жизнь. Не абстрактное время. Именно жизнь. Дана один раз, разумной сознательной части в ней не так уж много (до 20 лет идиот, после 60 лет боюсь загадывать, итого всего 40 лет). Как работа влияет на меня? Какое развитие она мне даёт? Становлюсь ли более годным специалистом или деградирую? Потому и оценка компаний с этой позиции.

Personal Performance

Когда-то давным давно, когда мы были маленькие и ходили в разного рода походы (офигеть! когда-то взрослому человеку было не страшно отпустить подростка хер знает куда, да еще и с ночевкой). Иногда ходили на долго и на несколько дней. Из еды с собой обычно брали что по проще – круп каких-нибудь. В основном, гречку. А с белками было хуже. И иногда нарывались мы на эффект, который назвали “аминоксилотный жор”. Это когда ты гречкой пузо набил, а жрать все равно хочется. Судя по всему, молодому растущему организму не хватало чего-то такого важного. А организм был запрограммирован – не хватает чего-то важного, жри все вокруг. Но из всего вокруг была только гречка и чего-то важного она не содержала, соответственно ее потребление жор не выключало. Но кроме гречки ничего не было…

И вот сейчас внимание вопрос… Что для тебя гречка и чего в твоем организме не хватает? Тут без активного собственного участия до этого не доковыряешься. Есть масса не очень приятных вопросов:

  • Ты любишь то, что ты делаешь?
  • Время с семьей тебе проводить нравится? Только честно. Всегда и везде или иногда и местами?

Untitled

Когда я говорил, что нельзя платить тысячи долларов тем, кто не знает, чем абстрактный класс отличается от интерфейса, вы продолжали им платить. Теперь у нас все зарабатывают тысячи долларов, но х*р его знает, чем абстрактный класс отличается от интерфейса. (c)

Untitled

Компании, максимум, могут выступить спонсорами ИТ конференции. Еще могут организовать шахматный или футбольный турнир. На большее фантазии хватает редко. (c)

Критерии оценки проблемы

  1. Как часто возникает проблема (количество подобных случаев)?
  2. На какое количество пользователей она влияет (число пользователей)?
  3. Насколько это важно для пользователей (серьёзность проблемы)?
  4. Можно ли продолжать решать такие проблемы вручную (сложность решения)?
  5. Сколько ресурсов потребует автоматизация этого процесса (количество рабочих часов инженеров)?
  6. Сможем ли мы использовать полученный результат для решения других проблем (влияние решения)?

97-things-every-programmer-should-know

No matter how comfortable a schedule looks at the beginning of an iteration, you can’t avoid being under pressure some of the time. If you find yourself having to choose between “doing it right” and “doing it quick” it is often appealing to “do it quick” on the understanding that you’ll come back and fix it later. When you make this promise to yourself, your team, and your customer, you mean it.

Configuration Jenkins Server

Today I’m gonna mention about how can we customize our Jenkins server configuration.

Firstly,opening Jenkins main page by entering http://localhost:8080/jenkins

After I opened the main page I need to sign up to the system by the help of login | sign up button at the upper right corner of the page.

Configure Global Security:

After I sign up to the server I can change my user setting by using this path: Manage Jenkins–>Configure Global Security

In this page,I need to pick Enable Security in order to change security settings

After that there are 2 titles in this page which are Security Realm and Authorization

In Security Realm; Jenkins’ own user Database should be selected.

In Authorization;Matrix-based security should be selected.


MANAGE JENKINS PAGE

We can manage all settings of Jenkins server by using Manage Jenkins–>Configure System

Configure System Page:

In this page, we can determine where Android SDK is,JDK,Ant,Maven,Jenkins Location.I want to start with Android SDK path:

Android Configuration:

I determine where my Android SDK is by giving its path like this:

/Users/servika/Desktop/adt-bundle-mac-x86_64-20140624/sdk(this is your android sdk path)

I recommend to click Automatically install Android components when required under the text box

Java JDK Configuration:

I also set JDK path by giving name and JAVA_HOME text input

As I said before,in order to get path of JAVA_HOME we need to write echo $JAVA_HOME in terminal and we should to see output like this:

/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home(this is where your JDK is located)
after that I need to copy this path to JAVA_HOME text input
if your build type is Ant you can download it from internet as shown there
Maven Configuration:
 
Actually this process is same with JDK configuration so just write echo $M2 to the terminal and we need to copy this path to the text box under the maven project configuration.
 
echo $M2 output should be like this:
 
/Users/servika/Documents/dev/apache-maven-3.2.2/bin