Giter Club home page Giter Club logo

exercises-clojure's Introduction

github action status

hexlet-basics

Setup

Requirements

  • docker
  • docker compose V2
  • ruby >= 3.0.0
  • make

Steps

Add to /etc/hosts: 127.0.0.1 code-basics.test

Clone project

Some lsp servers are fully workable only when the root dir is the same inside and outside the container. That is why we set WORKDIR to /opt/projects/hexlet-basics. So, if it is possible, clone this project to that directory.

Prepare pulling image locally

  1. Open ./app/lib/docker_exercise_api.rb
  2. Find def self.download(lang_name) line
  3. Comment or remove ok = system("docker pull #{image_name(lang_name)}") line
  4. Add new line ok = true below

Run

make project-setup
make compose # run server
# open code-basics.test

make app-test # run tests

# load language
# make app-language-load L=php

make app-db-prepare # sometimes, when fixtures were changed

To manage loaded languages and set other settings, you need to sign in (login: [email protected], password: password)

Production

Kube access

# make k8s-macos-setup or make k8s-ubuntu-setup
export DIGITALOCEAN_ACCESS_TOKEN=<your token>
make local-cluster-setup

Deploy

  • Create new tag via command:

    make next-tag
  • Wait notification about ready tag in Slack channel #sideprojects-code-auto or wait Github Actions

  • Change version in k8s/hb-app-chart/values.yaml and then:

    make -C k8s helm-upgrade-app

Troubleshooting

I couldn't commit my changes

  • try to reinitialize your fork repository Read more
  • try to add RUN git config --global --add safe.directory ${PROJECT_ROOT} line after WORKDIR ${PROJECT_ROOT} in Dockerfile Read more

Hexlet Ltd. logo

This repository is created and maintained by the team and the community of Hexlet, an educational project. Read more about Hexlet.

See most active contributors on hexlet-friends.

exercises-clojure's People

Contributors

aleksey94dan avatar amshkv avatar annikoff avatar ashikov avatar aslanav avatar bakhoraliev avatar burenkov-anton avatar corsicanec82 avatar dosbol avatar dzencot avatar ekochetkov avatar emp7yhead avatar fey avatar helenone avatar ilyanazarkov avatar konclave avatar malcom1986 avatar medved-nsk avatar mikhaylov-ya avatar mirsait avatar mokevnin avatar ola-9 avatar sgmdlt avatar solar05 avatar sseezov avatar ssssank avatar unmyke avatar vaganov-vadim avatar zhabinka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

exercises-clojure's Issues

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

В примере

(into [] xf (range 100))
[2 4 6 8 10]

range должен быть до 100 согласно определению функции
(def xf (comp (filter odd?) (map inc)))

Однако, выше есть следующее определение xf, при котором пример корректен

(def xf
  (comp
    (filter odd?)
    (map inc)
    (take 5)))

Необходимо или исправить пример, или устранить неоднозначность в определении функции.

Заменить нижнее подчеркивание на астериксы для форматирования курсивного текста

По стайлгайду используем * для форматирования курсива
Пример, где андерскор щас

_Вот так разработчики на Ruby узнали почему в их языке предикаты выглядят как вопросы :)_
Теперь напишем предикат, определяющий четность числа. Для этого нам понадобится функция `rem`, которая вычисляет остаток от деления.

Оформление текстов - https://www.notion.so/hexlet/57fd9c773cc04c6da2cc105646eab129

Улучшить вывод тестов

Сейчас тесты не очень информативны в некоторых упражнениях. Пример с
https://github.com/hexlet-basics/exercises-clojure/blob/main/modules/20-logic/10-bool-type/description.ru.yml

Testing test-helper

FAIL in (solution-test) (/exercises-clojure/modules/20-logic/10-bool-type/../../../src/test-helper.clj:16)
expected: (= (apply solution sample) result)
  actual: (not (= true false))

Ran 1 tests containing 4 assertions.
1 failures, 0 errors.

Непонятно на каком кейсе упало.
Мб либа типа https://github.com/erdos/erdos.assert поможет (в других языках используется power assert по возможности)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.