Skip to content

Commit e41d9d2

Browse files
authored
Merge branch 'develop' into patch-7
2 parents c9e8ed4 + 8b4ce05 commit e41d9d2

10 files changed

Lines changed: 652 additions & 11 deletions

data/c-sharp.json

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,95 @@
167167
"code": "dict.Remove(key)"
168168
}
169169
]
170+
},
171+
{
172+
"title": "স্ট্রিং অপারেশন",
173+
"items": [{
174+
"definition": "ডিক্লারেশন",
175+
"code": " string str = \"Hello\"; "
176+
},
177+
{
178+
"definition": "স্ট্রিং-এর উপাদান সংখ্যা",
179+
"code": "str.Length;"
180+
},
181+
{
182+
"definition": "সব গুলো ক্যারেক্টার কে ছোট হাতের অক্ষরে কনভার্ট করা",
183+
"code": "str.ToLower();"
184+
},
185+
{
186+
"definition": "সব গুলো ক্যারেক্টার কে বড় হাতের অক্ষরে কনভার্ট করা",
187+
"code": "str.ToUpper();"
188+
},
189+
{
190+
"definition": "দুটি স্ট্রিং জোরা দেওয়া",
191+
"code": "string.Concat(str, \"World\");"
192+
},
193+
{
194+
"definition": "একটি স্ট্রিং, অপর স্ট্রিং থেকে ছোট, বড় নাকি সমান তুলনা করা",
195+
"code": "string.Compare(str1,str2);"
196+
},
197+
{
198+
"definition": "দুটি স্ট্রিং ইকুয়্যাল কিনা চেক করা",
199+
"code": "string.Equals(str, str2)"
200+
},
201+
{
202+
"definition": "একটি স্ট্রিং এর মধ্যে নির্দিষ্ট সাব-স্ট্রিং আছে কিনা চেক করা",
203+
"code": "str.Contains(\"He\");"
204+
},
205+
{
206+
"definition": "স্ট্রিং কপি করা",
207+
"code": "string str2 = string.Copy(str);"
208+
},
209+
{
210+
"definition": "একটি স্ট্রিং নির্দিষ্ট সাব-স্ট্রিং দিয়ে শুরু হয়েছে কিনা চেক করা",
211+
"code": "str.StartsWith(\"He\");"
212+
},
213+
{
214+
"definition": "একটি স্ট্রিং নির্দিষ্ট সাব-স্ট্রিং দিয়ে শেষ হয়েছে কিনা চেক করা",
215+
"code": "str.EndsWith(\"lo\");"
216+
},
217+
{
218+
"definition": "নির্দিষ্ট চিহ্ন দিয়ে সব গুলো এলিমেন্ট জোরা লাগানো",
219+
"code": "string[] sArray = { \"Hello\", \"World\", \"from\", \"C#\" };\nstring str = string.Join('-', sArray);"
220+
},
221+
{
222+
"definition": "নির্দিষ্ট ইন্ডেক্সের পর বাকি ক্যারেক্টার গুলো বাদ দেওয়া",
223+
"code": "str.Remove(2);"
224+
},
225+
{
226+
"definition": "একটি স্ট্রিং নির্দিষ্ট ক্যারেক্টার অনুযায়ী স্প্লিট করা",
227+
"code": "line.Split(' ');"
228+
},
229+
{
230+
"definition": "একটি নির্দিষ্ট ক্যারেক্টার প্রথম কতো নাম্বার ইন্ডেক্সে অবস্থিত বের করা",
231+
"code": "str.IndexOf('e');"
232+
},
233+
{
234+
"definition": "একটি নির্দিষ্ট ক্যারেক্টার সর্বশেষ কতো নাম্বার ইন্ডেক্সে অবস্থিত বের করা",
235+
"code": "str.IndexOf('l');"
236+
},
237+
238+
{
239+
"definition": "নির্দিষ্ট ক্যারেক্টার রিপ্লেস করা",
240+
"code": " string x = \"F#\";\nstring y = x.Replace('F', 'C'); "
241+
},
242+
{
243+
"definition": "সামনের এবং পিছনের সব স্পেস মুছে ফেলা",
244+
"code": "str.Trim();"
245+
},
246+
{
247+
"definition": "শুধু সামনের সব স্পেস মুছে ফেলা",
248+
"code": "str.TrimStart();"
249+
},
250+
{
251+
"definition": "শুধু পিছনের সব স্পেস মুছে ফেলা",
252+
"code": "str.TrimEnd();"
253+
},
254+
{
255+
"definition": "সামনে এবং পিছন থেকে একটি নির্দিষ্ট ক্যারেক্টার মুছে ফেলা",
256+
"code": "string line = \"**Hello World**\";\nConsole.WriteLine(line.Trim('*'));"
257+
}
258+
]
170259
}
171260
]
172261
}

