Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save srghma/549c33c66b34cc907f841abfcc968326 to your computer and use it in GitHub Desktop.
Save srghma/549c33c66b34cc907f841abfcc968326 to your computer and use it in GitHub Desktop.
как стать программистом

как выучить английский

  1. anki - https://play.google.com/store/apps/details?id=com.ichi2.anki&hl=en
  2. abbyy - https://4pda.ru/forum/index.php?showtopic=274036
  3. https://habr.com/ru/post/103936/
  4. https://habr.com/ru/post/367833/
  5. мой скрипт (если сможешь поставить 😄) https://github.com/srghma/lingualeo2anki/blob/master/README.md

как выучить linux

  1. попробуй ubuntu
  2. снеси убунту, поставь archlinux по https://wiki.archlinux.org/index.php/installation_guide , потрать месяц жизни но будешь знать о линуксе все
  3. снеси archlinux, поставь nixos потому что nix - это будущее https://github.com/srghma/dotfiles

почему linux лучше mac

  1. docker не нативен на mac
  2. https://youtu.be/NbVOEKKcLgU
  3. для программ которых нет на линуксе у меня стоит винда на доубл-буте

как освоить слепой набор, почему ты должен использовать vim (лично я использую связку i3wm+tmux+vim для того чтоб писать, иногда vscode чтобы пройтись по проекту/посерчить)

  1. https://www.youtube.com/watch?v=YirgDp-zlkM (лучше посмотреть все его видео)
  2. https://github.com/srghma/library/blob/master/other/vim/Practical%20Vim.pdf
  3. https://pragprog.com/book/bhtmux2/tmux-2

как выучить css

  1. сделай тестовое задание https://www.youtube.com/watch?v=AKj0W1x57Q8

как стать rails разработчиком

  1. http://rubygarage.github.io/ сделай задания, https://rubygarage.com.ua/courses#course-form подай заявление

Попробуй сделать его на всех фреймворках: react, angular, ember, ...purescript-halogen, ...

оригинанальное задание на курсы звучало так

Ниже вы найдете тестовое задание на позицию RoR developer в нашей компании. 

Результат выполненного задания должен быть такой, который вы готовы показать конечному заказчику, т.е. как конечный продукт. Промежуточные или не доделанные варианты лучше даже не показывать. Будем обращать внимание на качество кода, авто-тесты и на то, как работает само приложение. Код необходимо будет выложить на Github, а само приложение на Heroku (или на какой то свой сервер).

Если будут какие вопросы смело задавайте.

Удачи!

Task manager

I'm a person who passionate about own productivity. I want to manage my tasks and projects more effectively. I need a simple tool that supports me in controlling my task-flow.

Functional requirements

● I want to be able to sign in/sign up by email/password or Facebook

● I want to be able to create/update/delete projects

● I want to be able to add tasks to my project

● I want to be able to update/delete tasks

● I want to be able to prioritise tasks into a project

● I want to be able to choose deadline for my task

● I want to be able to mark a task as 'done'

● I want to be able to add coments to my tasks

● I want to be able to delete coments

● I want to be able to attache files to coments

 

Technical requirements

● It should be a WEB application

 ○ For the client side must be used: HTML5, CSS3, Twitter Bootstrap, JavaScript, AngularJS, jQuery.

 ○ For server side Ruby on Rails.

● It should have client side and server side validation.

● It should look like on screens (see attached file ‘rg_test_task_grid.png’).

● It should work like one page WEB application and should use AJAX technology, load and submit data without reloading a page.

● It should have user authentication solution and a user should only have access to their own projects and tasks (Devise, Cancancan).

● It should have automated tests for all functionality (models - RSpec, controllers - RSpec, acceptance/functional tests - RSpec + Capybara).

https://imgur.com/MCjPuJq

я сделал это задание несколькими способами:

  • rails рендерит страницу c <div data-my-react-app-initialization-data=JSON_DATA_FOR_TODO_LIST />, react рендерит страницу, все на одном сервере
  • rails api (active_serializer, но лучше json-api или open-api) на http://api.myapp.com + angular клиент на http://client.myapp.com

можно еще фронтенд с помощью jquery сделать, отличие будет в том что jquery будет мутировать страницу, она не будет рендериться


other task is book store from rubygarage - https://drive.google.com/drive/folders/0By_UGttcn6bgUGFEbV9wSkNpOHM?resourcekey=0-dhejHRqVkwm2AAgUi4xkCQ&usp=sharing OR (backup) https://drive.google.com/file/d/1zbjuXVsyByVcDragmqTk_71RLmIcG-mZ/view?usp=sharing

способов писать приложения куча, советую читать код больших проектов

  1. https://rubygarage.org/blog/how-to-interview-your-ruby-on-rails-developer
  2. https://github.com/srghma/library/blob/master/languages/ruby/Pragmatic.Bookshelf.Metaprogramming.Ruby.2nd.Edition.Aug.2014.ISBN.1941222129.pdf
  3. не бойся списывать, читай код больших проектов (gitlab, https://gist.github.com/srghma/3fe5a5b0789001cf1c5792f6d7fc1bac)

книги

  1. 14 languages - https://github.com/srghma/library/tree/master/seven%20in%20seven
  2. tannenbaum "computer structre" - как работают компьютеры (опционально)
  3. https://github.com/getify/You-Dont-Know-JS

лучший способ писать веб приложения который я знаю (WIP)

frontent:
- nextjs 
- relay (I have tried apollo and didnt like it - apollo force me to handle changes to store myself. Example: [to update some entity in store I should merge new and old entities by hand](https://github.com/srghma/functional-nextjs-typescript-apollo-boilerplate/blob/master/app/containers/PostList/apollo.ts#L38-L50), whereas relay updates store itself by using UUID on all entities)
- redux
- redux-form
- redux-logic/redux-observable
- recompose
- ramda

backend
- https://github.com/postgraphql/postgraphql/
- https://github.com/golang-migrate/migrate
- postgres notify/listen + https://www.rabbitmq.com/ to send emails and execute async code

tests:
- pgtap
- mocha

glue:
- yarn2nix
- prod - nixos services
- ci - docker + https://gitlab.com/arianvp/nixos-gitlab-runner
- local orchestration - docker + https://github.com/hercules-ci/arion/

TODO: research purescript + purescript-react + purescript-mui OR haskell + reflex framework

другое

  1. хабр как стать программистом
  2. https://github.com/tastejs/todomvc
  3. https://github.com/gothinkster/realworld
  4. разрабатывай через tdd (!!!)
  5. https://m.habr.com/ru/post/210288/ знать нужно но я не использую тк стараюсь делать все в функциональном стиле
  6. https://github.com/MostlyAdequate/mostly-adequate-guide использую все кроме монад в js
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment