This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
❤2
🔥2
Forwarded from Saidakbar Makhmudkhujaev
UX/UI Designer (Strong Junior)
Biz jamoamizga Strong Junior UX/UI dizayner izlayapmiz.
Talablar:
- Kamida 1+ yil tajriba (freelance, turli hil-projectlar yoki amaliyot ham hisobga olinadi);
- Figma bilan professional ishlash ko‘nikmasi;
- UI/UX asoslari (layout, hierarchy, typography, color theory) ni yaxshi bilish;
- Responsive dizayn va adaptiv interfeyslarni yaratish tajribasi;
- Design system va komponentlardan samarali foydalanish;
- User flow, wireframe, prototype yasashni bilish;
- Portfolio (eng kamida 2–3 ta to‘liq loyihani ko‘rsatadigan).
Qo‘shimcha plus bo‘ladi:
- Web yoki mobil ilovalar dizaynida tajriba;
- UX research asoslarini tushunish (user testing, feedback bilan ishlash);
- Motion/animation (After Effects, ProtoPie, Figma Smart Animate) ko‘nikmalari.
Biz taklif qilamiz:
- Haqiqiy loyihalarda ishlash va tez rivojlanish imkoniyati;
- Senior dizaynerlardan mentorship va feedback;
Oylik: interviewdan so‘ng kelishiladi.
Resume va portfolio:
👉 @doston_inc ga yuboring.
Biz jamoamizga Strong Junior UX/UI dizayner izlayapmiz.
Talablar:
- Kamida 1+ yil tajriba (freelance, turli hil-projectlar yoki amaliyot ham hisobga olinadi);
- Figma bilan professional ishlash ko‘nikmasi;
- UI/UX asoslari (layout, hierarchy, typography, color theory) ni yaxshi bilish;
- Responsive dizayn va adaptiv interfeyslarni yaratish tajribasi;
- Design system va komponentlardan samarali foydalanish;
- User flow, wireframe, prototype yasashni bilish;
- Portfolio (eng kamida 2–3 ta to‘liq loyihani ko‘rsatadigan).
Qo‘shimcha plus bo‘ladi:
- Web yoki mobil ilovalar dizaynida tajriba;
- UX research asoslarini tushunish (user testing, feedback bilan ishlash);
- Motion/animation (After Effects, ProtoPie, Figma Smart Animate) ko‘nikmalari.
Biz taklif qilamiz:
- Haqiqiy loyihalarda ishlash va tez rivojlanish imkoniyati;
- Senior dizaynerlardan mentorship va feedback;
Oylik: interviewdan so‘ng kelishiladi.
Resume va portfolio:
👉 @doston_inc ga yuboring.
👍1
Forwarded from Jakhongir Rakhmonov - IT
Nima o‘rgansam foydasi katta bo‘ladi deb o‘ylanib yurgan bo‘lsangiz mana shu tilni o‘rganishni maslahat bergan bo‘lar edim.
Google kompaniyasi Android Operatsion Tizimini Rust tilida yozishni boshlagandan beri har tomonlama foyda olayotgan ekan.
Ular 2021 chi yilda Android OS da Rust ishlatilayotgani haqida yozishgan edi.
Kechagina yangi blog post yozishibdi: https://security.googleblog.com/2025/11/rust-in-android-move-fast-fix-things.html
Unga ko‘ra Rustda yozilgan qismlari Android’ning C yoki C++ da yozilgan qismlariga nisbatan xotira bilan bog‘liq xavfsizlik xatolari qariyb 1000 baravar kam uchramoqda ekan. Bro...😱
Undan tashqari "rollback rate", ya’ni productionga chiqqan kodni orqaga qaytarish 4 barobar kamayibdi. Qo‘shimchasiga code reviewlar ham 25% ga tezroq o‘tayotgan ekan.
Endi tepadagi maslahatga keladigan bo‘lsak. Buni faqat men emas, Nodir Turakulov ham aytib o‘tgan edi.
Rust dasturlashga bo‘lgan dunyo qarashni sal o‘zgartiradigan til. Ayniqsa Python yoki PHP kabi tildan kelayotgan bo‘lsangiz.
Lekin aytib qo‘yay, keyin ularga qaytib borishni xohlamay qolishingiz mumkin.
@jakhonrakhmonov
Google kompaniyasi Android Operatsion Tizimini Rust tilida yozishni boshlagandan beri har tomonlama foyda olayotgan ekan.
Ular 2021 chi yilda Android OS da Rust ishlatilayotgani haqida yozishgan edi.
Kechagina yangi blog post yozishibdi: https://security.googleblog.com/2025/11/rust-in-android-move-fast-fix-things.html
Unga ko‘ra Rustda yozilgan qismlari Android’ning C yoki C++ da yozilgan qismlariga nisbatan xotira bilan bog‘liq xavfsizlik xatolari qariyb 1000 baravar kam uchramoqda ekan. Bro...😱
Undan tashqari "rollback rate", ya’ni productionga chiqqan kodni orqaga qaytarish 4 barobar kamayibdi. Qo‘shimchasiga code reviewlar ham 25% ga tezroq o‘tayotgan ekan.
Endi tepadagi maslahatga keladigan bo‘lsak. Buni faqat men emas, Nodir Turakulov ham aytib o‘tgan edi.
Rust dasturlashga bo‘lgan dunyo qarashni sal o‘zgartiradigan til. Ayniqsa Python yoki PHP kabi tildan kelayotgan bo‘lsangiz.
Lekin aytib qo‘yay, keyin ularga qaytib borishni xohlamay qolishingiz mumkin.
@jakhonrakhmonov
This media is not supported in your browser
VIEW IN TELEGRAM
FlutterBro | Samandar Takhirov
Video message
Ancha bo’gan ekan ruchka bilan biron joyga kop narsa yozmaganimga. Sababi ko’p ishlarini computerda yozib e-imzo orqali imzolab qo’yaverardim.
Bu esa 2025-yil sarhisobi va 2026-yilga planni blaknotega yozishga qaror qildim.
@flutterbro1
Bu esa 2025-yil sarhisobi va 2026-yilga planni blaknotega yozishga qaror qildim.
@flutterbro1
👍2🔥2❤1👏1
Forwarded from Janob Panda
"15 million fuqaro ma'lumotlari" ...
Sardor aka:
"PHP da qilish kerak edi."
Jahongir aka:
"Rust da qilish kerak edi."
Men:
"Somon 35 ming"
@mukhammadkarim_tukhtaboev
Sardor aka:
"PHP da qilish kerak edi."
Jahongir aka:
"Rust da qilish kerak edi."
Men:
"Somon 35 ming"
@mukhammadkarim_tukhtaboev
Pavel Durov: Telegram ўз тарихида учинчи томонларга хабар алмашиш маълумотларидан НОЛ байт ҳам ошкор қилмаган. Ва биз буни қилишни бошлагандан кўра, бутун лойиҳани ёпишни афзал кўрамиз.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Forwarded from Pavel Durov (Pavel Durov)
Russia is restricting access to Telegram in an attempt to force its citizens to switch to a state-controlled app built for surveillance and political censorship.
8 years ago, Iran tried the same strategy — and failed. It banned Telegram on made-up pretexts, trying to force people onto a state-run alternative.
Despite the ban, most Iranians still use Telegram (bypassing censorship) and prefer it to surveilled apps.
Restricting citizens’ freedom is never the right answer. Telegram stands for freedom of speech and privacy, no matter the pressure.
8 years ago, Iran tried the same strategy — and failed. It banned Telegram on made-up pretexts, trying to force people onto a state-run alternative.
Despite the ban, most Iranians still use Telegram (bypassing censorship) and prefer it to surveilled apps.
Restricting citizens’ freedom is never the right answer. Telegram stands for freedom of speech and privacy, no matter the pressure.
Forwarded from Fazliddin │ Blog
#claudecode CLI'ni setup qilish
1. The Memory (CLAUDE.md)
CC'da
/init command yozsangiz Claude o'zi CLAUDE.md file'ni create qilib beradi. Lekin man buni ichiga o'zimga moslashtirib customization qilganman.Nega bu file muhim?
Project root'dagi CLAUDE.md har bir session boshlanganida context'ga yuklanadi. Ya'ni bu file qancha katta bo'lsa, har safar shuncha ko'p token sarflanadi. Shu sababli uni ~200 qatordan kichik bo'lgani yaxshi.
Yana bir muhim qoida - "Write clean code" kabi abstract gaplar yozmang. CC sizning "clean code" deganda nimani nazarda tutayotganingizni bilmaydi. Buning o'rniga aniq va measurable qoidalar yozing:
• Do not use dynamic data type, always use Object?
• Functions over ~40 lines need a comment explaining intent.
CLAUDE.md ichiga asosan quyidagilarni yozganman:
- Project Overview
- Behavioral guidelines
- Common Commands
- Architecture
- Guardrails
- Before opening a PR
Project Overview
Project haqida 3-4 qatorlik qisqa description. Hech qanday architectural detail emas, faqat "bu project nima qiladi" degan savolga javob.
Behavioral guidelines
Bu section LLM'larda keng tarqalgan xatolarni kamaytirish uchun. Masalan: assumption qilmaslik, kerakmas refactor qilmaslik va hokazo. Buning uchun andrej-karpathy-skills'dan foydalanganman.
Common commands
Project'da tez-tez ishlatiladigan commandlar. Man projectda Makefile'dan foydalanaman, shuning uchun shularni yozganman:
• Get dependencies: make get
• Full code generation: make gen
(build_runner + flutter_gen + l10n + format + clean + get)
• ...
Architecture
Project'ning asosiy architectural choice'lari — state management, routing, networking, database uchun qaysi package ishlatilgan. To'liq architecture ARCHITECTURE.md'da, bu yerda faqat key package'larni yozgan yaxshi:
• State management: control package
• Routing: elixir package (custom Navigator 2.0 wrapper)
• Networking: http (HTTP client + middleware) + ws (WebSocket)
• Database: Drift (SQLite)
schema: lib/src/common/database/app_database.dart
• ...
Guardrails
Bu CLAUDE.md'ning eng muhim qismi. Bu yerga Claude hech qachon buzmasligi kerak bo'lgan strict qoidalar yoziladi. Misol uchun:
• If editing lib/** the rules in .claude/rules/flutter.md are loaded automatically by glob. Read them before planning changes.
• ...
Muhim qoida: har bir guardrail'ni qo'shishdan oldin o'zingizdan so'rang "Claude bu rule'ni buzganmi?" Agar buzmagan bo'lsa, hozircha bu rule kerakmas. Har bir qator token sarflaydi, shuning uchun faqat real tajribadan kelib chiqib yozgan yaxshi.
Before opening a PR
PR ochishdan oldin Claude bajarishi kerak bo'lgan oxirgi checklist:
• make format clean (or auto-applied by PostToolUse hook)
• fvm flutter analyze clean
• fvm flutter test passing (if tests exist for the touched area)
• Use the pr-checklist skill in .claude/skills/ for full sequence
O'zim ishlatadigan CLAUDE.md file.
Part 1/7
Forwarded from Fazliddin │ Blog
#claudecode CLI'ni setup qilish
2. Rules
Rules nima?
Rules — bu .claude/rules/ directory'dagi markdown file'lar. Har bir file YAML frontmatter format'dan foydalanadi va project uchun aniq qoidalarni saqlash uchun ishlatiladi.
Masalan:
---
name: flutter-rules
description: Project-wide conventions that apply to every package in lib/
globs:
- "lib/**"
---
# Flutter rules
## Code style
- Keep widget files under ~250 lines. Extract subwidgets into the feature's widget/ directory; do not extend.
• dynamic is banned by avoid_annotating_with_dynamic. Use Object? if the value is truly heterogeneous.
- Public functions over ~40 lines need a comment explaining intent.
- ...
YAML frontmatter'da uchta muhim field bor:
1. name - rule file'ning idenfikatori
2. description - Claude session boshlanganida hamma rule file'larning description'larini ko'radi. Shu sababli description aniq, tushunarli bo'lishi kerak
3. globs - eng muhim qism. Bu yerda qaysi file path'lar uchun bu rule yuklanishi yoziladi. "lib/**" degani lib/ directory'dagi har qanday file uchun ushbu rule qo'llaniladi.
O'zim ishlatadigan rule filelar.
Part 2/7
Forwarded from Fazliddin │ Blog
#claudecode CLI'ni setup qilish
3. Skills
Skills nima?
Skills - bu .claude/skills/ directory'dagi packaged workflow'lar. Har bir skill o'z papkasida SKILL.md file'i bilan yashaydi va aniq bir vazifani bajarish uchun yo'riqnoma sifatida ishlaydi.
Rules'dan asosiy farq, rules - Claude eslab turishi kerak bo'lgan qoidalar. Skills - Claude bajarishi kerak bo'lgan ishlar.
Misol uchun:
Backend qaytargan JSON'ga data class yozish uchun, har bir model bir xil pattern bo'lishi kerak:
@immutable final class
defensive fromJson
ValueGetter-based copyWith
manual ==, hashCode, toString
Har safar backend'dan yangi response kelganida bu boilerplate'ni Claude'ga yozib tushintirish kerak bo'ladi va biror detailni unutib qolish ehtimoli bor. Skill bilan bir marta yoziladi, keyin "create a model for this JSON" desangiz bo'ldi.
Skill uchun misol:
---
name: dart-model-from-json
description: Generate an immutable Dart data class from a JSON sample. Use when the user provides JSON and asks for a model, or says "create a model for this response".
allowed-tools: Read, Write, Edit
---
# dart-model-from-json
## Conventions
Every generated model must follow this structure:
1. `@immutable final class ModelName` — no inheritance.
2. `const` constructor with `required` named params for every field.
3. `factory fromJson(Map<String, Object?> json)` with defensive parsing:
- Strings: `json['key']?.toString() ?? ''`
- Ints: `int.tryParse(json['key']?.toString() ?? '') ?? 0`
- DateTime: `DateTime.tryParse(...)?.toLocal()`
- Nested maps: use `switch` expression to type-check.
4. `copyWith` uses `ValueGetter<T>?` so callers can pass null explicitly.
5. Manual `==`, `hashCode`, `toString`. Do not use freezed.
## Do not
- Do not use freezed, json_serializable, or build_runner.
- Do not throw from fromJson — return defaults.
- Do not skip `?.toLocal()` on DateTime fields.
YAML frontmatter'da ikkita muhim field bor:
1. description — Claude shu description'dan tushunadi qachon skill'ni ishga tushirishni. Aniq trigger phrase yozish kerak ("create a model for this JSON").
2. allowed-tools — security layer. Skill faqat shu list'dagi tool'larni ishlata oladi.
O'zim ishlatadigan skillar.
Part 3/7
Forwarded from Fazliddin │ Blog
#claudecode CLI'ni setup qilish
4. Agents
Agents nima?
Agents - bu
.claude/agents/ directory'dagi markdown file'lar. Har bir agent o'z alohida context window'ida, o'z system prompt'i va o'z tool restriction'lari bilan ishlaydi. Asosiy session'ingiz ularga vazifa beradi, ular natijani qaytaradi. Agents - alohida session sifatida ishga tushiriladigan worker.Nima uchun bu muhim?
Misol uchun, siz feature ustida ishlayapsiz va Claude'dan "barcha
LoginBloc ishlatadigan joylarni topib ber" deb so'raysiz. Claude grep'lab qidirishni boshlaydi, ~10 ta file ochadi, hammasini context'ga yuklaydi, keyin sizga 2-3 qatorlik javob beradi.Lekin shu ~10 ta file endi sizning session'ingizning context'ida qoladi. Keyingi vazifalar uchun ham yuklab turiladi va bunga token sarflaydi. Bu context pollution deyiladi.
Agents bu muammoni hal qiladi. Agent o'z alohida context'ida ishlaydi, vazifani bajaradi, va sizga faqat summary qaytaradi. ~10 ta file sizning context'ingizga umuman kirmaydi.
---
name: code-reviewer
description: Reviews a diff for convention compliance against `.claude/rules/`, generated-file leakage, and the project's hand-written state-equality pattern. Use proactively after any non-trivial change to lib/** or data/** before opening a PR. Read-only; cannot modify code.
tools: Read, Glob, Grep, Bash(git diff:*), Bash(git status:*), Bash(git log:*), Bash(fvm flutter analyze:*)
model: sonnet
---
You are a senior code reviewer for this repository.
Review checklist, in order:
1. Convention compliance. Read `.claude/rules/` files matching the changed paths. Check the diff against them. Quote the specific rule being violated.
2. Test coverage. Every changed public function needs at least one test path. Flag missing coverage.
3. Generated files. No manual edits to `*.g.dart`, `*.freezed.dart`, or `*.gen.dart`.
4. Security. No hardcoded secrets, no leftover `debugPrint`, no unrestricted `dynamic` returns.
Output format:
- "Verdict": pass | needs-changes | blocker
- Bullet list of findings, each with file:line and a one-line fix
- Do not suggest unrelated refactors. Stay within the diff.
YAML frontmatter'da uchta muhim field bor:
1. name - agent'ning idenfikatori
2. description - Claude qachon ushbu agent'ga delegate qilishni description orqali tushunadi. "Use proactively after..." kabi aniq trigger yozish kerak.
3. tools - agent qaysi tool'larni ishlata olishi. Bu yerda read-only restriction muhim -
code-reviewer agent code'ni o'zgartira olmaydi, faqat o'qib analiz qila oladi.4. model - agent'ni vazifasiga qarab Claude model tanlash kerak. Misol uchun code review qilish uchun Sonnet yetarli va u Opusdan arzonroq.
O'zim ishlatadigan sub-agentlar.
Part 4/7