data/django.json

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
"definition": "প্রোজেক্ট ডিরেক্টরীতে নেভিগেইট করা",
1515
"code": "cd <directory_name>"
1616
},
17+
{
18+
"definition": "প্রোজেক্ট ডিরেক্টরীতে ভার্চুয়াল ইনভাইরোনমেন্ট ক্রিয়েট করা ",
19+
"code": "mkdir <.venv>"
20+
},
1721
{
1822
"definition": "pipenv ইনিশিয়ালাইজ করা",
1923
"code": "pipenv install"
@@ -194,6 +198,12 @@
194198
"items": [{
195199
"definition": "টেমপ্লেট এক্সটেন্ড করা",
196200
"code": "{%extends '<html file name>'%}"
201+
},
202+
{
203+
"definition": "টেমপ্লেট ট্যাগ এক্সটেন্ড করার জন্য (কোড রিডিউস করার জন্য ) ",
204+
"code": "{% block content %} ... {% endblock %} or {% block content %} ... {% endblock content %}"
205+
206+
197207
},
198208
{
199209
"definition": "টেমপ্লেট অন্তর্ভুক্ত করা",
@@ -214,7 +224,51 @@
214224
{
215225
"definition": "টেমপ্লেট এর ভেতরে লুপ তৈরি",
216226
"code": "{%for i in <context data name>%} ... {%endfor%}"
227+
},
228+
{
229+
"definition":"ট্যাগ তৈরী করা",
230+
"code":"{% load <tag_or_filter_lib> %}"
231+
},
232+
{
233+
"definition":"ফিল্টার ব্যাবহার করা ",
234+
"code":"{% filter <filter>[|<filter>...] %}"
235+
},
236+
{
237+
"definition":"স্ট্যাটিক ফাইল লোড করা",
238+
"code": "{% load static \"custom.css\" %}"
239+
},
240+
{
241+
"definition":"টেম্পলেট এ ভেরিয়েবল ব্যাবহার করা",
242+
"code":"{{ variable_name }}"
243+
},
244+
{
245+
"definition" :"url লিঙ্ক করা ",
246+
"code":"{% url \"some-other-page\" %}"
247+
},
248+
{
249+
"definition":"url এর ভিতরে ভেরিয়েবল পাস করা",
250+
"code": "{% url \"\"blog-view\"\" blog.id %}"
251+
252+
},
253+
{
254+
"definition":"উক্ত '|' সিম্বল এর মাধ্যমে ফিল্টার ব্যাবহার করা",
255+
"code":"{{ variable_name | filter_name }}"
256+
},
257+
{
258+
"definition":"উক্ত '|' সিম্বল এর মাধ্যমে ফিল্টার আর্গুমেন্ট পাস করা",
259+
"code":"{{ variable_name | filter_name:\"argument\"}}"
260+
},
261+
{
262+
"definition":"উক্ত '|' সিম্বল এর মাধ্যমে ডিকশনারি শর্ট করা",
263+
"code":"{{ dictionary_name | dictsort:\"key_name\"}}"
264+
265+
},
266+
{
267+
"definition":"উক্ত '|' সিম্বল এর মাধ্যমে ডাটাটাইপ ফিল্টার করা",
268+
"code":"{{ date_time | time\"H\": \"i\" }}"
269+
217270
}
271+
218272
]
219273
}
220274
]

data/docker.json

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,16 @@
151151
"code": "docker-compose down"
152152
},
153153
{
154-
"definition": "নেটওয়ার্ক ভলিউম সহ সবকিছু remove করতে ",
154+
"definition": "নেটওয়ার্ক ভলিউম সহ সবকিছু remove করতে",
155155
"code": "docker-compose down --rmi all --volumes"
156+
},
157+
{
158+
"definition": "ডকার কম্পোজ বিল্ড করা যাতে কোন cache না থাকে",
159+
"code": "docker-compose build --no-cache"
160+
},
161+
{
162+
"definition": "ডকার কম্পোজ এর অরফান কন্টেইনার রিমুভ করা ",
163+
"code": "docker-compose up --remove-orphans"
156164
}
157165
]
158166
},
@@ -181,6 +189,14 @@
181189
{
182190
"definition": "অব্যবহৃত সকল ডকার ভলিউম রিমুভ করতে",
183191
"code": "docker system prune --volumes"
192+
},
193+
{
194+
"definition": "কন্টেইনার এর লগ দেখতে",
195+
"code": "docker logs <container_id>"
196+
},
197+
{
198+
"definition": "কন্টেইনার ইন্সপেক্ট করে দেখতে",
199+
"code": "docker inspect <container_id>"
184200
}
185201
]
186202
},

data/draft/flutter.md

Lines changed: 166 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Flutter গুগলের তৈরি একটি ফ্রেমওয়ার
2626
- [Animation](#animation)
2727
- [Responsive Header](#responsive-header)
2828
- [Snackbar](#snackbar)
29+
- [Carousel](#carousel)
2930

3031

3132
## Flutter CLI tools
@@ -107,7 +108,6 @@ class MyApp extends StatelessWidget {
107108
}
108109
}
109110
```
110-
```
111111
## Hello world
112112

113113
```dart
@@ -1063,3 +1063,168 @@ List<Widget> indicators(imagesLength, currentIndex) {
10631063
);
10641064
});
10651065
}
1066+
```
1067+
## Multiselect with Checkboxes
1068+
```dart
1069+
// main.dart
1070+
import 'package:flutter/material.dart';
1071+
1072+
void main() {
1073+
runApp(const MyApp());
1074+
}
1075+
1076+
class MyApp extends StatelessWidget {
1077+
const MyApp({Key? key}) : super(key: key);
1078+
1079+
@override
1080+
Widget build(BuildContext context) {
1081+
return MaterialApp(
1082+
debugShowCheckedModeBanner: false,
1083+
title: 'KindaCode.com',
1084+
theme: ThemeData(
1085+
// enable Material 3
1086+
useMaterial3: true,
1087+
primarySwatch: Colors.indigo,
1088+
),
1089+
home: const HomePage(),
1090+
);
1091+
}
1092+
}
1093+
1094+
// Multi Select widget
1095+
// This widget is reusable
1096+
class MultiSelect extends StatefulWidget {
1097+
final List<String> items;
1098+
const MultiSelect({Key? key, required this.items}) : super(key: key);
1099+
1100+
@override
1101+
State<StatefulWidget> createState() => _MultiSelectState();
1102+
}
1103+
1104+
class _MultiSelectState extends State<MultiSelect> {
1105+
// this variable holds the selected items
1106+
final List<String> _selectedItems = [];
1107+
1108+
// This function is triggered when a checkbox is checked or unchecked
1109+
void _itemChange(String itemValue, bool isSelected) {
1110+
setState(() {
1111+
if (isSelected) {
1112+
_selectedItems.add(itemValue);
1113+
} else {
1114+
_selectedItems.remove(itemValue);
1115+
}
1116+
});
1117+
}
1118+
1119+
// this function is called when the Cancel button is pressed
1120+
void _cancel() {
1121+
Navigator.pop(context);
1122+
}
1123+
1124+
// this function is called when the Submit button is tapped
1125+
void _submit() {
1126+
Navigator.pop(context, _selectedItems);
1127+
}
1128+
1129+
@override
1130+
Widget build(BuildContext context) {
1131+
return AlertDialog(
1132+
title: const Text('Select Topics'),
1133+
content: SingleChildScrollView(
1134+
child: ListBody(
1135+
children: widget.items
1136+
.map((item) => CheckboxListTile(
1137+
value: _selectedItems.contains(item),
1138+
title: Text(item),
1139+
controlAffinity: ListTileControlAffinity.leading,
1140+
onChanged: (isChecked) => _itemChange(item, isChecked!),
1141+
))
1142+
.toList(),
1143+
),
1144+
),
1145+
actions: [
1146+
TextButton(
1147+
onPressed: _cancel,
1148+
child: const Text('Cancel'),
1149+
),
1150+
ElevatedButton(
1151+
onPressed: _submit,
1152+
child: const Text('Submit'),
1153+
),
1154+
],
1155+
);
1156+
}
1157+
}
1158+
1159+
// Implement a multi select on the Home screen
1160+
class HomePage extends StatefulWidget {
1161+
const HomePage({Key? key}) : super(key: key);
1162+
1163+
@override
1164+
State<HomePage> createState() => _HomePageState();
1165+
}
1166+
1167+
class _HomePageState extends State<HomePage> {
1168+
List<String> _selectedItems = [];
1169+
1170+
void _showMultiSelect() async {
1171+
// a list of selectable items
1172+
// these items can be hard-coded or dynamically fetched from a database/API
1173+
final List<String> items = [
1174+
'Flutter',
1175+
'Node.js',
1176+
'React Native',
1177+
'Java',
1178+
'Docker',
1179+
'MySQL'
1180+
];
1181+
1182+
final List<String>? results = await showDialog(
1183+
context: context,
1184+
builder: (BuildContext context) {
1185+
return MultiSelect(items: items);
1186+
},
1187+
);
1188+
1189+
// Update UI
1190+
if (results != null) {
1191+
setState(() {
1192+
_selectedItems = results;
1193+
});
1194+
}
1195+
}
1196+
1197+
@override
1198+
Widget build(BuildContext context) {
1199+
return Scaffold(
1200+
appBar: AppBar(
1201+
title: const Text('Multi Select'),
1202+
),
1203+
body: Padding(
1204+
padding: const EdgeInsets.all(20),
1205+
child: Column(
1206+
crossAxisAlignment: CrossAxisAlignment.start,
1207+
children: [
1208+
// use this button to open the multi-select dialog
1209+
ElevatedButton(
1210+
onPressed: _showMultiSelect,
1211+
child: const Text('Select Your Favorite Topics'),
1212+
),
1213+
const Divider(
1214+
height: 30,
1215+
),
1216+
// display selected items
1217+
Wrap(
1218+
children: _selectedItems
1219+
.map((e) => Chip(
1220+
label: Text(e),
1221+
))
1222+
.toList(),
1223+
)
1224+
],
1225+
),
1226+
),
1227+
);
1228+
}
1229+
}
1230+
```

0 commit comments

Comments
 (0)